diff --git a/Changelog.txt b/Changelog.txt
index 236a101a3095354fe34926c2cea1fcf5e63520f8..2c3258812651a99a2fc8b79727ee9fe7ba704661 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -2,6 +2,12 @@ Pregmod
 
 0.10.7.1-3.8.x
 
+	12/13/2020
+
+	3
+	-lots of under the hood work
+	-fixes
+
 	11/06/2020
 
 	2
diff --git a/artTools/fashion_parade.save b/artTools/fashion_parade.save
deleted file mode 100644
index fff99addc0613992adaaf08951f6766c7f181c12..0000000000000000000000000000000000000000
--- a/artTools/fashion_parade.save
+++ /dev/null
@@ -1 +0,0 @@
-N4IglgJiBcIGYCcCmSC0BjMAXMSDOIANCHlgIZZIyhgB2ESAHjAAzFMAOYyU0A2uFrYiIAIIAbDgAsyAAghg86cWTABbJAhEBRdAHtaetQE9ZASVpYEekRat7ZAZQCuatWQTHbl609fvPb3s/Nw8vYjtfF1DAiJ8HaIDwkEiE/zCgqPTYlPiQpMy0mOTU/Iy44MTywWxZADkKMAMycWxcAmJHcgQcWgBzWQBxbnEOsXQAR2dFNoMRAFlVWhEAeQ4cAzHFulX1ptotpZFHFQA3JHNLTTJ0LBFRR1kAEVcOBaPiRdoyPovRBH04j0fWS22WnzI31+sn+gOBoI+IBOZHOl0oCBud2ID2er3eOwhUL+AL0QJB+PBSLOFzs11u90eLzUbwhBKpKJpVwx9OxjLxrMpXx+xLh5IAusQGOJyDA+KAcFhxFRYGCRKcPGAyAAjJUEaCgZBYZwIWgAFRsKsRtCYWAAQs4sFg5rBbTcANYia2MLAAGToHstbPOWlgLAAdABGcMAdhEyCVZDwSDMTxgUYATOniHhqXq5SRqQ0NDAQF9rVM2TmOS4TWRi7BDLJlHosFI6H0RFruK2i8qQIMAO5ISldnpSGvfesgABKZDdbbUenVIl+1r1IAAGhuRBxrIZnMtYHgpFRiBw9Hgk5ewOcSyetMQ9FqAFZIemwe8iIdIN2iSbTHhWEfBAwD6HZoDYEB0A8FAQ0glMgJAXd8BwX5EPPE0ADE62VSCMNobCNEcDhhwUfp0OQUhQKQJ58HQRDkHQBBpnRBikBUDZD0g+NGgMU0PF+O4IOIHjOOPMA3mEkBRP2cSOH4hBBIYm8WkCKSQPVcRPAUpSpLwZwtR0pAhMguAKE/KTF1bTREIgMhnD6KR0T1SC8EUZzEOg2hpzfZjhCk9ApD0C98BWAdaFEa8+loDRLEQxM3Oi2KhOklCRAS0CYuHLAADUZh1ZUI2zbLh3QXDiCsJZ20Qp1jAACVJPsWnEWR71axqxjoBhLGNZVUCKwRuqNZAfNIEDblkxDR1bAB1FAAwAZgW4hMWcFpRDQ6B0wG05FDW8QNuVbazykYw3Ogg7NuOkAlzCQ6YGu4UzGZFQ4qkk8WlbNNiDUOg9AQCxn2NLwpKsZxSEQ0kIFNZiIakhhThbfYYAANkgqHaMRzjUcgodQKcxC1HB5R8EQk98aEiNo0g8nHKwZ6OFekziG+TiWmwEGQAAVQALy1H84xuJq3MhEQAjddt10Ma0RCQYxSegAa5aQABhUl/pLLVrHCkR/tA7R5c17XKWVocPBLaXTxukC+jqtWgRDEA7IQD1iCke2NdgZ3XaQgywHQO31cd72RDwCXDxAAc20oEQpB9Yc+i+6A0bdrpjCVEsgXIs8/YDtOM9gAcyEYJAoGIIv3M8/6kywAAFXAAWqqTa79NQtXi5kyZQUZEMR/2juIPuyoZpn4vQMq3qzEgguccQGAQFzsxnufNDwEfIWZkAtWCrU9QWlhIO3p815ejepp3k/GY301jBI8+n0cGQ74bf73HET0JMZhWoIdK2hA4L+eB66aEwORRWLNP66j/GVS8/0QaQRgqSMg5UQCIJUEgYBjcwGHwvvxTeKhbi8S4sQAh5BOKiDsusIhhMwDiADJBdArgyYSUXiANsHBL6jyklqB0lNiA8MdOvN6h9eFCKwDfZ+IjHR4MQmZMqONiByOTKfYRiihaPzIM/EAhgEBvxEK0DhaYACsJCWFiMQgYoBDdQEdikpYmRoMUBJ20a/FoIgnT9GcBg6xTdILqjAt8b6IB/F0DID6AyhVB4/FCZgmxvdonfAcXhZAtj+pnhSY4PQxp5FSWQn0CRKCtbBQgFZCyh9rB6BKS2e8mFjLgwVuU4ppTNArFoA1OeU0KlVOsggNWB4sBPD0DrOx2pPaH27FIVh6BHBvimuxcQxhoH4DwHAi2BgrYqC7GQTyrRN7KGwLEpuy0oK7JmY6JuN04BwBEHAf6+Bw7xVoODB6kp/b0JWt8A6yBtngKdm8w52DXnoDdEk9JF4yGFOaqwpQ1gjRqEhuqECCsBqQnBgC2xCCnl4FBSAdwbokDOEkpBb4tDWFa0hLwcpFKfR6GgtjKSSAPDosQoYJMzKGXyyKQOdlxKOTiB5UvLJK8F44o8GobFFALFID6BKzeWp3Q4tIHWeSkqpIhM+Y4CW4h36KxMdbFomraE6ojHqyEBqtU6oWnqqOdzDXasQiVHoSw7U6oYUYeVWAXUWJvO2acs9v54A4DBUOJE3xSD9bqEslErD+xwLeES7FGVJgjd/aN4041WxkpsdhKb1xptjTeK2Sr6AeAgLXA8igpDJRLG5I0RC3HZnICWhAEAfJFxbTW7Aa02bv2IPU3NkU3LFr4X84yd5GXSlOiIBQxkVZMPhrgLA8xaHvJADgQC71X7rNYRAZiMq1nyD3WMRhGIM1TJPPCqSmipDWAUCLdArCyAQAUO+UyzhgUQFJK64ggVgpXjCrQFWQJrJTOAyeKWDhmytmqj+r95sX4y0Fd/S2aoEnrXHss1ZCGrYvt/Bh2BakXGIZAEqPoSyCOcxQ/w3hjMHJrOIwIrAtGyOOhuFW7K9GrZ0EoNq6itAcmQW4/Mvjw8VGb2HJock0AjHEpQJSlajoEBbniopjcABNGAAAWBBimADShhhmmWMpWmtBlfrXnjfAYzx4ujIH6EnamijrNSH00Mw8A1+YyF2v9FomEVADk452JAXmmgYnEAARQAgGIjRamD7T82QAL2HQ5xZaJF7g0WqP6vEH01RwS0M5ayXls1hX+mEzrEkXLm8SLWkqhmqr6EDKtHQA13J2BdNGqmeDJ0agHFIhPK1RMsgADkXMkyyFdB+4KCBhuyDIU6PQpdZCjNRG1dVcgKWEFkHQObIF5UtXm3+rbw3RCfKcOIB0s2DCtU0LIeVwKwwiEYaQIwPptTsRLE97rRhaJKBLI/C4ZsF7LfkMCJscGECyAHNgKQshWh0zwHNmQWBtv0H9hQC4bUPBZLwC0Zb9AodDe3g5JyUPGUgX6LIdbLVAqJgVKYfm0pHs/u+717ABcQBfZe2zxUSA/SBs+yJZwDBTTs5Qc9nrz1hSeWNHZrAubZQSi3vM4wOKurvpQcyFJiE6BwA4sjKSuv9d8Vvn2LLRuiHzGMkFeTuKV2ZOyeL1wDuASFONHDZJ0rXOGfSdKuaAtuEq7mdq4wtdteB5D356YtvGcLPMdANJyuQ+OB+MHhZKe+hh+lWn0PRwAqaF2oweP4yxzYpbG43JESeiLN+MpxWxyOBV6wDXpA6m0zHKUB4MlyBS7tkWC7RCB557/DUHVfOfYi4lzLlvSpxhHBFyJcQOqgxtCMGUMLyF2qCl3lcKLdgfR8mm53+4SklEC+lxVm2OednPJBRCngADl+6ccwotKtW8QdUxbjIyiAxhW670VxWl+AoSBg934RaFtz1j6FtFnwAxslgGnUZWcVji3WtFdFegE0fFoCeEXU6STSXXwCkEQirHODwGwh6VLkQlrhVkv1oV3WHHIPvEoL0lzFc2BVLi5kXxAGoLYPxQgE4MhhtkNQjijmwCtnVCTFuCMHgTdlUABAdFYWtAHEGBwlrgu2hQtWX2IItWnBVm0KNVtEGH0O1XmFTD0gtSeAACljDxA6guYbDTRtAbDRBTQbDHBXDzCjV5h5gbCZpRAapIQ3RXQtQZCQAh9NAR9A4HYSwQ5y53VADUon1jAVhlwIIABfQgUAEgpAXsEsMsJACsSkbIicHCEsOQfbFqPoNzTsCZXI2AQcYcGoscEoqcWcecdQW6FcCTdcZTMFfcCOY8K2c8S8ZZQtcdB8G6F8N8FKT8cueaP8CsDddGG2cCBhGCeA+CMwgaZCKiTaPCf6AiUo3JA4wiJAYiUiXxX3XYmiOiNiJiFiDYhNY3YhVKZ4oyTeLNA4dhNiZ4uSd45STSNSbiFSLSVXASMdPSAyf4qSMyHpQmapR4p2eyOmVeYg9yVEgKSEHye4/yBhO/f9cKQdTKatK9KKLKN6VKCGFaMk5KPKNyAqIJJMK4fjFBSqOgS4tdPQeqRqMo7VG7SHIKSNYgLqbKXqGARPEUnqEaFCdNSabhCZf3RaY5VadaK6HaPaVUo6bY06c6TUh6AaW6Twe6LaFFX4YvN2CdJOAaX6HRQGYGGqWGTeKGGGbrWyJALGA3FOG6OeTGJGZ0L0vGOmQmYmSNd6JACmNMRzNhcMumc07RetXZTmXmfmH2bkYWTUSkcWSWQLdgeWPUJWeWD2R2LlSkKAg2PsEs2WeWIHHM62UCKIz2JEgfN2IsmIjwH2RvLsAOVsr2ds0OB5QuaOK2OOBOJOL08cZvDnLODsHOLssfScifYuSg8uVQMAqCauYyAVbg//DuLgk8diVhIeAeYJPQfuOMm4CeISKeY8IVeeaFZeO8uMo+AA6AfeHBY+J8i+MRbfbhHeDRLRHRPRCBABUMn+GOYCwBdlAaf+QBcjFZIElaZAJBFBNBZBLc582VCxTEahEZQhchShMhA3SCX6OhGXS9GmFhZhDhJ83hIJRjGiwRMTH8qRcRVVUyIWBReAIWOMpRf8s3VxXtEjSi3VUxaisTb1DhLc+xNiiqJxIgl+XRBtTkzxbxEBDk9bIJdbcJfmTStDLc9bHFPJcU7YjJLJV3V/Q/SRfhLpZpOCayppBEhAWpI0K8TpBynpVpdpGPGyxyqrQZH3EjUZOyreCZKZGZeiCPBZOCrDL/EhbUTUHZXEn9XZdlY5fZT1YyXoWxS5a5RRO5MOVYj5Z5LaIFVdErf4RlIJXDLc3DQy6wJVGObhKFYgpiFseddGRFdoIJVFKxNSwFVBLFHFPFAlLgklHubhDEegTpalWlHCyCcnLc1lVSrBDFXMpALlRavlLcm82eO80VXRTCuxaVQ6w+BVGSkgcgZkHFanL1ES7LW6k1D5c1I1GAK1cuIKZAW6+arkcgOgL62DNuCgf6oS3afoBXI8INZAENFAQKcGykmNCaSzeMJNJAOG/NRGzNdiIhOSNGmUgtSzYtZ2MtCtY8EkkgLtBM0OJtImttUtTtOtHtEQftf1PAIk4dKq3Aj8S0qdV5Wddq3mpdFdGqbgZgmmVAhpSUI9A9XdByY9Y0RoUg2/JAcilaaQW9GYG4R9Z9WNWRd9N0T9e1AKfE0KcKIDBE0Dc2sou7ZqWQKonWWDbVeDWK6eRbCDYjanaKwjLLXDT2yjdZfRaVX22sxjZjYOmjC7FjcgQKMm83K4XjVcTAwQHjeHUqZRK+PLCTRSEGGTFmOTFTKwOvHTAujTaAbTBTKwb3F4uAZzUzLUczNySzaunAGzKwUc+SqMpuytSuui4LFEULXzfzYO3u7zMLdLAfZLYqRgeLQeiekgVLCLKLWsnzUrPLanVrTFFoden6CrMILepCCTOrQtPezs5rY+9rTrGXbnPrAHQbRHUbcbSbfW6bWbQ7RbCAZbbeVbW7dbfHCALbHbGNfbObCgBbPAY7U7PHE4S7WQa7Nqe7N0ZnH+bnN7RnQXJBnrX7CK/rQHcnRHOQT9AYQEFQSHaHVsOHCmRHVsCgVHF9DHfk5bawcGPHClQnRHYnOmMnDUSnanJsGQKiZvO7diLARBiXIwUXXnNB0RnnJUfnSSTnIXEXMXS+yXdwPYlnBAOXcGvgJXWPMEzedXROrXbPQ3WgPXOa4U0xt4o/Wei3TiK3VsSpGhOhF3ROxhNQFxt3BearFJbu3JFJRUnPHPLPVapPBZKPSAHPePRPXRjPHPDPYJoJvPBhAvMAIvcS+U0vc0cgb9X2fmavQ6OvCMBvJvFvNvevbMaCBePA3vfofvVdcIhASI8fEsSfZcmfX/efTRRCZfVfdfBgKaZqH8thXfE2A/IZqQEZ7/JMBAc4CAWg6/Roo2v9E2wDPh+nCy9/ewT/LLb5X/f/PMJXYUEA10pqjpKSKAmA3/OAx2RA8yNBj6xcNAloSEROgwHAiE8pfAq3Y8Yg3MRgzQUW4gag+Z+gw4ig23bIvAXgjgrgngwwdg/grgqA4Qlpoc1DSQnrUImQbgRhLARQpAZQ1Q9QmwrQzw7VXQmwwwmw0wmwqwmwuwhwpwslg6Dw1yC1dw6lnw5lvwgI2gII7UUIhpyInspsn2AceI/gJXXZ5I1IlgDIrIwsI40sSEcsaYIo6kFopqO7A8WgUwLJLAOAYQfhWopVhokcCZTVksNohcTo4gVcb+XopCPcIrGtE8HcC8K8BuvsWYyY18d8aMiY78PDRYwFusgJTydY4KhCEqp1lCaidCE4o4/YrCHCc4tHfqnY1CG4v7dSXyB44Kz4n4ohaE7iLGsSb43N349hEtkSEEhC6SOtsExSD57MKE8EzeWEspH6Ry2yZEpyDE1ydEqpzE7yPNpKqCY2h/QkmkjjUkxKcklKaNdKGdywOksABk35JkygFkh0qqfq2qdpJqPktqQU0mCxoaMUhPAaSU4aVGvGiaTYKaBU+aV65U24faY066XafSPUk0k6M6dHS6LUx8RFFvfUoAtOrhGmbmoJG0/6O0+tsGNc50x0t0j0/09GH090v0w8AMmMgmSyEMiW6MiMxWKM2mJyOM1mfYdmZvEsZMgWESDi2ARMDMsWds7M2e5WfMtakVys4CfWQ2WAfjkAU2cnJem2Bs4OPslsoONs5s3J/2KT+Tn2AqkQtFt2eOezeS8c5p2AacncXOec9ORcqfL8VcvZDcuuHxfqludQduK9TuMMg83uU8nJKeI888jDSeQVXagd3z4VThM+X84+V6g+fhL89J983eb86x6LvitZRSwSmC0C3Fv+SBfAKCiCqBfDeC0I1ClCpC9BdC3Bc60hcxwKvC/YChTRQi50YioWgKfmthYSiisS9OuVWi35eiqL6jRijr5ivr1ijt5jr0pRHi9RJ+fipL/RYSx6oS9rqD0S3qlaiSk62S63RLoC5SvoLxfStDXSgJMJCJQ7mJGzkJgy86oyq933PoDxiywbreHyuEia9ympOpVy17ypWyzyqGNy773yorAZaokZbeYK6aSZTycKnPIO2ezZBKgKXZRK6zvq2xNK05TKi5PQK5G5fKgczFYqqeXDR5dab5Dm4FGqt5Oq8FDHAZ7VaFVquFBFDUZFIqlbuJK9Qa864awlFlVQcaqlKaiamaulIi9gJlc7llEKLc5WDayXqSb4c4fleX1yB81efa8VHFUjdbreM6zeJVK686m6i1YxYCZ6w2+bkrW6t6yOD6s4k3hlH651B3t1QGz1F30xUGvoOGwNYNbMUNWGlmqNe9jNb/BMZNIP2AdG0Pp47GnNSP+G2Ugm6m0tctIQUm2d8mhmmjwSwm0tWmjtI8CmxmvtCPqBa8dm35GdGY7m5IavudFW0dQW0i0GEW23B57dWyKWl+Q9WWr7U9Qtc9ZW+KNWypDWh9eKbW19RRPWg2nJ39e/R/MDYjqDcDK2nhWgXVmBh0Q1rEdcx2x2LLG85Df2qJI7g6XLmK72t5WH520jW/rLEOiOsOx0ZjUQVjaOzP2O5OkTFBITeO1OnGUzpSYc62iPOlelUzbgIBxdLTEXQQC+MjMzdeSiQDMyKAvWNyZzLZjbowAO6zmXxh5mHr91xACWJLM7U8x91l6Y9TLKfznpT0B6iWWskmDoEL0MsEnTekD3iTn896JWPeu4GKDH0D6A/c4MfSaz+wz6WADrPT2UZiNVU2DW+iNjGwXBH6n6f6C/RAbBQlsK2THN/TQy/1/6tAXbOuzxyv0wGI2CBi1CgZYArsBguBu6BEas4UGH2BAizm5yYN/sA2IHHg1ByEMIcUOGHOQwRxI5qGXUdHJQHobY4mGLUFhkXDYZZIOGQOdsFTgKy8Nn8AjRnMIy5w9ZxGHOTIWIzFyyM0GzERRhIya7c4pcajH+Bo2yhaMdGKuNXPQA1yExrugmSxhV1sb7AhmsdMxnY2tyONLI9uMyq42dyDDPGa5PJAgNu4BNIqoRXRgk2mHhMY8KuKJgQOTyp5ph8TcPIfBVy1wkmP6FJmkw65PtMm5eHJp2U0DN4CmUAoprOXOGlMS61wkgJU27xyY+8fZKSEK10TGcOcrTafNvA6YL5umK+NfBdn6anNxA4zSZvvksretIRlJc/HMyvygtb8yzKdqs1SGhE8kmzawNsxoHSt9mCRI5hAFAJyoICghUCJc2SLhR4C8jJ2EgWQEoFdE6ydAi8xQRvNOanzOnN83kquQ/m5kAFrbmBaIi7M/zJYtmFYLws+CAhZuCrGhaIsyRd3AcrbzELotpi0hMmHIVxb4tCWGgNQsVTZZGpSW+o8lnoWZZUtmWNLZlnS2ZYMtmWjhZwqy2zDssHRJAC1N4V8L+FQYgRYIoK3oARFPhIrWIpHAlbaME0SRFIj8jlaZECwHIOosq034FE1WocDVsaEnBatacjodiINi7B78IesYs1k0VbCWtYA1rDosuDtbdESwjrXcAYBdZHg3WZ4D1qMVvBc0JiT4P1jX0DbzF/wbfeUYVSgiRtEI0bBvNGnjbHEU29YZNocSIg1YyIITTNtRDcG5scSrESthV0+I1tXicfCSEW3LYSQNxGkVSKEQPGgkNx+kQyO21kR8jgqtlXtiTg8h6Qh2UyLEmOz2STsAMRJJKLOwQQrtF2aUakvO1pL5QC4A0LdqnV3bsl92XJQ9ryRagnsOoIgG9pewlK+ipSd7MaAWkfYZNZoL7V8m+zrRAdwOwSDUgRL/ZIQdSgHT9gaVA6USIOcZD6JOlg5/QAYtAIGIh1Q7nM54LpNcgjBw6cUMY2HelHh1I7EUiOrCCjpTHI74d6YvXeMj2hfywAGOqZZjqghFiZkOO/QN2lbG45BJlYfHY2LrBtjlkjY1RNajWVnpQFlOvZBTu7Dk5WSOyRnAMTJxdHgQlR4FNhFp0Tg6caYenEjAYBnKKc84C5FpkuWnwVw1y+gBeJuRV5AsdyjnPct3EPJudjynnGSReVnbXk1ew7VXreVXiflQur5cLjPg/IySMKsXKykVK1AJcFK23FLt/DS4fwQKmXeXtBQy6s1L+9bArvFCK5oVopFUnXuV3pSQQBp1XAihVxIqro3GVFMSWYhKldcPMoiWaf1yZiPdGMOKJRJxXG4yTeKU3LbkpUsSm8FuQXPLJYikosIcUlATbtVKUoeJduy1Dnn4gO6/ItKJ3J6XpV6mXdvGxjRPHknu5+NpUK057l2ye5vdNAzlepN3hBkIBfuZzRpADx6R+UQeQ0oKkcNbBhVZk0wh/jQPh4Rjkq47dKqlVxkZVzkYCHKrj0oj482eLyP5MChJ5fJKqVff5L1NqpXd6qEKOngLwqawpmuhpLqr8h6pbkeqQ1OcCNT56kppqQvQXhABpSi96u4vBAItWl69TZe2sTakr22qZSdeYqfqcdRxTwNFUl1FVJvGN4vU7qy9B6qag1QO8beNqT6h71E5O8/qds/QG72BqtAvePvSGkWgD7hoE+0fMYk8RRq410JGNMPluI4BByEaMfC6hSlT4k12MFJWtN2hz5U0Y5LaAvrwCz5JzmgglZmuXyHRNoR01fcdJ9B5pN8G+tkRdMuhb6QR10obDvmuC7598e+MtfdOowVor8L0I/G9GP3vRa0X0HbWfl+mRGL9Tay/C2iBitrpieMWYo1vv2IaMCgoJ/d2gVkxnEYfa7Uv2sRnv4byX+TGZ/rPSf4OR3+UdeOSlG/7CYE6f/OOinRZJADrQWdGAKAOtChsQGSmKAXALKZl1UEemAzFXRrpHhUBFmK2J3Rbp2ZPJOAxAV3V/k90Qsy9EgUPVgWj1F6s9JgdPQYEoL56VAtgSvSNkFZuBnyXgTvU8ACDasQg1WBwMrw6gxBFCvCOfSkGlCshsgm+nwwUEP13QKgmbMA0dAaD36Wg+hj/U2yo5DBQDEweAzOyWDrB9DeBvYOQbvZP8uQtQIuLkGeCQcBDcHAfz8FkN4cTkShsjhoahDtBkOCIbjiiEE4Yhd2OIaTgSHcNkhtOfhgziEYyKshSjZwegzyG84ChriooUgGyFO4yhqjJ3FUMsA1D+EdQ86gY01zNCLG3QsXoIBiUm4AKNA9oQYHsY24nGboX6QwmGGO4po7uT6X0AmGxs+gUwrYSHiCabDQlkeC7BE2mHLDKl6eNYaUoaWZ4KloTXPH2LKgzNUmT5UKlkwrx4QSmlw9vDcPya157hHeJ4dU1nF1NB8voxpp8J8k/DOws+TplwR6bAiN87MiESfllhjNrGwzHZQmmmazMQWN+JZiPLRH2KNmBgLZrWTxH2cDmEHY5muX2yQEbYFI65mgwYB3NXF9cpAMyJ3bnNsC7I6yl80IK/MOQZBK8aG0FF0FhR0KiFuKNpSSjYWMoiUTC3lEotByyoqJBizVHvQNRChFlASxUI6jiWzLQ0Y6KNQUtTRRhc0WYSNHiArRjKm0YyrtHMsXCbhZ0QVRMJctGVPLT0Xy29GzLh8/o2yaKy/DBipWP+GVhGPlbRjzgsY/IoUSTHVgUxSrOQIFFggJh542/A1rPNzGmshw5rZouqtaJzgbWZYkAPax6Lbg+itY6eEMUbFALxiusKYv6x9ZBsFiAEUNlAQ6UDipI0bTTFcSzYJtxxKCfCKcTTazjX81xRcaW2XGIlC2q4ziPuLLayQK2pbKtnuIvHqRG2AJQ8aeLbbNsRuL3Yij23hh9t7xg7UgP537Gjtlxw8gkhFB/HxRW1UfP8SpIAnZQ12G7ECSVEBU1yMQEEkJgex5Isdj2t2U9p1BQm3tjK57UUtKWDliQUZUgKYUtBWjvtf2X7YiTRLIkAcLoe6w0mB1IlPQZJ9Eq0j9CYkIdQiSHJ0pxPYmQQeJgkzDhAF9Ivq5iwkn6KJK7ikcqY0HCmFRwTLyTuYfMRjtJGUmsc98uKdSfui455kdJhZcVSJzLJCdgZ9tUTtWXE7mTJOjk6yXhvslzkCN/ZFyaITckjltOnFCciZ0zh+TDOc5RZSFPM6VwAoVnLcnZzbi7ku4LnNVElKpkpTDhV6bzleQC53liCGsvKS+TfIRdipgm6LkdPERxcZNlUnaVdOS6tSSw9U7Lk1NR5BJapbUmBHly6lIBkKxm5CiV2Pha9sKg0uKlVwMA1cqENmu3NXJZyN92E00xbsFxYp0UFpcmobmVLdzSJzq605OOxVEx+auKZUKqS4hm7LcDpliOMidN6nSVN4F05xIBWul+S9u70x6TtDQzaVIk+WI7vtyO51UvpJlaVJktu4AzIZ/3bpO9xcrEcikcM+8NDO8qQyEZAVTZGMmNal4oe6MppYsh3lw94qOMk5HjJSry90e2AM5FlRLDY9cq8APHn2J6pUzienPUnvTIGjVUmZVPFmTT0aqnV6FrkRntzM6qs8BqaKXqYLO57CzeeCvfnt3gpTiypZs1JzQtV6lLUZenKFWZ9q2q9SdqgXDXtrJlS6y9exBA2ddQKzmyze4gGHQNXN6WprUdvYGo6l+q0Bgazsj1K7J9Rg0E+vvKGv7xho+zQKfspGomkTCo1fZIff2ZuN3Hhzqdy62nXnxbRp9K0ZNROZTUbSpzW0BLOmkX2z7ZymaZffAGzQLkc0IS0ZEuXX0XTlyF0xkKuaulrnt9xaO6bvi4l76tzKh7cofo32vTq1e5k/fubrSmyG08SKIpfpbUR5W7UEvDbVT/luz6td+T2CHAvNdq1kPaw252uvMM1X8sZgdL3Y/3Dp0YD5weyOmxhjpJLr5v/HXNHsvl3zJM2dWTC/MgH50lMJdL+a/MKUgLkBZ4+urTpz1YDKN0AXAUgPwGhLEF9A0gY/0IGUDkFztVBVXsYGYL69WWZenvTXo0KnqOC8rPwK7371SF7ckQVQpaz96uAEgi+gwpkEpRmFQ2e+koPYXP0uFC2TQZ/UMVJCjuegoRYA2MHqCLwYiyBhdisEwMbBt2aRQoscHyKXBGDW4rABvoqL8GYOIhh4E0Ww5tFeLIISjhCF0p19xi5hmYqJyWKUc1igYDwzsX05BGTOBRb4skas5fFnimkd4pgNT61A5QwJZo0j4hi2l9QiAI0MshRK4lzxWPfErND7KuhzxVJX0Ia7OMRhZFKrVvDyUWVCleSEpfUpmHbDWlujBYZE3SbRMVcsTdYT8DmGDadhHS/YT0uOHZNGseTC4bXiuHFMZDdw4ZY8K7xTLXh49SCB8NHyMazOEXf4V0ykjrK+mm+cEfsomaHLROeyrROYeg1n4ZmF+IUYs3N0XKn8Vyv6X0CxGkg7lMq/EZKyeVEiTmR2t5eSNgJUibmkoOkfc3FoArXmwKltk9zBU/MWCkKkUTCpoKOGwWTBRFZCtlFSjIIcLZFRivOZCFFRZG8QpTqkImB1ROLIlQrxJVEs9RVK7VJSucnGjKWdKxlRaMZXMqmjthewraKZaMrOVzLDluaL5W9GBVNcr0QKxFV+jR8xGuIpxr8OJErmsreVdkSVUqsExlYZMbWCnCaqjAtyJ1AVAsW/59IBqk1lOHzG9bCxZqvsCWMXBWqbVlYu1U6xrEHhXWTqkYi6pbFur2xrquYj+G9U9jijoEf1T3ijZmE9U84ioZGqTYNjw10ajkjCezYRUE1fkFcVmrXHpq+IuarE/Tp3EZqc1JagtaCVJPaQ8Trbc8SSZhJXj4SZayUFWrrX5y61XkbEhiabUrMPxC7Ntd2opJLt/xxJHtUBMK2gTB1FUYdUIEgnckOcNtOCUKUGiLq+o17Wdb1FGiRy5SJebCQHg3WoIt1JEndT+wNPakD126qiXdDVK0Tz1MHX5HB2YmsTb1j6x8A+sCMRH0OuHV9e+s9K4wpJwZJQKGQA1BkyOgZyjjJOo7ZyQNikwWDkhUlsdt6LsTjs7W0m/JdJyG/SQJz6BGThO6ZzDQS2w3O0LJCxthEWc7JKcizanVFjivcnYDQtqcIKfpzo2zklOOhtpmFMs6RSUeq3ZuLFIQROdoOPGvxHxpjYCaluepy8lTMB1ia9IEmkqRfDC7ybJNCmlaX+VU0xaapGm2AFpu0StSsu25xqQZswwdTuphXEzcV16kYUrNdml4sNPs2jSnN40silNKmkMUR0PXCLW+eWlKaGDQWkbjkjG7cUtpk3TRNN2277S7qCWmSUlt012Izp51NLcgIy2CUbp2W6Cw9KO6ndvgBWjC2QBK2hIytqSCrXd1oPuGatLWxEs1vq2gyPuTWwGS0jaR/cvulF3pED38rXnkZWEyHgFGh4YzA9WM0bcj2R4EzxtRMubbAAW1kz7kK2rFGtreS0yKqPybbYzNQulVqeDVEwwzy5mN8eZF2/mddq56bweeo1R7S9pe3SyKuH25Sy4jZRKyftQyVWexHVk5SRU51LWVrx1nnU9Z51A3obM4GhI4dDvebmbICsWzEdr1ZHbajtlo7neJs13tjrtluzfU+Oz2dDTDQRyk+mNcPlTtJ007yd2ahndlaZ3J8edbOjPgnOL7JzudzaXne2gzmc6S+YREXazQr7i6GZkui9aXPr7Ndq+iu4WqKLYSq7G5cGjXS3LlpkLddXcg3ZqAn5Xop+A803fPzfGjyrdDCMeZPMOP/RyAJxv4WdBYgu6D+bupeeUfP6rycMN/Xi1vID2+6vaNAw+dlSD2v8I6x8iPV/yj0/9L5set64AJknACk9udFPQXXfnl109sAoG9nv/koC66aAgvZgNbrF7S9UCkHgQMr3ECZ6ZA2vUgtYEYLmB8CrG/tCwU4b2BZWNVHgv708D+9fAyrGPsEFD6x9og0fUTdoUT7jt1+6fe4Mxxz7FBE2RfaoOX08KP6S4dfQIvoD6DhFu+7hfvrMHiKj9ki2wQ9gv1yLYDrg2/cotwaqKn9vg0hm/ooaf79FP+8IYwxMW/1WGFiu8ZwwpygHbFazDmJAYyEs3pGfYaA/kMUByM4wG+ZA1kv8XS4muQS+XJgdqEh4cDeB4igQeSUvFQ7nQqPSQcoO25xp9BtxvQZ4ReMmD0C9w6wbaXlLjGg27g7Ut4MrDmlcTIQ5we2G7CoI4hkqb0pOHSHbhQy8prk2rtjLlDneLKaCpqZ9AZl7wuZU03rORwmNehufACMMNAjjDWysw7COlTQjj8th/APCNOVOGf0i1y5es3cOeGcRxGe5W3EeWoJgCARl5aSNBPQFQj98r5ZEd+XRHnm4pm6HEblTfJSAXIiFaQVSMCj0jcKhggivvv4BcjqKz+5itKMad8seKqowSpqN4tiV2ojBOSsZUtGeV4gGlYyrNGdGGVvRno60b6OMt7RXKzlu6N5b8sQisx+ZfMfFWBjxWSxrA9K3DGsB1jirKcMqsTFii1VextMcYDybnGcxlxvsNcZCqmqGHVrC1aWO2TliG5sAKsc6w+N1ivjnrMYr8cfDuqOxX4LsSG2CPhtMSEJwcWYRRghrRxk404mGqnFnEZxyJkcb8HjUJpE1BbHEy8XXGUm6dRJrgp8T+JWPjx9bRx0210iuRi1rjtRAydxQVqn1TJ5u+TVrX+O2TL4zk6iO5MklvxfJ38VSS7VCnV2IpxkgOsTpskpTo6qCeOtQSTqBS8EhdahPnWKnUJ6p2UphK1NrqcJuplUsacHi7rLT+63UlU5ujUTanZ6iLe1cYm2kWJ9pUGE6e9LQwenz67086bfUCTBnkcX04R39PEdxJkZEM9JIi3hnPkkZsDUpJjNQa1JCZjSbWWTMFlyF0RbMyZLDZZn0NJsLDU7Tb24bCHTkmyXs4lVNnuylzhThWexXkaPJY5byd3YM53OvhpnVsxZyrgdn2NPZlaH2YtIDnB4Q5jzklK87jmY2k55kzOffNzmCpC52c7Js/PlTny0WxCw1MASabf4OL3ULuf02w8EEx5szWecssXmyu1m2JTeYih3nYlD5prm5ta5uwZp75uaf5sWlzP0XgW4bpeL/NhbIOXmtRFFtXPYu4t4F9l6OagtdmhpsF1LXJV2lIWstd09SrlrP6hIsLr04rTltK0szytt3eg3klItMW6ttlMGZ91hlMW2t5rwHv0lYtYUweq6tGWibYMnX9E/FxHhNoORTbCZs2rHjjzyrkypLhPUqnJbJ4MyKeu24FKpbZlgiNLbVLS+dp46Xb2eHJG7QZbu1GWxZwvCWdZRF7mWJellr7TZfWq/aS3/2yy3C+cubxXLZXdyySNjdeXIdRvaHcFdh3w6reVs8K7bJivsAHZGOp2e6iBrxXcd3vJK37xIDey0r+NDK4HMZ0ancrYc2dyHMqtE0Srp8+mlnM+Qpyqr6c7d1zoatZXRdzV4Lopbau19p0surq5XMa41yQTYtRkYI6fXq7GwI1/vjrqVp67R+d6Ka33J1owlB5Zu+exbqWsTzrdEH23egCYerxdrDteeSgsXmaTUMx1866deBQeuSEl1w85vKti3Xd5b/D/lu5sZx6wJJjT67fO+v3yQBye23K/MLpA3P5cAsG0gNrr57G6MNsBQ5kgXHhy9yuZGzjbRvI38bDe+ekJ6P4t7MbBZsLB3pJsM3u9hCvvQp4H3GQyFw+0+mProUcy3FvWJhQNhYXz6ubU2Hm6/VX0C3+FugwRQAz2xi3QGB+iwdLZP1SK7B8t1Bq4qkZKL79qtx/T4I0Wa2AhOinW9/roZY4Db/+9+uYvYZWLyciQsA1bbSGOLHbJQmkVI3gPO3ChbtlxR7ZUZe2slPtkJdgfCUNDDGId1oU5vDtkHI7FB3oTHYGE5LmXCdxg+4eYP+McJg2jOyEy4PVLFhIeOpW0oEODaNhmdtg6IZeKdLC8Eh1GX0tOGDK5Dyhs4aMtbzjKKmqhiai8NqZvDNDndhZd3aWV93VlgI3piCJMPbLoN49s76fmnv2GERL98bwvdcNL3PcHhm5diO8NJFfDWBwkcSLp6KOPlYR4+z8ppF/KYjrIq+3gU5HgrkjD9t+9KNnuZH+R79qFuirlHSjv7+9rFa5PKMAOsWhKkB3UbAe6iNCBojo70dge9H4HvRro0g+sLWj+jbKwY70eGOMrRjnR8Yyg8mMVRpjuDju6KoIc3OiHUq0MasblVRiNjSrGhzsfoepiraZkbVMOFkBPIDgM81h2ODzHGqCx44O4zw/aKPH+H1qisUI9ePVj+inx91t8fQFSPfW0xAE2M6BPdi+rfq8bwGs2I4CNHsJxNhOIRO6OkTGbQx6ibuIYmk15jwk7iZpP4mbHofr4sSY8cNtASR4xtkWupOx/O2iJG8ZWrvHMnHxEbBtRyfOXNrwnX4wU5+P5OdqMoJf3KAk83ZJPWSkpjkmOtlNZP2oCpxCVDRu4FPb2RTjCQcFXXrq8JH7Wp9+wH/Ac6nFE2p8er3UtPRzbT209es6dsTXTvTriZvAGcYchnXptf2M6/W4of1YZP9ZJMA1hngNdHBScs+jPploNWZTZ/Bou2pmbnKGwyWhpE5icznNAwsw859jXPGygY0s/c4F9OSnnLH1jhXnLyTrMaNBs2zgApb52CldDHuxY03UAF16kONBzl7N4pMFxPJ+4fjShdUpYTQnMNZcTScsFNe+Ck1CpUqVRcYuJii/NMXcVwEoCXOqXxdtNdNzAQWpfcxJdEKU82QRyXHqUpdSufBBpdZZSrjq56XWrjGl73VzSfN3oaVxFdvzV8181RzD82vgqA3hDWlRuIVwm4xXYC2VdZuQxCldPNY6RYRTpDhHOklXNTXcRVXXC0CQdXLVxek8tXV0ssPpCynycfpYi2e9TXdP2tcLXaiwhkyLKGXosYZeyh8DOtNi2dcOLV1xh50PT1y2QBLb107MOeabREtA3RbSONJLF4lW0Y2dbQ3o6ZBS1KpKeZt28YDtdSxapNLZniRRU3XS0stM3crHxR7tXlFzdJZUyze1YlCyzlcWYRWUstlZOyz+01ZAHQ1lgdNy1B0PLcHT0hW3XBXP54dIKxNlLeS2RNlrZFHUitB3THRHd3eftxBpErUCgJ0vZYnVXco5ZGkp1tg2nTsd4+AqyXci0FPlZ045DnXKshddd3z4+dQvkzkj3XOVPd85c9wFpi5SdBl0+aRvm6sxAtdEfc3YAa3hg33BwA/c25M9G/cJrHuX/cjdQDzfR5rUJ0t0IPFaxt05AOXyVADBJX0RwZAbMT2tEPBvWQ8PdFeQiDSqLDxIwcPCjEI995MgTD0nrT/gpJz5AAQvt/+G+XC1RzH60fk6PNPUY9v5GAVLoWPFO149c9QBXQEnMJASL1wFEvUFD+PcgRHom9A+XRs0sVvRoFG9FG3QUxPZgVE9znQm1Xp5PYrAIVybIhWMASFNTxpsVPE+moUzQ7Ty6wr6fT3Zs76Tm2UEl9Mz14U19Sz031rPAwR30DsPfVMETsKW2gZYGM/Vc87bS/UVsb9HNhVsu8NWz89iGV/UC8P9Khi/00cPWzC8ccCL2NtovYA1i8bFc/hSF7FG2ycV3FHITtt0vAXC8UsvEoRy8jANAxlwCvP2zYNA7Ur1aVQ7YgysZElYjFDto7dJTjtslcym4RmvZ71a8/cdrzYNOvHPGztBtfrxiZGlNg2G8uvYuzEMulA4XkCK7KQ0oV67VvHkMRlWQ2W9G7SZXW9W7du228+faAMLhe7dpn7sDDSCCMMTvEe2sMx7KwxhELDOwxOUMjBENNoEvDERSQV7d7z2YHlAkW3sfvU5j+9D7akVuZkCAEOfd/lc+1iN3ma+0SNuROhxh9wWKgmfsFmBHz6tIWdH3yM0VQo1R9liUCEx8yjFUUqNcfYBy1FSVcB0aMUHKBx0ITROB1J8UHanxQdkHaB1ZVejdlSGNuVJ0UwduWD0SmMhVGY1585jSyVucgxEh2lUwxNYzF8qHPsEl91WaXw1VZATCGA8WoFh0191fRohuMtfbh2LFeHPXy6JBHTcGN8RHAYnrEkIZ1Ut8A2P4xt8rfL1Qd9fVFYmd8VHQNTMIAADnd8I1T3y8jETfRz9842Ix1v10TfNij8o/NNTyso/ex3D9a2eP3JMXHeIzPENxVP2vEfHRk0z9/HFkyCdnxRtXz8uTdtUic4naJz35y/Bdl7VgJYqGZJknOv2lNoJCdVgkp1HJw78kJFUwvYl1DUxKdtIvv03V8JPdSH8zTf9nqcj1JpxH8p/aQJn9rSOfwdMHSRfxQ5F/Vfw9N1/EZ039AyAjhElJnMSXGd/1C0kP95nY/yTIz/JjlWdVJdjg2chrLLG2deONMwOdUNCshzMX/Q/jf8Lnf/3w0P/ejTLNXoqlXU4qzCjQlDdOD50bMoAls1Ck/nVjUQDLLZAK41nOHTyPIsAs8hwCYXDKUICCAvzgXhFzec2U0iAkLgoCBuKgJXNNA0wMYC8XNyX00iXVqTYDUEMlyvRjzCzV3hLzIQKworzBzXpj+hFzR/gWXHQLa5MY7zW645A6QIUDLAFaWUDgtVQNFdhXPLG2l8Ytcz2k5uPVAgsItWV3ulluYwMukpYlVxUoLA7IKK1rAnSisDvgDWPwsnA0yga9XAqgNotweM2MtcaLSGVtdGLWyiCCnXHrU4dUZfrTdc2lUkOxlogla19doLeIIDcSZcS2DcUgx5DDdqZMqk+R5LcnjdBcgkFH201LdmUTcmec5hTduqLFAFl9LKoJFkHtOoILd83J7kLd3tYtxaCrLNV36oOg7lC6CHLHoMIC+ghtwGCm3GOP14Rg3y2mCLePVAmDW47vWt5e3e3hWCorR2RWCsdUdxWCErPHXWDkrInVStF3dKzD4F3Y4OnjY+enX2CirKq03dLgwXV3cbgtOTuDarK4I3jj3AdDPc3oC9xr5pda9y+CK5BXV+DldMmEBDX3JuWGspaMEMH4IQq9F/dx+AD2n54AVSPfDAMVa0g81+FjmUjVI2QHUiEPV/2Ixj+FD01dw44kNDj3Y8kKM1Q9B6xD1qQ5BPD06Qs+VesL5cjxaFKPVkOkD2Q6TE5DoBN+S5CM9fkMRlRQkzAAVIbF1SoTQFGs3hs+PFOyRsKBMLAk8brBUJYFx6dULQVq9ZUKk8eErUJ71ibLgVJt9QlTwptd6Km0H16sWmxH1xBSQR080vW0PkEjPR0NM899czy/pIcIWz/pt9Wz29DxbX0PMFzsAMNP1Icc/RDCFbDz1ZwvPDwR89vBdRVjCAvd/V0VghZMNC9bsP/VMVIvQA1NsQDDfT8s8wiA3SFCw+2zDCiwvnAy9yw4oQLgqw1AwCVawjA1DIsDXRkbDIlZsPK9YlSr3bCuMbJJSVavbsJcDXNJryTsWvAUMmERw9O2mFhDNgwnC2DKcP4MZwgb0LsRvNpTG9PIMu3fNVw/pW3DSmLcLrslvMpgeEm7Z4UPCtvPtB29tDPb3PDtrQ70HtjvTZTBFLvXZQnsPwWERfCHDO7x/jHveSWe8fw2enXsXyL70AjF/V5XlF/vI+1cVvlCCP6soI0H0hhwfdb0h8kjHkRSNYfHCPh9H7JH2wigWXCIRY8jDMyIi/7CQlVFAHGmDx8KIho2J9mjRiOgdyfFB0p8mIxBxYjafFlXp8OIxnxQdmfXo1Z8qfdn2gdOfNdG58fRE8KLNiHBzlIcZVch3SIZImMQl8tjFVSQizibX0ASZAaUFuwnQDgEPRlkDSKNUtIp2J0iZfPSN19bWA3yMjhHd4zMjxHJsW9YbIaR3+M7I+Rx9VFHcE1ghVHGAAABOTyJ0dtHMcR98/IucX99jHVKFMdQolNQ6EHHcxzkhIo6tgcd81PNXj8k/JKLpNLIVKKRJ0o6FGz8R2dk12tcosJ3yji/Hkw7UYnEqMAl6ScqLnpKo2vz3Y0nGUyPZ6o7Jxb9VTNv2QlWotCXaie/Diy6i9THqMH8anEf2kBTTBpwn9mnM0mtMS5dp3g55/R0xmiXTbiSWiFo3pw39m0laIMtd/WZxmdto2MiP85JE/1A0Uyc/zKJjo+M3DgzomgQujczPSWujH/W6IOd7oiTnrIizL/2k4FOX/1EjAxQAOIjNOGsz+jwA3yUgCN0oGOY1wpNjSQCgXVBBBdoydAJhjhzbAIi00pHzhdoUY+8kIC0Y5FwxjFzALWICsXWgMJjNzBgL3NIKZqUYDyYzqSpiOAkuK69eAhmOZikZRmIZcBAplyyV2YjzS5ihuHzSWk+Y3mIFilAn8wFdlQf83wTxYoC0SVYtQ6Xi0pA/QMkpktBVxqgTA1WLMD1YvV1CRsLbV1sCzuewLQwDY9v2cDjY6rVNjatW2McpLY7wJtc/A9rUCCWLShMCoQg0pzCCeLK6zw9IghHi9i9kSbR9j/XTHn9ig3JbRDdUg6S3SDZLDbSyDI46OLjdaeBNyKCk3EoN5kUUVOL0twYIWWqCc3HT3JRc4jzNe0ZZF4maDFY4uO+1y3ToMrdug6t16CXLA6n6CdeTy0bjlUKHTGCO3e6kSzu3GYO7jUdBYOHcXZMd3dlJ3QnWnctgqeLncZ4vYMKy13ax2zQJIJeNODirC4Mz46rCq2jl93beMPd6rJ4KasXgo+LeCuaU+IFo5dJ9TvdWY6+M3QoItXXvj33R+O11wQo2mH5X47uT/dNaGEM/i4Ab+IDTEQgBORCoPOQA5T0QObD0AeU+gkvBcQ8BKLQCQ2ek91lM2sh91cPWsm3kLspBL3kUE+6wez0Ekj2dpmQmPQo9sEqjwi1CEp+XAEP5QGx5DgbPkNBtKkqzDY8aEjj2AUuPRhKlCWEivTYS5Q4T0RzuE6gQgTxPVG0k8NQpUOIx29fvU70VPMm0kTDQ40MPphBeRM09LQpm2US4DVRMM8HQ7m04VnQ/mx0Sgk74C30bPIwSMT7PSW0P1zElzzltrE9z1S87E5W288ow3z2cSX9VxO1tEw3Wy8SjFcL18SMwoAzNs4vS23RECw5L2LDdPUsJdsFGHxWy87bGsO9sUkhWDSSwlfRhK9Mk9pJbCTGEgwjsOwgpNoAuwlmIyUSktmLKSxhHxjByWDapN0Yxw+YR68eDQTT4NVhecPDy6kjpJLsJvbpXLtJDPpKGSdwwpgUMNwkZImU1vT5gmSNDKZJPCT0g7wHtrwoe1vCVk0ewsMLvMvKntjlbZPQjdkz8OuUP8X8L/x/w5Y2+9zkvewIiD7K5gB8bkk+2B8z7DAjB84IiH1vsofd5OQisjVCO+TPkllOR88IoFO4IAUlFR/tSNUFIqNMWao3kJ8fWTEJ8IHXo1ojqVeiIp94U10VRToHViItR2IlB04imfbiKNR8UpiMJSLUYlKbQcHMlJEiKUoXxWNZVCh3pTFVRlPjFmUhVVZTdI23TbBnwbUCNttQMgGMB9fQ1SuMNfbSKLEZwfSPFTnjI3x3BTIs3wbELfSR2sjFU2yPwK7fYNlVTexZyI1TXItME9xriPVPhMLI3yIuJ/IuNSCiTHIPzMciDS1LD9Y/Q4O3FOC6PxVRoouP0PE4ol1Ksdko+kyBk7IL1LRJAnJ8Vz9/U5wwL8g02Jwr9g+MNJ/Eyo0Uxr9wJVJxqh0nRvyTTm/M9iai00lqKVMu/B9mzTSnXNMqdeowtMIli0waPH9howiVGi8scaKvUOnKaO6d60vpzmim0viSw53TTinbS/TEmA2j9/WZyA1+0/aKHTDoi/3Wdx0qBNzNU3O/0bIH/QTnnSMNRdJw1l0j6OLN8ijdPLNf7b6JACqNHyU+dAY2ZNgC2zf5xrhAXezkhj+zaGIhdwXOGMfTcA2F3wDpzd9PIC94UgMi5EXNF0UCMXPGPIz1zfcyJj0ufc1JjWA4bVJcoMrgOgziA/qX4C2LRDJED7zX4MmlJAjmLZc9AzrkdAsMnlxwzsMvDIxchY38yIy1AwCw0Dxi6WJ0D5uOWJlcDAujKMC4LRjIlcduFCyLiNKXWOO4dYzjL1jWMxJANcCLI1w9yTXITJ8C7XHpDEzYS1rUkyESzQHtjQeR2Ih5FMwbXdivXdTMEs/XYSz9jsqAOP0yg4znhDiMg7vQjio3KOJjcG4iiAKD44mzMTiOqFnjKDHMioPTjLIbN1Fl3Myam8p84poMLj/M0t3aDbLcuJCzK4sLOriIszXlrjosoYNcgm40RL8txgsLC7cW4pHXeoIrXuIyyB4pYJx0csseKndA0ArLniisgORKyzSsrJ4L8rVNBytqsleNqyyrdeKUoWdaq350Hg1rMasxdV4Kb53g1sE+CsAPrIFoerVvj6s/lUbInTNdUay/dpsn9zmz34xbLmsn6EDwnYwPX+OWtkqFENagwACAq1AoC+VFgKjsh6IgTTs52nOzrs2eiuyKQuHgQS/dBjDD1KQo+WI9I9J3LwSr5dsoT0H5IhL+t6PVPRITmPUHNkyc9djyhtOPMUNhsJQphJcx4cgTxRyOEhjC4TNQgROxtMclcrxsccq2DxyVPAnL1DtQrN2U88sGrBNC5Es0LptFEyfQSTr6Azw5s2FEzyZytEl0Is81sKz2FsDErnN5sJbP0L5zj9QMMsTgw3T1DDbEpWwjDxc4HElzn9Ehn8E3E4L08SwhVMMiEjbKL1VzAk+L01ywk7XIdsSwp2zLDEDCsPiTjcpJNNzqhesKK8rc3AybDbc53NbDi2Krydyo7IpLdyew9xg9zE7b3K9xfctrwDwOvWpKLsqlaPBDyuEMPPztBDFpXaTZhGPO6SVwhPNm9FDGuweFFvZPJW8VDfxy1gNvNu0mSwiaZNPCe7WAPmTC8pfGLzlko7VMN7w8vMfDJ7K72rzbvWvNWyPw9EQbzblI5J8MW805KQBnlEkX8Cw2K5LAiIjIHwZFHmaCMHynk4fJeTR8t5NnyfkuHwyMoq8fI/sUfBfIKNAUpFhKNV8qszBTSIzfM1FQHSiKJ8SWE/MPz2jaljPyLCdFN6Mr86BxvycUu/O1QH86BzdE+I7B2FVhI/B03SnJSlISIyHaSIVYGU6hyZTaHYAuQKts6YC4BBKeAvYdECoVOQKHjNAsN9jIzAulTsCiyNwLmxIgrbFCCz1RVT/gsNnVTESaNgjAKtGgoNT9UrR1TYjU2NSzZTUxiDYKLUiPy4L4jG0rtSY/B6sdTgSZ1KsdEosQrdTy1LxykKUSDKJ9S1ieQrxkF7Qv2Kx21eGmXYonTQsScY0nQvr99CxNPoZp1BCVTTlTXJ078adDqKFSbC/UzsKjTPdUcKx/EfzLSRoitNacbTCaK8KunIdV8Ll/NDl4lazFtICKma0Iomdwi39SDMtokjl7TdomIvo4DoiDSOi4zGDVOjkiqdLSLiyHMxujjJbItOcSyrcqejv/K5xLMHJfIu3S/7H6LecwAqcgBjj06ot+d4A2DDBii4iGLiluNFoswD709otHMn0kTRfTAuZGMC4P06TT6lv0ygNGKH4GgIoz9NKYroCmA2xBYDYKeYvYDTNSDPM1zzWDNwp4M2zSECmY0QNZidizmOfNuXY4pfMf0/sIIzaTQV1Fj1As4m9rQLGWOW5EtV4sssUtBjJVivi5C2WLlSywKBKASwrXWx9YsEsNjKtSEpSQ3Aj1IotPAxrXEyfuJEpEz4ZGTK612LBTJdjwgu7Lv4cSwmTxKtMgkp0yiSvTOSCnnAnj1AieEzMyCqSxS2jdLLZmXyC446zL0hTtZN1ZKU4q7Q5LnM27VcyeSp7U8y+SsywLj5ZT7TaCi4suPstleKUtfSa4/BEbcBmPIIh04sttwSzJgtuLVLksjUrCstSvt1TK+4odz1Kss4ePHcPZY0pndSsnYIp1GrNQpODQ5ReLQbmdM4OJp0+V7PqzrgxrJppmsgXR3clKNrJ9LOsv0u6yPgs+KDLb3S+MGztqiMsGsIMaMs/cpsvEhmyEEN+MN0ZrY3SA94QuyozKkQrMs2zWoEatoRiyg62SKKymsu90zrSeqyxbsystQTnspspezWy/JPbKPrL7JIzxMGj1+swBf61ISBy8hKHKAqEcshyxy6HInLuPdujhzEbBHNlDVQ/hMXKRPTcpSxVytUKxyNy6T2ES5PMRMJyJEvLCkTiFGRJPKj6CnItCjyq0OkE9PGfRvL7Qu8qfpNE8W20TBbV8v0TOckRR9CHPMxN/KLE62kFzAKmxJFyQKrBjAqvBNRUgq4wmCrlyQveCu8SlcpCv8T4hbMIttcw8A2tsMK7CpS9MKhA1ds4kvxVy8KhE9DNzN7dJOK8KKm3JCY7cloQdy6K/JIYqHGOrxoMBMz3NYqBw27iHDilf3KDxeK8SpVwGktpSaTw8guzEqI8hZE6T88JcKm9JkGbyrthkwZMUqlDWuzGS1DTbxzytKvPINrfhFZQMqQAG8OMrwCLfErzRmdZIOUq8mezfDxGvZJP8Dk17y8NnKj71crDmM5N3svKi5lAjwjWkX8rIIwKseSgVUKo5FwqxCOAKoVFCOiq7vWKtny/kxfOZbkWEorckMqjfKAct86FLJVqI6BwPy2jWlWKraWMqpQcKqi1CqroHXFJQc6q10SfyjUF/NJS8HYVnyKOq5Yy6rRfHqv/y+qwAoGriiNlNt0JYR5hsBtIzSJNVbjUApmqnjOaqlTTfMR3N8JHVap9Z1qj1QVTiC4E0d8nIiNhcjXfRWCngUTWgq996Cw1MYLjUgKID8lxG6r4Kwo61Iii+CqKO4LXqmKMLUPq9x3iNxC91N+q/Hb1NkKc/P1JBr0ysGrrcIagUxULSoqv37U4a7pzjS9ChNJglkaxqNb90akwszTinKws6jynfv36iiJAmtqciaw9WcKLTMmrFjN4Dwrtxqahf2Q4G0lfxZqvSfiWCLWa8ZzWiOavfy5qD/XmtHMFnWjliLwNNMhHSRaq/wnTiMCWqQ17/aWrnTZak5zzNjsgyTyLnoz/1VqiNdWvZbhyMoqZrqNXWqPSjOfPLgCz0k2v8yza1AItrEpK2shcba6QLtq8ApGJ6LX0l2oGLhivLDICcYz2pU1JYr4t9rAM4mJ3NQM4DJy47shYrDrCOilyLiqXPgKvM4MohHjqtixOua53NFOo5cjinmLOLDik4vOK+XFQJzrItUdsIy/0ijLAsni6jPwRS6ouPLrHESuv/TvimurQs2M/4o4zoEnCxBKyAXjO+kjYvsJNiMXM2ORKnKLwO06bYjwPtdLAR1zRLweUKnHqlMzRvUbp64S1nquzX2IXr5tJeuW1DM8ko3rKSyN23qaS3er2196+NxMqE4s7VPq+ZdkqLjKgrkuvqs43kue083bzKLcn6ktxfr/Mt+oriP6ouJrdNZSLLlKwdf+uGDAG0YJVLEs9uONQQrfy1SyoGnuJgbdS1MsHjlg1MpHiJ3I0ryyTSyeKtL0GzKyqycGmxw67N4whvZ06s3eNdKCGg90obHg70sPjC5Tmil1GG3rJYbm+JXXYbb4yWjGyQQibJPRYyvhvjLJrBbOEbYQmfjEbFClZjNpJGk5GzLjWmsXkakPd3TOyiQtRpoFqyxBLv46y66wbK0EnRtpDXshkJZCOyoxp47HeRPQ5DeyrkMByGPaxqBzWPahIhsocjAScbYc+hJnK3Guco8aFy/DyXLfGyej4Tm9bHOCbHo/cubjce0zKU9KbM0OptTyo8vPKtPanOtDGFVJrtDWFBfXvK1BbJqfLWcvRJFsvQz8pMT/Q0poFyEGNzycFqm8MNqaHEiXKcTGmmXMCEWmuCt/0Om6IS6aYvLhl6bgk/psS8oDIZp1y0vHCv1zpIfCombqwoivy8ZmhIjmbyKoOx+gyvEgxorU1NZtRqNmtJSYqPc+Oz2bykwcM4rhw7itHDTmu5uMALm3RiuaRKobzaSveh5uSYnm+POm9K7dcPeaFvOb13Dvm/cKzzplTSq0MdK/bwvCFkovKWTQREytWSoRHPrhEbveHzryHK5ezRbV7TGkxaN7ACPcqd7TypAju865JpFbk+kRJamRGCKHyQVBI1eTqWyFkZbF86fLpa4qufOSrUI1ltSqvojlvXz8VSFPIicqmFPyqbCRFOgdkU+qpKqjUC/KNQJWo1ClaLUGVugc5WrwgVbtUJVsEiefY8I/y1Wr/M1bf87VpyIAC1Vil9zgIarhwMcRgCbAKAUBKFTzWzX2mrUCm1slSTIxaodacCp1vlTWxGR1t97IhRzIKfWigr9aFK/3yDafI0NvTZw25gpzZgosQnYLsTN4jjaw5J6oEKk22KKdTU2wQs+rBCzNp+rJCnNpkLq1H9Gyi8/A7sDSonXk0KisGqGsKiYa6v2rah1WttBhEahtvlNjC5tvydm2iwpXUc0rtu6jh/QiT6iGnAdp7bSa1wvJrp/Sms8Ka07wtprp2vwsbTF2+dqCLGaoSSDMV2gMx7SCObmvEloinPiWc4ioWoSKTopIq2cENFMzPb0ii9syKr2qshvaFau9ttgV0p9veiH2kjXH632vdPecD0yov1qD01PtqLQY+oovTGi82qhjQO9zjaLjGseARjRNeF16KhikgJRcchpc1xiva9Dsk7MOsCmmKQM6CyDr8OysuI7OA8OpI7/Msjso6nNOl2o7GXbYro7WXFrgOLclJjvmkWO3obY7FNC4qzqhXDaQAsItCWPuLBKATtlihOtbkMCdeeCy0CKocwKU72MmwIU7m6/JVbqiLHZqhLNO4TIM64S3TsHrESrym07USpGXkztIzEvddYEj2JiDbOuIO0ziZReqSDnO4OLXrw3UzK3qcg2ksszDtSFp08YUWzKTiguhzPPrQuzkuIpuSyLtvr+S+gAfrBS+LqLiRS1+rFL36xyy/qZSkHXlKcuxUry68e0ro7ikskBs7ie3crvSz0QdHUWCEGurqQbcszYJa67Swq3ndLS1kewaF4rrrwbl4jdydKUoEhr3i3S4bs9KGsmhvG6JdE+Om6y5WbtDKH3cMsW6nYYEO4an4xWjjLIQ+bOmsEEWaxN0Uyha3TKju9bKkaAE23Q4gmAN/rxZ4POeVvakMRRpu7LOu7tUbHRi6zIxYEgj3uyiPE+T0bUagxs+zGQtIb+7uyv7IsbuQkHpBswesHLsbIehxuh7K0cUJ484e6UK4TkeoLB8bse9HP8avG2LCx6hEnHpESZOiJrrcix3vSJ6jyknriazyhRIp6lEqntZs79NJrp7jPTJofKmelnNyb3Qt8oKa7PI7F5zHPfnNlteeoXP56FFexJwYRehpo1toK2XL0VWm6XrTDlc5CoCSemtnLxxlehxVV7dclxQF6ok0ZoNz3bQiry91GQ3uWNje2PQWamhLJIt77ctsP4p6Kmr02biknZsd6dmtivyVDmtOwDzPe8cODyc7UPLzs58FpOnDbmxJkXDJvMPpeaI+gZTkr5vWu0+aCmZSp+aDwxPv+bk+39v0qrwwysz7TvaFrWS8+rZJsqkRJFvryS+xvIxa/wyvtbycW2vsuSCWwHzuSQfNvpCqO+tSq76kfXvthV0I3vqwiEqr+14mV84IZIiuW6fp5bZ+vlthTxAQVpgcj8pFIKqTCVfu1R1+7VE36t8bFOlaaquHQ0mGq/lX4iufE/vfzWqz/IkjhfH/LpSb+zYz1aH+kApFSzRkzW6BfhNhxLAOHCHh/6xUv/odYAB+1sdVHWuVNt9XW2R0BMSC7aqd8YBvaq2Jg1WNiOrTq4NrhNpxMNouqFxFgrNTo2u6osdzHcKLwGE2+1MELnHEQrTbk/DNu+ru2bNukKHxPNt9SQncRuLaWB1QtDTiojQsraKo7diqjeBmuX4G6oxtpTSM0kQbRqxBzU07adTbtoadZBwmvIlB2kmpcLT1ZQbGjVBidvUGaaiUzpr+nOds9MVpz9SMHv1daM5qzBjdtDM+aqwYHSozeIoPbL/WDXFqnBnZxnSMNGWv2c5arwaXTfB/ItXSVON6L/9lax51fbgA0IZ1q+wCIZ/agW09PbM4h8GMvTlUEDtc4wO1Id+6EETosRjX0p2sfI+i9GLdq+ijOvi4C6pSlKGtzEmNw7iXEOopjFi+oe4DSOqOoQyY6wQKo6kMl4hQzxA3YvQyXzNOu5c0Zobk47ri3OtuL864of46i6w6RLraMsuvozxO9LUk7q6jWI2HASrYaU6VOwi2NcO66ErNczhqi17q9OgeuOH7wK4biobhoVLuG3Yh4es70qZ4aORXh0S1JlA4lespljMmmV+GPO/4e86CRsFAPr/OpksC7Sgs+oDqvhlzMzjagqLrvqBSgQL8yOSdEaS7MRlLuxGgdXEaizsuukty7DefLogbTZMBvJGEdEkc1LbebUsq6aR6K2q79S7LLWCA0cePyyWRvNHtLiszBrqn548rP4LuushtjkiGteKobc+IbooaxR0holGOsibsvces2Ue+CBs+bsVGRszhulpVu+Wl4b57fhtVoEyoRp1GRGuEP1Hdkv+I2zTRuQCVBy8DtDATvBu0cJC0PW7rXlnR5RvUanulTKG5Q6T0cesWyl6zbKfuwxoDHoZgd3+6ey8xr7KAbMhIjGs9KMfBs89WMbh6ExlxqTHZymUKIFUx9xqIFlyzMYx7cbRUIzHFa/HsLGYFxTwNDDy6rArHycqscpzEmynuSbry2nvUTGcxnpX1mejsdCQOcz0MMSOe4pokVnPQcfCSgKnccUUxc4XvArReqca0UZxjxNoY2mxXIXHOm2IWXGFe1cZpxPwrXLV6sKrcY8UYkvCvGbkmk3IN6SK1JP9sFkDJMvGqK68ZWbbx2sk7DGK6g3dznx3sMTo3x5O1ky/c93pqSRDPirCZfxycNztZwoCeaSQJ2pMkrQ+npJkq3m5PI+aY+9PNW9VKnvBQn6mbSvQmQWzCbBajKrPuBG8+ivLMr4WgvsRbGBx/BInUWsiedpjkzezbzcWuvspEG+8COb77k0lqYnyWliZvsCCCKppaOJtCNBZuJpFWH60ffiYx9Pp3FXBSyI0SYJ9cqvfJoi5J6SaKr6VUVvpZMU6/LUmd+jSf37eVLB0FU38lVrFVAhxYypTJIkX2v7gCiyfv6FIx/sNa5AdwHRAhAARgOyxgcaqcnJqlycNbrW/X3QL5q+1VEdvJ4Ad8mrffyYgGtqr1rBNyCsKYOlA246roLYpvR3im/pNAddjrqkKJja+CjKYJMsp56o+Jk2oQpPF8p11K8d3AtKP+rc22gfrUC218SLblC8NMz4y2lFfidI0rQu4GJTVqdWH62jqcEGZ1bqfb9RBrGo7acayQbzTpB0iRGn+2saYUHJpx6Gmn3C2abtMb1aaK0H6a+GDWnma3QZ9Nt/ImC2m12naaiK+0g6d3aVnOwbHTEzc6IunLo89tnT3B26evazJGT3vb3px9sKK1aiZeclBJ3dOL190r9v8lIh74XPCYhhAOBnTa0GevT9yS2pSGMAwMZhmMhh2qnNspODqRnP0lGfyHmZiqT46Ji3Fyw7yhwl1xmyY/GYgzah6Toxi6YirlaGqZ9JUfM6ZhjvkDOXGQPTqPajjuFiuOzaUmGyMkCweL8yOYZ6GYLfmdE7BZmuU+KRZtYe4z0LOTs2GtY4EurW8LFur4y1OxOgOHCkLTsVmdO5Wa7X9OgIKYsNZuTPRKzOriwG17hneY2R9ZpHhiChLdKkJLHOj4YMyvhmSytnN6m2dDiLM2OL87gRgLpPrXZ4LqhH/MsLthGIu72YRGGgnzIdQhSwOcS6OSZLolLUu/zPS7v6qVDri/66OcJHY54kdVLQrO6hSzDaWYPTmcmWBrpG4rRBsNL85lBtNLORiud2Cy5xPnNLK5nGl5GHS/kbrn+ul0sbmedUUaFHqGsbvbmpR/0o6sb3HudYa+5uuSVGP3ZuWHmxrF+IEbJ56EJ26lslbJiXwPY0ZO7pG1Zc0B1l0wE2WLu/EKu7yyh0f3mnRzDweHD5nRre7z5+kKwSb56+a+6uy2j0B6By4HtUxQet+eHKP54UOhsYeuG1cbhkVhKR61y7xpRzQFnMfAXeEyBbzHcc2T3xzdQ4sbgWYNRBfQhkF8hVQWEm6rCSaUDLBbUSGchns/Kcmt0KIWPQ0W25zex78v7Hueqhb56r9XTzHGzbepvVt/PacYl7ZxqXv1suF2Xp4XumvhbQr8wwZtEX1euA017MvSRZQNpF48dkXzc+Rb0Zzx03txRzejgtUXaKvJJt6Hxu3q0XmKr3PfHXeo5uMWvx0xbOb+KmpUsX/x6xa965w0CfG8pKvmN6TZKtPLcWYJ2PtGT4+lux8WxlmZKiG5kgJbWVglnCYiWYW/Ceu9XwnZOIni++JacrEllysom3Kjyt+9aJ+vt8qiWhiYHyWRZifiNWJqlvYmZ8vvpiqftnifny+JwHYEnKzCfpx8sq2ox3zml/ls0I2lxfotRl+0/K6W6fNBw5UBlrScP7xAY/tGWWq1Vp1X1W6lKkitWuZbv7tjRZesmlIkimwAwgWQArQjjeFDNaBUi1uFSlWA5cMiPJhaq8nBiHyZ+M1q8AeVT7fKAf3tdqyEzTB1HSKdDVnlmKe8jffVAcuqkp75cwHbq7kfuqPiG1MzUVd/gv3EQV5x1ELyBoqe8cSpmFZoHWTegYULQPC5Wqm52Vgbqn2Biv04Gq25qdjSR1OttqjMnQwpRqMa5qK922o9trJRn2QaakGe22laLT6V0tMZXTSW+am7L1OaftMFptdB6dZonQYMHVpvlfWnVozadXau04M1MGhhvnn5rT/Gwf3aWOUdNFqHBm/1SKXBqWsVXMzJ/zuj5ah6baqXonVaKKX2tKpedvpthAqK9a/6a22aikGItWopEGYSHgOpIYhn7Vkc0g7YZzIYyiEXeQKRdXa5Dvn3EO4YcKQxivNfU1JiwNf9rZi4OoI7Q69BCWKaY1Yoo7o6ymc2L2h2jrQyk104tkCBhzOqGHBY0YdFjxhx1dFi/V/Naoyi1+VxLX/MsTvLWJOijNFn1h2tYln61xTsbXQSnYZbW26/YblnDhmEq7X4S3tdVn+1u2OHrgg4db61R112N0ZsSqIKeGZ1/ErnWHOsSyc6l1sku+HQ4iNy21bZouL3r6Sx2Z3XnZvdfsy2eNOMvqs3U9ZZhjLGLovW4uhWWstRSoLPFK0RqtzS7wsut0y6f6t9aap7Z6OS/Xa639cCtE50kf/XU5m2Qq7gNqrvn4c58Dbzn1wDYJStA+VroOCMGk92Lm2RzroqzbSyw65Ga584PQ3nShub3dyGmqxazxR/DfchfSouQYaAyphuDKm+eUYqgFugeaBDlu1Ucmzn4jUdmytu7UZWhdR0RrnmkWheZNHv4FZdoRqdzwFp2hAenf42j+MsqywlGh7uv4xNidYDo3R8o+PmqQp7K9HnrGTcvm5N/0YU3qPe+ZDGn5yxo/l1Nn+U02IcmMboTwc+McnLExwY+YSEegBbgVjNlHvTHrN8zaRzAmqzbRzoFgsYU6Vj5OcJ7pE4ntkTKxsnurGqc2scwW6c28vp6WxvBb5s+FF8s7H8mkhY/LRFPsZKaZbIMIqapGGhdHH6F8ccYXJx5LZYXUtthYMUMtxCqy2TbHLfNt+FkJIGakvYRciT7bPce16ythJIq3KhE8YtyA7eZvq2jGJZuoqbxlrbvH1m9raoMr1bZvU7Skp3vYqClXrc/GTmwba96fepYSsXWkibcD6ptrpMcXpK8PrXDoJhbej6ltjxZUrxk9bdx3dvPvbaYMJ3bewm7wp8PO8LKjZOfDjtmvKInWNxe32TbuQ5Ku2K+k5Oxbq+oCKCMHt9Jae2m+qIweTcl9GGeTKWwpe77eRAfv+T++yfOh94q4HaqWHTzvJBT0qyfohTZCGfqaW5+ilTh2ZJpfraXmI8/LFa2Inpcqq+lo1F36eIsY2GWBInHbP7DJi/uMnv82lMjFzJ0naAKDW0AoyOhAXlMOzGdhAsFS9lq1t/7Dl21s8mHVbnfOXedl1v52iCyAdILhd+5dF2yOXVKl2kBqNXOqPl+XfQHWCn5dSnY2nKfV3eC1KcTaXqogbeqSB2PzIGU/A3ahXPU43bKm4V4JxyjFTq3YKjapyGuDSI09dijSxTFqZd2+B/Ffd3OpoQbRqepjNL6nsaiHlxr80kfxD2HCsPaGjh2pQaj3x2tldrSOV+9W0HZ2tPd5WU99PY7ShV7PfMGpJSwYjNDpwWuL3YzU6bFrHB2/yr2PBjMyOdn/BvdyLHpnVeem7JV6ab3VOWperMDVsIaNXsL39vNXjay1cA7rVtALtXkpB9Ntrp9l1ayH3V/IeRml9vmMGLeXX9IxnN9gNbKGd9kNbmL99gmaI6D94mcaHSZ2OpjW1itoeQyOh6/bpmGZ5jrz2H9n1dWlM1tme4686j/ZmGeZ54ukCFYjkn/2NuYWaAOq134o1dwD+TvAPthxwJgO9h4k6KVO6rx27rRM04bVm6LC4a7XB17rVM7sDhhG4ssSvWYIPcSog7nqSDt4YXWJLc2bTcV1sOM21NYnbTtmP1h2e3XdeZm0eFig8Ef3XIR92coPPZmoJ4Ps4vON9mkRxoP9nr1/qiDm71kOYfWw5vagjmsuwYPkPvLeLIK6k5oroOl1DyBrTnoG7Q8zn+47OfpGcmeruQamu1BtMPcrWeJg3ENm0urm3S1eIw2XDnrpw2BunOS8PK+Y+KI3AywI5+C2G/ucCrIyrhtBCoj9UY27NRxMqY3kyufnnnMyjjaXnZAG0jABcz49Fd1Luw61Q8/LUkPu76yjZAk3T5x7JusaQ6TcwTGjr7vk3f+RTbMbn5Do7DG1N1+Z6PbGrTdoSRQ0Y4nJnGiBT/nxjlMamO0x0zbR7aBCzYWPUc7BVCa/LfBUc2omo0Jiayctzd2O0FzzYwXvNo4/SaTjjhTOO36dsaC32ckLfZ67jiLYePKFp46HHKm4XLePQKhhcS2Yw6XJS2gvSXvYX5xwE4ANst+XtBO8t0JMhPCtkRY16xF3CrGbDcysMPGpm2XCq3Zmy3Lq3KKzE5UXolNRdI9begk+c1tF+y5fH7L/RYqTDFritXQBt0bzMXveixcaT6T4CZuao8iSrAm48pxfZPE8+CdgmFK9xcQnVthI2zzfFwFuFPgW/QzFONlEJdSvTKyU8O3cJo5QRbTtxU+Ravwt/FL6m8z701O7t4CN1PPlXvOJbsl1vuCq8lj7YKW77O09pbbTr5L+2rTmluZakq5fJqX297H3qWId7fNzpd8mHZJ8F+v04R2AzhSaZVgzy/NDPJW8M+1RIz+/Ix2YzvSbjPc88/vx3L+mlO6qSd3VoWXVVJZazP7rmsXDgwAflILPmd1yctVSz//s52Kz8yOGIQBvydrPNqwXYbPO8kXc1TFYDyIl3NHb3xOqQHs6veXqC7s6+WXxYPya3Nd/5cj9AVggbHPhC4gbBXSB9NtLUgZOc7+r+2AGvKmgahFZ/i1zrc9RWy/BqcxXYap3fhqaojJzlMGorqaVNzz8wrJX/dscBvPqVw004eTTJwomnnzqadfPWVyaPj271SGBnaGaj9T/PJHtmuMGpnTaN2mlL3lAL3B0vdsg1S9o9vOn4L3Z1cGa95C/r37ptC5wvY4fwbem103C8Huvpgi5+naNb9oY0AZlciNr1yADo5IgO4Fyovkhmi4g7isei/S6EZ3KQ9XF99i7YuV95cyKHph/2r9rGA3feqGayiNaP3I6yzWpdT9smfP3HNS/YmlOhvYu6GMMmQMZnGOx/fwz+XbOvUvs10cymGN97QILXi6yCxE6/9staMuELStZYzIDzWOekwDpuqlnm11TtgP7L9te07tO5A7cvfAjy6GevL0etuHzOgK6qO5MtTJnqQruzuNnEgyK4plory2diuzM6ks3XfOqzKdmj6jK5ZKsr9g6cydeQyxvqTLGLuRGyr1EeFLb10uOquxD0LIkPpSqQ9lKZD/EaSuFDnyyUOU5g6Xau/1+OcA2erh1B0Oq4Qa+9QINww4Lnmukw6mvrS8w+rmZrlDdcPa5vrucOj3EUebncN1a4sPaGjuelH/DmbtI25u3qwo2wju+KjKjrtbtHmJ2cedQRBGxjenndur+P26Ld5tSNGV+P+Nt0TWq+/yPlQwo5oFij76+vcyjl0Z+vKj0V87BGyv690aL5/Rqvnmj8G9aPgx4hIByX5kHMjHejiHs/mBjwvWGPf5lG+THBPbG+AW69KBb8aCb9csWPibuzbCa9ytY4pvSc9T3ib6bdBYOPGbmnt82Mm1m4C2CFzm42wuxm48KbjE8hac8/y8pqFuXjqptFuhej44lupcqCp+OZbtLbluATw2yBPMwtXJzClewRYK2tboravoSt2JL1uCK3T0RPpm426N7TbkxgvH8DK8bgfCDHE/UXnc13M62He3RdGEett27d6Pbqk69uht8xYEq/xoSoAnBvcbaDuFw6bdZPZt5xcj7XF7k7TzY7zPLW31DRO5Ej/F1O6O907/bezu8J3O/z6Tt2ysLu4llU9LvyJ5vJu2K7mvvu397HysJaDT0+yNPG7k04pbQVNibbuSlm08R8273u6XyijZ07wvOWqfo9PGlqHe9PIHX046WEHZHYxTUdriIwdozxqpGXmq+M7x2NVyVSTOr+syaPu5I/qqsmhqgwU0Q9wG+4mrCzi1n2WSz9ndtVn705crPlq9+8uXP791vrPgp71uUdYBiIC2IdUoB499w1RAdl2EpwKJ7Pkpvs812Bz7gqHPbHCT+13xzlNvQepzzB8vFIVj1Nwe4VzKLkKiHqqeRXS28h+hrGp6NOoea2g87amjz+h+TTTz4lfTSWHpnSvOA9pUiD3hp+wtIl5B8Pf4emVwR6rTZ/SdrrTOV5ad/OF2/8638NpnfyAvc97tJ5q9prdr2iBaovbUfD2s6bgvK97R+r3rpy9uVXPB1VfOd1Vsx+MetV59p1WNa0os73P236Z727H5O8Bm6iofatWR9tx/BneNSGYdWo9qDq6KYOt1edqAnhDuxjl9rr5GK19sJ4qeAM3i6if+LvfZqGRLk8wjqeAxJ/I7yZ2NYv2ZLq/YkDOYhS/6HFHrlxQ6M1q4tf2o98p5WHKM3QJyf9L/qkMu10CtZMvmnsy5rX66yy46eWn6WYhK4D/6Xlm5z5y5OGe1oZ77XgZaTIddZM7y5ddJn8dYlfNZ2Z5s75nl4fnrwrsg8XXSS1epiuaD+K6Ut6DnzsYOUriol3W7MnSxC6j1mEe3puD+MkKuvM/g8frBDyNdzM5eGq6ricRl57xGo5/WSJHvnn9Z+f/n39cBetD4F76u4Gga7A2GRiF5rQoXsa9he2uya7sPYNiT9muCG+a7Rf6rDF/cORur0pxfJR1q3xfiN8+Pl1iXsMtJf9rweeo2++NUY7laX/XShDtuxl+Y2WXtMpcNUj26/SOCPk315fSywTaKPhNko9E28MaZ40aRNl7u0bpX97p9GLGP0dwSfuiG4B7H5oHrVfM9eG7/k+j7V+RvdXtG8lCMbgzZNf2E418R6QFvG5VCgF/G6teCbNY93KHN+15Jyqbp1/c2XX+m7derypm6bGNE1sfwWOby4+C2A30LbIX7jihbDerE4W5HG7beLYf0mF7461tfjpMJTeEKtN8VvgT5W/Vy+mnN/Vu83zW+K3tbrXqQMjc0t/17Kt4JVIqzx6t/RPGttoWdzHcvE8txNFwk4duhhFitfH9mopQ/HjmspW/Gg8wd9G3h38bcDvvb4Pr2Ep3pDrm2XFgZPnfhkxd68X1Ko8J3urVXXel4TTuw9lLyB213eEALzuUSwLurL0O6x7yKUqpx2Y12w1O/hm1OkLTSWNd0b6feQCqDdze2Td3gib70H6H7y7uHdyZa1Sxwio/UIiAHzdODS2yqXp3Em8/WZY8OwMIs92g+5VSXuW/RXuLLHg+bPk3uJKX0mG2yMeky06qB92J24vmPuZO1PuFO32Mivn7g911UA79Cd0FxjV8TO2/65Hzcmj9w52JyxlSPOysiNZyVSdZxuWjkTuWoU2bO6YEgewDxDaoD2sB4DxQGAn0jaGA0xMonz+WuAwBWI52ymhA1QeE5zk+CUQU+tJiU+RuzwesK1N2wNURWluy0+zA1t2pDwxWO5yxWBnx4GRnzxWbu1M+RhSJWTDxJWvU1YevfkpWthQLSfbVD2JaSfORpHLS7nwYknn3mmU7S/OXKyfUPK38+0j2XamexMG4Xwkkoq32m4FwlWw6RL2cX1guFe0Q0SX0Quhzjr2C6VQuaq3QuaH1k4Le21WEwN1WoOxCGVjy72/0VsezZnsef7SBmVXwouNXyvS7j3H2njzf2Y5nSkM+zfSTF26+/RTyGpwJUu6+z2+WMyAyOM0qGYGTDWlMQjWx+2jWLQykucazdyCa2Tq8l1TqilzTWG30GGrM22+mly4ulTy/2h31qeBl3qep30AO23GAOLT3FmjdTekd3y6eMs3bqT3wQOCsyGegzzQOjlE++r33VmGBwdiPl2diOBwnqQPxmeY2gNmYPyNmEPxNmxJWXqKzzSC69VXW7nVoOG6wBGW6x2ezBz2eYIwOebBzTcHBxOecIzPW5z0lklz18y5VxCYlVzueIhyxGlP3Dm1P0jmjVw+ezVyAarV1JGfzymCLPzSy8wQ5+oGyHiPPwMOfPyg2Rcywaov3a6SL012yG3GuqGxRepVkFGK12ReW8Vl+Lcz3ibc28OdDV8O0exV+zDSJewRz+Ce10744RwpeNG3W6Y8026Rv3iOqCESOs8yuuKRxuuq/HSOcgLKgCgMgAeqmd068wUaW8w+usCS+uz3TFepIQ9GWjTqOGCSbe/vz9+gfyVeSmxD+KmzD+FCQRuUf20245SGOcf2nKhr3nKKfwmOGNlmO5r3mOlryJuOfxJuJYwJ6CCzLGSC22OKC1puHm3QgXmwr+Hr3pyXrydCj5Tr+OgiuObPVIWvN1MSrfzKa7f0jeIty7+7xwS20YXjeTTVYWg/3+Ow/3TCS4xBOE/2ze6FWn+c/3zezinn+pW2LeuvUSSR4yROFb1PGVbxaENb2Dsdbx3+qzVa2VtwP+j43t6Oi1P+zt3P+4wgpOV/wWQgeSzsvt0ua/t1sWT/37e7Skne4EzDukEw5O/SXkqqeR/+e4SXe8dwFOKHyFOpqz0qO203eYAOz6e73CWO72gBB7wVOcANRERd0cqb3jPe5dzQB7eTxa7yjomtdxe2j73wBz73yWCEW+23d04mZS3+2FS37ulAIoBwKRoB4O25a9ANA+jAJ9OU90g+VPjnuSk1QcAxnQcIxg3uiH1jOyH0ABqH2y+IgI1aYgNmWEgJw+lk3J2T/SEAqYKeQkUgzBKgJ7AagKQKGgIfulHxeM1H10BVZ30B7rSuWAuyCmtyyUcaxF9aHHwcKCAzbOfH07OlgME+0D3NSvy1SmCDxsO+A2k+3gNk+FJgweBUyweafmU+1A0XOoQI0+q50iBNu03O5bW3OfaiamOCRxWSQM5IJnyb8nu1bazD0Kc2QIkGgeypWwe0c+10Gc+xQJPUbnzokQjy8+n5zEe35wkeoznqBozhkeTQLkekRVz2YF0WcEFxi+wtRgu5eyTMcq2nSV0RS+Sq2Oc6X3zMmX3GBlkIKKUwLy+MwIK+HewWBxXxsexq172VEMNq/7XIuLj0oudX0HMDX0n23j2dWvj1g67X2Yunq1YuSHSCe7HU4uXM39WqXFuBOHXuBeHVF0jwMJmzwISetMSSes33eB832pmslyW++xRyejGDyeyaxY6T+yKeYwyZqpT2kCu3wJi+30E63+2W4iw2VixlzhBpl38yfxWu+da1u+l3ybW0B26edlzbW8Bw7WRw1xBb33BkKsxGegsMJBP3xHqWswxKAP11mbvynWPrliCtILCu9IPIOMPwtmLIPWefww5BiV0BGhQV5BzJRA4EIyOeF9WFBePzGo56wuepV0lB1zxvWQhwxGcoNDmCoLquSoIau9cTp+ih1gWTPxUOyhxK6XcSpGeoPOEWc10OYLxgsvPwhopoJheIv2mu8LytBSGyOCgv3waNWScOjoMw2zoPdK9wSxewugV+BGyV+m1wCOcoyvioRy1+IYMOuYYOpeWqkjBWow/il1yHkCYOO6SYPXAcgGchFwFch42GUBe/Egq2YOu628wpB+YKPmZIXFeHv3w8UrxLBZ829Gsr19G8rwD+N8yD+D8yhuofysacNwro78ybBSNx02rYNh6Br3/mWNwCanCRmOSxz7BnjUx6QTV7BsOmHBjmyJykTUL+Wx1iaU4Oqw5PX2Ol5RLClfxwW/m2ZyFxzXBDf2uOTfy3BXPUeO/5WeODgijeh4LFusbxPBYvWluCYWTel4PaamW1H+Gb1QqGuXy2j4ILewzWEWsJ0X++t2X+X4PLea/zkWDYTRO5t0t6OSV3+1vTAhPQgghrbygh3WwMWAVCMWPb2v+1Jx/Gd/z9uY2wZOGEKD6DixwhbJzwhEd3cWi2wXeJEL/+CdyEBwAPT6WEy3eEp0sqkAKYh+73lOZyiPe52xPeCS2QB6p2SW1E2veneVve9EyyWjEyfeWBBfenfS+277x+20kPhU3dwB2lSwUhTpyUhFjzqWmVVUhkOzHu0OwkmUkxYB2qER2XhF0hC9w36nANUmhkJZ8xkJ0mTVSEiFEP58MwIJ20y1MmqZ2w+eRFw+jkOWWsgBqwYhEsAivgPAWIXioqvk8ht93UBxZ00BfkIwKOgKWqb9wuWfO0MBX93ChJgMihdA2ihKQDMImYFbO0U3bOdgJjUXZ0SmQn0V2zgMrmYnweqEnyyhDqRk+oKzyh8nwKhin2wexUNKmNaiXOZu0LaEQKiB65xDS1UPRWlfkoeXAwSBjUN0Kh5xSBrUKbaZ50yBF5y6h1hVyBeNXyB3DwGixNUIkigwEeo0I8+VNUqB3n2qBvnwC+s0OWijQOC+We1C+OexaBK0J3a0X1UeG0MSKMq0nSO0MlqgwJumh0NMkx0MeiWXxemkwJmBre3y+eFy1qoAUWB4Q1K+KwPK+DjxehGwLehWwLBmY+3q+E+1ouU+1+h3RTa+iM0BhgTxX2KxUuB/X2uBG5iG+cMJyuVQ3hhgl3DW43xeBqMMkuGxTSeC3wyecl2W+vwNW+/wI4uD+yBBpMImGZT1zWe31mG1T3likIOO+0IOWGlMPhBHMLrqCnRu+yILVRynVRBD316efMP6eSB1cuYsPcuDFlGeRIJM6/3zJBFnSHhqmSpB063Uys6wx4kP1NmJJSiuzIJ+Ga63ZBCVyR+8h2rETB0zu6P0yuAoPKC0I04OGcXyu+Px9miI1i6xP2fqdsODmDsIp+n9UVBXUleer63ee7sK+ensMZ+6pR1B/sJ1K+oMyy3PyGujI0a6zI0jh5oOjhloNtB1hyrmscLmuAow8OpDRl+HpUzhpfGzhnoLxeecMJeF8XV+Co01+wYPJepcN1+x131+lcPOuJvxrh1XQe8lvwbhVtGSR27BRwmIRV8dvxOyDvwFeTvyFeJIXE2g8Od+nvxPmo8ObK48IaOcryaO08JaOP2VMawf3nhdYMXh6rw02jYK1ezYMcaG8L02Cf3cwSf37BJmw8aZm0PhmfxVCf6LPhNr1Ju4iXJu18PLGk4Jpu98L2OrryfhuuRfhfm1OOPr1XBuiTyaG4NuORTRb+ob13BAFX3Bnfzi2R4J7+XxxcSkCPcSF4JTCsCIVufiSVuWYVy2SCLVum4xn+0Jz1yb4IPG2CMNudYXwRZFTNuizWIRAgVySuJza24EI62R/y62pJ07edCPdugTBv+yEJYRqELYRAd1Eq47xDwL/1Lsb/zlQH/1neX/zgmMdyER/JxXeoiNWBop1ohJeXohUAMsMsLRsMVlXzuh7zYhsSyURiANPeapwomqAK3sWpz4hmAJ7y2ALrueiNEhBiPEhRAMiqpiNKW5iLIBPd0UhLLUixbLTsR/9mHujiNHuYAnHuriIg+wrU6Wloh8Rykz8R4Im4Ba91qqQSImMukwEB29wBau9wiR+9yJ2tkNkicSIch0gKf6PAAYYJgByOYADyO+ZxI+d9x8hfDgKRxyzeMXO1fulkTwKBgI2qTH2MBaqSbO/93TAw4gjaiAwShED08iV1RgeWAyc0ljkHO8bQ8BQKziieU3yhEK3GRQQNU+gNToGYQOIelUI3OaKwoecQKoeDUIT2uK2ah2yI92uyIs+ZhU6h1n3JW152ORt5xkG/UJ4eFyNIkVyJGhlaXKBdyLj2VQMmhNQLdMzyP0GDQIFWnaU+RIFx2ikX2UeR01sGJ00BR1/m2hWjyumpZFS+EKNzMGX2hRp0NhR50PhR0wLOh10PmBv0UIuJX2WBgUkxRawMq+isNs470IJRn0KJRXjzrcPjzJRRwPg65wOCePXzBhWMS0uET232w31hheMzZRTwI5RyMJP2aMJ5R5MxpmbMWxh2TxW+63wJhBTxGGxMJf2EqP2BFMKYykrmphEIN/2UIPeKirlhBmWgu+zMPMubTyRBdgW1R93yKUsswxB/MMQO2IONRX3wkyosLdx6BwlhmBxJBnFj8uY61lhFIMeGwV0dRxB2dRKsOh+7qKMyGsPh+5mU5B2zyBGgaJYOGPzZKh6wzcOPxg0ZsN4O9QUthl6wZQUoKl4CaKquSaIeekpSeeVPzTRNPxVBWaJau8c29hXsN9hlI26ubP0d4RaPgaJaPBexoPDho12g2UcLheNaIThy7lwataJ66kvxThi1wcO6cJ3iqcI7RB8RzhG1z8OvoO2uvcxJeKujJeS3VDBo6Kpe0R1OusRyjB1cL1G8YMLuc6M5ecgAaxYqFMAdO1fga6NDg/L2XkPcNtRO6Ld+v1yPRd1gBuaCR9+E8MrB56O/xl6LZC16Lnh/2SY8qm15C4f2XhmrySM/Rxj+MOXfRW8MxuRr13hP6LT+Zr3R636LmOg4Jk8jmzz+tMg2O0TRvh1Nw08M4LawDN3nBbNk9eLN2XBbYw/haGPXB75SDePOT5uO4J561C2ARhGNARx4IgqzC37+Sbz+OlGM4W1GJVyvCxVuDGIhOTGKfBs/1QRMjHEWut3YxUjDLeRtzwR1WwIRJvSIR2Jwq8pCNAhDbwoRomPtu4mLP+zvQOa8EP62vbw6S3t1pOfXjQh1zWUxz/y4Rodx4RZeHwhSeR0x0dx5Ov/wMxfzVXeQAOMxNEMWSkiPABsiMYh0iOYh8iLns5vzZeCAMxEzmNURrmPURHmNSW1d28xmS0NOOS30Rl9kMRn23NOkkPCxZiNfsFiLkhf73+SVAIVEsWMA+7pzYQUKTEmVERSxWkLSxUHwyx3S1g+t+V4BBKX4Br+TMhpWITOe9ww+NkKw+dkJqxJ9xZST/U7wSoHcAtCDuwYAB5ebWJ2WpHy4cNkzZ2Ajm0BvWJfusqWrOIUMY+nYm/uLH1MBbHweWW0AimTyyaRs2PsBbSOShgfhE+3SNcBq2Mym62OQewK0GRuu3BWX1UCBVA0mR2YAOx8K0qmFUPmRMQKKiduwraqyMd2V2JScCNRah92MYeeTn2RVnyzSbD21Mdn16hDnwKBD5yKBQ7RKBI7RuRgOLUGwOIeRoOKeRkjxeRbaTeRgqw+RLQLC+FgzFWHQL+RkqxRx9gyBRJ7RBRCFzS+SF2GBd0zxxNmxhRWFzhRZ0IRRV0KRR77UNWVOIehZXyehwMUceEUlehjOLxRNqwSkuwNhi+wOa+cM0dq/0IpRpwJYuoMLlQapNCeaHXCeg32xmMMK7MLKIPMsT3G+8Tym+KMJm+3KLjqHwK0WXwJxhN+yQ6Ka35irHRUulxUIywII5mguL1xhawNxOVx/2SwzO+jMPNx6riu+GqLZhWqItx+ri5haIMe+6ySGeAz1dxBINNRXlQTJzFm9xxIKtR/uNwOKuHwOIP2pBoeNCu4eKWeZsyZB0eM9RbIIR+O9V9RHz39RqP2ao+sJdmIaKx+6ePDR4XS9mBV2jRRPxRGJP0Cy5P1Lxj6w5Iz63qubz1p+Lbnp+OaMK6qh2K6FIzK6zeOpGgcP6uwcI7xocK7x07gjhJOkHx7I3g2ZOgysK7gbREvybRcvwayraIzhToNnxLNFxehG0XxW1wLhu10HRL7g3xI6K102+JOuEYLOuU8wSOM8z26yR2PxiYNPxICQugytH544xMmJNow3mLtDeuqx0+ue833RhYPdGI8NqOY8PqOwNzPRoNwVe8emrBkNyAJQORhuoBIbBkf2fRa8JbBDCVgJOeg7BRm0QJ0x1xuKBKz+R8IgWGBJCaIGJHBmQVwJlN3wJxf2nBpf1nBJBOfhC4OOOzY29e78NdC9fy5ujfx5uWGMYJOGOYJMW2hO3f0cSJGKluibygRvBIVyDDDgRNGLH+dGOEJk/wfBYhMkJEhJfBUhJ1u+4yX+chJX+34MUJJt1ROKhL4xahJIRIEKEx5CP2ALbzExbb2ghei1ghPuS7efWwYRiENkx9SRQhvvUsJ/vTHeNhJDuy4Wne4d3m2UfV0xrhP0xvzQ0qqEz8W3hI3evhLohoSwYh0pzhaNmJgBdmLCJ8AMcxkRJURuIhQBsRMruOpxvegkJ8xwkJSJ/mLSJgWOMRxAJCxn70wi+RPwihROixY/TmBQkyA+5RM9O6kKqJTAMZU7iPEAniPkm7APFa2WO36EZ3R2vEWCRSH1CR5kPGW5WO6JlWN6J1WMtAtWMGJiSKUAd+HEAYEAQALUHbhxH2mJHWLyRvkIWJVHyKRQAzo+pSKGxbrQ2JlSLGxZgImx0JjihhxLbO/HxOJjgN7OSuzSh8DzcBiDxuJ2ULJMaD2GRfgNGRAQN2xLxIXOUyLKhnxPsx07G+JNULIe6hV0+AJPqhF9mBJtDwMKJ53SBEJMs+z2OhJOQJ6heQLvOX2POR400uREeytMFNVuRmJPZWPhR8+/hT8+kOLmhhJJhxJJK+RZJPaBq0M6Bx026Bm0NpJWknpJAwMZJQwKyKKqyhRbJIJxHJKJxXJJJxhOLJxljwpx1jwgCgpIxRwpIq+sQxxREpKWMo+2aKHj1lJTXw5xrXy5xHXx5xIMJCehQy1JA3yZRkTyZR0T1ZRY3yEuh+yJmpPyaGZ+zeBsuITq/KMVx7mmVxqayZm6a0BBalzdJOazuKNtNlRvMxqehuMVRxuIrqDMLNxt0jFmoB2txXGVtxuqPtx6IJjJJqPNikMhxBnuLxBqBwLpQ9VTJlqNCCMsLwOgVxzJDqMJkTqJm0pB1dRjINDcVBwpKycy1hPqP8yDBz8YDJUPqJ2n2ehsMOegoOOeeVzcyFsPFBVsKvWNsIqutzxCY9617JtV3V4g5IzRw5NiyHsNWOuaPAa+aJnJAcKdQ85NBei5PlcYcJXJPeLNB5c2rRwvyrR/eJ3JI+MnxY+ObRwoybmroPbR+8TPJivwXxPoKvJ/oMLhQYLvJyowiOlLxHmO+JfJe+KrhSZUPxtcO/J9cN/J21OCgu1JGA7kI7hL1wE24FPAOF/GmefcJuyL+Pgp/1wPRCFLLBpHgrBSdCrBV6LaOKr2AJ9YJsaeFMgJ0f3XhRFKnK+m0/Rqf0mO5FJxuv6PT+GORYZqBLop+Y3Phax0vhB5XHBLmygxhBI4pxBPL+3FLIJi4IoJWTVr+1BNXGxCx/hYlO3BElOi2w41i2nniIxslKS2pGIUp5GPlyHCxUpAhJvB4/yzeZ2HXGQiw1uLGMLeEi3fBUi1MpuCN9s3GI3+/4K3+QEPUJdlKbetty2ax/ydwrlI7etCJeI9CJkxTCNv+I21YRD/3YR1hMwhamNjyYVPf+M705OUVJcJgiLj6pELUqIiMFOm2w1pBeUCW4LQzuFRDCWGVOsxUzFsxrENyp7EIiJ34SiJRVLURVfVKpGAISJGSz8qVVLwBF9jZEzdwkhJiKkhoWNyJ4WMsR8kLapNiLDYLpzB28WJEmakOcRYH33yqWIYiIrXqJKOwMhaO2aJj+VaJyrUyZwgPEiUyxMmKZ0ocvVXshAxMGqW1MCgDoB5gSqCuQmYivxuiCOp9RF2WZH1OpXWPOp/kMupZy2upqxLAG5SJGxmxIihf90oKW0HF2BxLAe0uwYKxxKShX1OE+P1P7OlxPE+a2OtBngJQewNJ8BoNP14/gPYozxMRIKnyz8BD0Ox5UPhpLakRpyyLYGPxId26NP3OmyOM+d2JxpqNUexPuzba3fhhJZTmJpJyNJpiJKc+j5xRJw0Mj26JJj275w0Gi00ZpyezxJLNNeR0OJC+HNLhxm7WkC27UTIlJK6B0F1Rxx7SFpGOL2hWOIOhKFwMeYwI2ZmFzEi3JNJxvJKK+3e2pxKfTNWA+zIu2tJCYrj22BH0KhmhtOhchwIYus+2yGKpKBhapJpRQdIFxoIJ1J0MJmKI3xieiCTiertM5R5pM9plpIxh8a2ZcvtPmGD+3xht+2dJz+246odKlR4dJlROl0jZvpLphHxVNxasSTpIB1Zh7TzDJQZM5hNl25hDuOzpxdKBkyZPzpyZPxBZsTGeUsJHWGZPJBj+MpBnsVrpYePrpLqIZBnw0oOcP2tm3qMR+ndOR+3dIDRaP2TxwaMx+aeP6ox61x+rZKjRY9JzisaM7J8aNJ+c9OFK4hyfWkh0rxyoLdhI5LXpqDI3pSc06ur5F1BhaLnJnPwXJhoNLRR9KMOE8UrRZ9P7xF9LvZbXWvp65LThd9IPJLaMfpbaJPJL9LzkXaIvJH9PzhX9JvJa+OLhw6KHmW+MAZz5JpeE6LfJMYI/JzLy/JuLPZe48juu21JOZZzOroLUEuZDOxApXcKE2D+Ogpwr1d+QeKwZ7+K9+r+M/xp6MnhP+KIZM8PQpN6MwpDHhAJwOTAJ8AhXh+FKh638z1e6NzgJifyYZyf04Z/HOz+lmxopInKAx2WF4ZZNwL+zm1yQrmxEZF5TSuKiR4pzNz4plBNkZglM/hwlO/holODe2GIHGgtxYJB4LYJMbw4Jvfx0Z3BMUpFGOUpPiW4W6lMzeivTMZU/x0p+lL0pu42kJRlKwRJlJwRChMcZShJ4xm/1UJzW3cZ1tzeyzb0P+uhJcpNCNduUmO7ewTL7eNJ38pdJ0Ux6EKiZnCNCpzzQcJfCJ5OAiOIhqTOER5EIWpWTJ+cKdxABpmIhamd0KZVmM2Scp0ImCiKQ5lTJLuhVLXsxVLqZV7yru5VMe2d7xwBLfSeYqRPaZhAPqpwWO6ZTVNDY/TIKJUWKGZMWL1WcWIcR4zKcRSWJcRA1LJ8091YBczO6MmWP0hDPgCReKQKxHPiKxbRPmpHRIshhOMiR2zMPufRPWpBzMzONkzkA2RFtoBzm2WNzJmJlrTmJFH0eZhSKWJNH36xK1VAGNkTupcji+ZVSJ+ZfrXTA0YEaRgLOaRcUxBZ82IV2i2OV2lcwyh/BX6ROUx12ifkeJ+uzRZwVAxZ+D2mRR2M0++LO0+KNI4Genz3OzuzJZyQLoeOyPBJc6khJBNL92RNLhJJNM+xLLIGhbLL4eqJJfOXLPkoQOPppmg0eRTNIhxwzl/O80PeRzQOmcnNNAu5JJ5pMrL5pcrJpJaONlWSrIVW+0Nr24tKOhtozDYmrJMeGzMVp+q2VpqKKIuXzhIuJrKce4pPNZTOP1pMpOtqcpONp8MyVJ/j0pRnX1xhGpKtpHpNtpwuPtpPrMdpRpOdpdQyRhppOlxFpNSecuKxhiax+B+T2jZ9pMJhhT3FRxGR2+0qMphkdN0uNGR9JSsQzZCdKzZPxXDJsnVzZqdIbW6dMjJeqN5hjuMNRLuPe+OdOrZHWgtR1wywOpIIbZNqMI5wP3tRCsLrpCQV0ykeOLJrnVZBbdPXWHdI5IXdOSQPdN2efdL5BA9IbJE7JCYU7MzxM7PNhYoPnZEoMnpXZLLcPZNXZjz3XZzz03ZrsPfWNePVBdeNAaPsKnJAG2PZGc1PZBoNq6l7OXJ17MLmt7IQ297I5GfeKfZw+JfZo+P3JboMG62G0xe37I9B61y6yAHN7RavwDBQ2SfcoHPvJ4HMfJkHPHRr5IZe75KZey2TN+C/DZeJ+OzKd3LtolIE7hr13tGBHO3RcCV3RRYLgpZHNLBH3Vk2KFIvRirxIZyr2U2qr3vRrHPB61DJfRcYzoZIxxIp28IQJ2Y1YZyBNPh1FIAxgiQPhwGJ3K9mxwJY4M2OkGNvh0GOkMdN04p4jIQxynKr+uCxQxcjNZ6dBJ7GX5WUZ+nIAREbyARRnI0Z7BOIx2jPkpFnL0Zc41Te14Ll6GlLvBjnO0pttksZwFRc5GCJ16djO85XGL85zjPPYrjOUW9b0ExnjPxO3jL0JMEIMJF/yMJ3lPYMqmLMJiXIsJyXKsJAfTsWIhlsJcTM0xCTIIhUdyIhSlVipyE0Mx6zLERoLTyZ27yCJlmKO21lUL6Z2zcMF2y4hLmPPebmJSWNEw65epy65vmNe2bTNNOr70G5xS0appAK/eg/R/eRRJGZQ91m5wHwmZC3KmZrSxqJszPSx63IaJizLg+RkJmphWJCRp/UK5GzNO5yZ3O5a1LjEV3N2MN3JASR+gEYoxKUBO/A8hUgC/63kPuZBkXe5PWJN8yxL0Bg2LWJHzPupnrSB542N+Z6YEAeALNsBQLOQGrSNBZC2NShkLPSh/1MyhSDyBpTjjR522KeJkNPRZJUJhpWUTx5XxJt2CyLJoZ2NRpF2LWRQJOqi8aQpZhKypZGQPxpmNRex9LI4efUJZ532Ippv2Kpp7mK551aSxJE0I4kU0O5WzNKF5AXxF5RJLF58jzaBCOPFWMvORx/NPlZmj0S+mOJ8GejxGB6rJOhWvNy+AQx5JsWORR5RSWBatJpx2TLpxWtIZx5vMlJOwMJRewKNppKJNp9rOd5+UipRfOPVJltNQ6bvJuB2HW9ZouNDW4uMRhkuID5rwNpc6MN5RmMMW+YfMFREfL+BgdIBBYqJDpWuPj5SbMT5KbJphh0nTZJuIz5zGWzZCIJTp2Fmsu7hl2GJbMcu5bIti8ZLNilfO++RnV++4z21mFdKzJVdOb5GmW9iCzzpBhZLdRnfJbpbnR75fbIrJA7L9RrMm5BSeLrJrB3HZqfLTcI9LOefB1zxAhyXZ3ZIrc89Kdhi9JdhQ5OrxO7OzR69PHJB/OTmfsO3pJ7N3pZ7P3pF7M7xo8Ug2J9Jv5W5NLmFh0vpj/J5GN9MbRycPvp7/KayT9K/5a1xas79Pasn9L7RgAqLhQ6NAFOv3AFtGxiO9GziOB+KSOR+KQ5SAukaOYF4QpgB2FCDJvxm827huYPQZUFOwF7v0b5MgUPR2DJleVHN/xH2VIFaFPIFNYNvRVAq6OS8LY5EBKFCBFNfRjAv1ezAvgJnYME53YOE5hN24FuY14FEnIYpF8MYp29Bk5eEDk5zrwU5NORtCMgtfhyGIEpz5U05/r205m4KUZf8IFu6gsM5BGO0FJnN0FktwTeBgtgqQ/yoxI/zUpCCJXGqt1EJVguYxNgrc5hlLhOtjPK29jJ85hXhcFg0DcFFtw8FGhPspWhMcp4XNjskXIkxATIsolJ0YR8XOYRYTIUxETKUxUQpUx9zViFGXNea2mMIhiQuW2GeXy56QrCRRrOohyVIz6fhPMxARKKZ1XIKF0S3q5+VKqZTXPL6MRNa56ANSuXmKaZz210R9QtgidVMyJXTOyJPTIwio3JapiVV/erVOGZykLGZfQvm5ShEW5mkOYBK3I8RbAPmZMHwmFTRKmFCH1mppkMO5yfSMmWzKWF4gJWF8kTqxW1K2FpgFbhFwEOpUxKe5J1Ne5+SNOFdrQuFQUKuF7zOGxtwocij1J2J5gK4+LwteWRxI+FMPI6RcPN+pCPL+FSPIBFAyJyhQyPiiyLPBpqLLBFWPIhFbxKxZHxJXOuLJIeSNNL8RPPt2JPO0Khn3J5t2Mp5YJPM+WIqexOIsJp3UMZ5TLOZ5ZyNH8xIuugf2M5ZAOO5ZwjxBx1IrBxtIjpFraRCKbNNFZ4vPFZEX0lZUX0L2/yKlWZe0Fpng15FyrP5FzJIlpGvPf8GF215xRQlFfJMpx90OIuqwNIupvLNZVBAt5oLmouNrPhidrL+h5KId5TrN1F2or1FmpKNFDKN1Jpov1JDwItFwl195btPEuFM2DZwfO9pNpOyedpNY6kfKdJbrJYosfJuKYdM5m2pKphXpL5mDYpO+yqN1xUnWTpufIjFnT0L5mdOjJsYvIs8YvL5ZbMTJUmQHW1fM1mtfL9xP6H8ugPybZweLmeeZLzFysILFTdJc6xYu755VF75/bP75g7MH5w7NrJI/INhjTiNhQ9JNhTYvhGc/KKuC7KueS/OEOK/MDma7P7JG7Kpi6aKOosh1OoTVyVKY5LauE5I6uAL2P5vV1P5xaJnFS5LnFkL1XJCLxjhN9MReG4r3JW4vfZD9I/5e4pnxP7OeCf7Nzhl5MA5p4u/pt5OI4VGwfiEHJvFu+LvF++LAZj4ogZz4p/JyAsGlaSLcho0tw5GApzBMCX/FIr0DlpHNwZODOHhH+KBu5YKnhkEpgl/+NIZlAvIZ1AtwpsiERunHJRuP8x45WEr45eEtE5Nen3hx8LQJh8PE525R1Ctr3z+zFMdepoXYptErrGKTUkZvFOr+bN0C2QlLYlGGPoJ4W1UFUWwM5UlIUldCx0FWjKElZ4IH++jPluEksEJt4NMZa4yc5ckvEJVjNfBRb1kJrOHkJTgospCi0IR1lKC5tlJC55BhExdt2Ml1CNMl0XMCZ0mOmESEL8p8mICpEQqCpDJ0clWEJZO3CPCpvCMipc72ipKTJW2aTO8WPkvmFmQtyZe2ykRMpylOVXNlO4UtgB5TIcxxQuURl22iJ5QpKpbXLKpWiIqpSRIfe1VIaF6RJbuY+SG52UpG52RlIInQvap1AJKJtAJHuvLX6pVUsGpNUuGpdUrGFCzK25SzOalfAJMhW93aJHUsTOXUsw+MSIu5qwqkBm1PPub4sdAerD2FWSIOFXkKmqnWJOFEqUWJ5wq+5KxOChC0v+5gUzuFK0qih7HzqRYXHB5rwsh5by2h53HzBZnSNge2A2LYh0ttSx0pR59xOBFIyJ2xRUL2xmLNx5OLJsVCNNhFPxMJZL0pWRSIsBJGNNRFru1+llLJpZHUKBl9PJBlr7Hs++NQhlg0PZZk/mZWY7TGh9yKpFr6mRl80UCK9IqhxQXyZFi0PXarItxliOMgusXwFpCvOBRSvJ0eKvIFFLJMlpitXZJYkS1ZP/nlpMtN15+F315d0NVpzMtpxrMrFJ7Mu7MyoqtZjXx5lHRQ1FdvIFlqMTNpX6VRmOsuU04sq32jKLuB0sqZR4GQlx8ssDZzQ1tFXtJo6PtKdFOMP9pjpMGGsbI1x8bK9FIIIhhn+wO+pssDF8dMae531DF2qMRBtspRB9sv4y+qJL5XazjJrsqrZRdOTJtbJ9lOs0rpcsKCuwctbZ+ZPbZEeOWezdJ7ZXqPLJXnUrJusMZKtYpTxbsyFBWctFBLYvHpeePmoBeIV4M9IdQ9z1X5ZePX5FePLlVeO3Zq9MHFe7OHFDeMP5GhzmCE4tpGbcvP5s4oa684orRa5If5ZhwHx6aqHx64uf5t9Nf5z9KPJ0+Inx3/MPFv/OPFs8oAF88pA5F4r/pm+OvF4YOg5UAuN+MAtN+iHNWVEjXY286MASJSoEYR8vQFyDMwFf4t7hAEoLBFRzwFr3W9+98oIZj8to5f+IISABPaOC8MQlD6Ij+X8tXhP8tj+m8IAVjDKAVmfyAV4nIz+Kf0AxeNygVcczIl4GMolZ4GolJfyQVhxwYlSGP4pK4IUF6GKUFYWxUFXErb+eGM0FfEtFypConGeguEl8YUMF6WyvBi41MF9nLBO5jNzezCuIVrGLYVxlI4Vakq4Vlb0spvGKUWOkuAhgiuq8wip8FJkv0JZJ0v+xhMslphMwh5hLjwgVMAmjJ2iFo3mclEE0y5miucJyQq+auiu8lHhKMxtOJMxKVLMxaVIsxgRLMVWVJYhdXPbVHENImDipqZcUqomcRKqFbis65OiOSJrTPSlHTKCxLQuG5bQuapORkixfd3G5U3M6p9iOEmZUsSxFUsGFArRmZx+TW5NPnGFySsmFgSOmFe3NmFBk2O5MtMWFuSt2ZOrX2ZhSsOZxSv3lEwAkgZAFNan/SqVRZ0mlZ1LqVF1M+5gUNeZzSr+5AUw9ay0ugGq0v/uC0EOqkuzepTSI+pnwth53wpcBvwquJ7gNhZG2JBpCfneqIIox510tvE0NLulyyrhp7auelBLOiBWyuJZ+nxRFN2Ib8SNQxFxytp5pyrpZDPIuV8JKuVPbRuV7PI5Z1NJUGtNNj2vPL5Z/PIFZM0KFZBJJFZxJKxlCjx+R0rPxlVJK5F8vIVZJMv6BfIqZJavMhRVMqVqZ0PhVTkh1ZCtL1Zt0INZMor8lz0PWBioo5leKuZx1rOt56or5lnOK1F3OIpV3qypVvqw9Z7vLpVepI54BpKZVlopZVUuJtFAgTm+9orDZqGQjZ/orxhrovyeAqr1l7MwNlbvKT5qbNphbxT9JmbJDFWfILZ6qIsuoZJtx2fKgORbKjJKqtLZyZPVVwsJQOHuO1VXsqHWvuL1VmYoNV1dJb5bbLb57w3NVkcstVZZLjxOsK5BieJHZDqrHZqeIbFU/NOe2crdV8/Inp+eKnp0oJ9VHKBLx/qr7J/VAHJvYuXp/YrDVteJHFWoMbx05M0Os5MnFZ/INKl/P5+veNXFGaofZt/LXFNh3F+ScNRe4+PRen7OPJ48pLVPh0m65av/5/WTI2q+Jvi6+NrVD5JjK5cM7kIDMnRLaunRBowt+u8tfF3mt81/mv7VBRw3R9+KHVTbIwZtZT3R2AuLBYEso5SFOo5JAqflX1lglGFNDGzHMHKGryfRdArQlDAtRuW6rwELApwlbAq/R3DLAW4Cq4ZkCts2/ApgVgguJyl6tU8BBJolNY3gxSnNQVKnPQV8go05NBK/hOCuUFnPR/K/8PDevEvUZv6oElZCtPB4vR4JVnIMZNnPTeKFWklIhJV6TCt0pLCoMpC/3sFqkscFyJxq2ii1re7gsw1jbxtu3gqfGjt3beuSn8FcEM8pFkp8pITLkxNkvkVdkpS5DkpCp2ELsJ6ivo1n/3clThIQmqQoT6BiqO5lEOK5yygClEiNSpFXPSpFisiWgmtCJCArypdiqcxMUu/wtTMk19TMSljTP1O3XPruvXJqp/XJHymUoapqmoZaskI01QzK01RUp01zzh6F+mp6pIH0mZGkPA+wwrM1owos1SSqxS23Nlau3KJS+3LWZvks6logJWpeSt6l8SP6lXmvfFf5ImYWAFOZ5AHOZWHNyO1+LGl/YFuZsxNZ2b3NC1TzPC1xSIGxzrWuFi0oB5D1Pi1nSt2JC0ADar1Ih5W0oMcEbS+FKU2y1f1Ny1ANPy1txM2xhWr12M50x55WuCBJuyhFKypwNTA3WVWys2VyyMa1pPJoeaIsOV7WvahnWrVMhyIGmoMo+xNKzJpkMoZWrn1hlNNIxJ42o/ODNKm1P50F5aMqXa82uZFS0O+RUvN+Rq2tlZazg21PIu21ZMt21gwJyKGrL8GootMeZ2vpl+rOlFGKrlFWKvPSw+11ptX0e1BKue1trOfS/MtNpjvPNp+otFlrvN+1xoqDWOmgZVYuKdp7KNB11oq5RysvwoobM+B4bO5VSuKFRKuJjZ32tUuW32FV7pN+16Ov9FR3xCY5sv9JidLx1/VBZhIZLzZxOvx1OqKVVrawjUBqLVVRqI1ViYq1VNbIZ1f33Lp1qKmeQePlhOYru1r5EWe7fO51y6zWeseM2e8eJR+1YuF1KcvrJ9YudVV9Rn52ePnZHZPzl7YuX5nYpV1C9Nrcm/L7FoaoAau7ONkmoIblzPyZ+rPyN18avbx7csPpZuu7lscLg2K4sfZGaufZWartBjh0d124qw2u4q/ZbuoPFHus7mMo06sQHPI21at/pS8vGyK8obVFcKbV0YKfQ8HLgFbauiNa2Q5ee8tUNaHI0NGHIuZuhquZWYJPlv4rPlw6ovlwEqAlWevwF18vAleesL1TITI832RflFAtrBCEqY83R3AJletQlG6pgJ9DI/RMCkb1CCkopnAsPVgnOPVVFNPVxIyk5cCqL+CCpgxEgrEZw+tpy96qXBMjPOOk+vkZ3Nw4lunPEpagsX1RCtoWMlP/V5Co31lnKoVxgrA1tGIg1MksP14SWQMtCzg1NjPYVntk4xV+uUJaGtv1GGuC5D+tC5XjOf1J/yi5LvU/1CEOCF9zVCFciqS5ABsiFwVOiZtGtwh4BrclSQo8lvJyQmsBrY1GQqSppXK415XIKZ6BvyFpTKE15pvsqeBoKpYmua5RBtu2LioaZ1QqwBHiv7yIkO8VGUtbu9BoCVamrylzBqsRgzMgtxUvCVKkLm5hmvqMfBumZAhtkm5mrRSlmtENKSps1LUpmFc1LmF8BvCRZ0Oc1PRIUNezP6JHmuu5SkXQklOC7AwFMe5Bhue5LO3NUU0tMNH3IaVEWpKRbzOi11y0B5HSpqRXSqHEU2KimrhvepiUJ2lKUK8NFxJy10LOuJ/hsBFRWsnOYNPmVKUUWVOPNhpj0pq1J2MWRCIuJ5aNKa1eypa17U2POaRuEGGRt923WvOVuEkuVpyIG1bPMppRRpG1M0zG1PLJEeie3EetIuqNPK0ZF7NMW1fyrywUrOsGBMupJ0qxBVdJLBVyXxVZqvJ6NowOFF/RouhYot1Zwxou1oxqN5LMpN52KtRN+Rk5lN6W5l8xt5lixre16XQ+1XqwuBdxquBlMK2NfFzNFAl32NzKoK4rKo9p7KpDZUOvONMOsuNftOuNAdMR1dxpdJxTwTZ5MIT5lspeN3pMlVQs2lVAZNlVJOtae+WiJ1adKmtduOVVxfMp1nazL5NOo++0Jqr5pdJr5TOozFIeGzJ2YsNmYCHs6HbNVhUeK75msNjl5YvjllYqH5PIKJNdYrF1pJq4O5JoJ+fJSpN1sILl9sKLlFVxLlaurLlpLgrlQ0l/qch1VBtcqHF9cpHFh7J5NO9L5NXPwFNnvCFNC4rTVluomu9/JRt25Kf5UptfZ+au/ZharlNWcLnxU8qPFV7m91IZSrV/upAFgerAFweqAZjarD1sHONNsApY2O8qgZyApjQNFomJ7JG/FYFMHVrprT1I6v7hnptHV1RxvlkrzvlJ6L9Ns6qgl/pv2Bv2TIZWFLL1EZuQlUZtHKOr1jNTAvr12ErIpTeqE5LevQJhEpPhxEszN3z2zNQgrwJIgoH1N6qH1inOLNo+tkFb8KfVFZsUF3YzfVc+si2C+r3B36uX1NTTIJgkvX1ZGNElMCP4JNCuMZZgvoVAi0sFfZu3GIzXc5ykuHNkzXQMP4JROPCqsp6Gv4xYdj0lXgpw185t8Zi5sMJy5qI13+qsloTN685GoUVlGo4RzJ0eaaiviZEVIgNR5qgNDdjy57hPipnhK7sHGp8JgUtQNt5t41oUssVD5uwND3ga5L3gINJkx4h7mJINFyR/NiROaZqUoAtimoG5dBv8V7QutOYFqCV9p2gtrBoXy7BqACemu6p2LB4NAwqQtQwuql2kJRSY1JDOjROqqyzPqqmO2x2mSu0qshush8htc1t/UkBGZ3WFVFvfQjCB4QiOCPl9FucmdzOC1DzNYtZwqwKV1M4tUWoIKrSti1Qu1/uDwr9aC0H2JLhr6VbhqYKUDzOJELO8NB0t8N/wsBpJ0oRZuUPOlxBBRZnjjK1Gfgq1ATiq1GlqfNeLNiNdWqWR52Lqh+ltJZIJPRFDD3+leNMBlmRtxFPWqstfWpstcgzstJIoctZIrhl3PLpp5Rr55OJIF5grI+VrNLqNPypFWy0KaNK2pUea2rl5IVs21a1FJlyvMitkKsploFOplMwOO166URVYkWRVkoo/al2rGNiBqxRt2oaK0xstZsxrvS4HRt5xKsVJpKpFlZwM+1pVvdF6M1FV3FyhhJooqGuxvNFtVpB19VrB1xxqatKss5Vasvo64fNVxWsv5VPVrjZIWjj5IqqNlw1olVWOvph41q+NpP1+NhOv+Nc1sBNC1pBND3Ge+XdRdla1or5G1uTFwPElhuqt2tUVCzFLbOEsrfPnWUP0xN3bOxNvbOtVWz3xNQuuTlnMlH5acsHpoaOx+zZJPWL1vbJrYrjRCXSLxsoO+t0oN+tITHV1TJs11LJpjm4avZNk5LJGahyblBaJP5xuoTVpus7lJoKRtPcszV6NrrRNoNzVm4tlNw8p3Fbh0VNxauVNXoM91JNu7mc8uA5FNprVOppW6eppD1Bv3pezarg5TNvgFs6Jj1qHO/tBkHBgX4qdNA6tPl6GHPlxHMvlmeuFtIEpqOBArwZRApBu0tqltz8vnVr8tDN78uXVNAvY5VepjNumzjNvHJ3VO8J1t+6vYZWYzAVetoMkWBIEFo4N71gjNk5wjMH1j8Jtt9ErttjEsfVVBKdtL6pdtzf1rNBCp4lDZujevtrX1ECN0Zgdr4JhjJDt4GsQRWlOQRznKiSJ+uiSSkswRJby85o5qTt1+t4VadpspAmMztj+uztkEJf1fjLf1BGsCFcXJI1CXI3N4Qq3NiiuAmyipiZM21rtGivrtm4W/+KQubtcVIABBFuu1JXPERQS3FO/hNyFfGsypJTOypZTNodImpKF6LTKF49sqFmiIzM2iKEhc9q8VC9toNwFuXtfVhyJuUvXtQ/QGZE3OgtO9p3SM3K4NB9v6FRmuPtJmpQt/pzQtQZwwtvSzENe/QkNz+SkNggPWZT9sJ2My1WpZFsu5FFs/tsgKdAfQDgKjk3GluSOAdtSqOWM0saVlwqsNLSpi1zH2+ZCDpihR7N6Vm0tEtc2KGVnhvOJyamktvSJhZccIK1iLIUtvgIulylokK4IteJVDvUtDAyelWlvhFOn10tOypJZZPLYdqRo4duNJp52Ip4dwMqORjLNyNXD1styJKG1dyrKB8MvGhFRpkd02s38+JPRlijoiKvypUd3NOaN6jtaN6j3i+fQOcGItJxx4KLVZrJJhV0tLhVtMrb203Ksd/JKZlqVsxV6VsmN1Xycd+KMt5qosJVdFw8drq2WNQsqd57tX8d1Ks2NEsq9ZoTsB1MsoidcsqidRxqDZsTtONLVutJFxu+BzouSdCOtVxSOs9FmTqeNgTrBB4qujpZsqVRnxsz5RTstxM1tKd+fPmtGdMWtoJtVVsZIhNdTrdlwzzNROdJ1VO1oRNAco9NyJsOtaPHRNXOqLJFqv6dVqv51tqsF1esPutjqoPW4uozxkutdVOePdVbYqWdy7L9VxcrX5pco35waq3Z2/IHFOuqjVhzoOdUNubl7P1bl/JsTVHcuTVXcuudIpt7luav7ljzsHlzzrf58predruo+dnaJ/59DT/5vzsrV/zuGylNqBdkRyfJkAvpt0AshdraqfFwmpfFd13nd+vkT1fL2T1R1lT1wEvT1j3Sxd/cOz1eLuPRiFIflNHPeyJLozoC6vltTHIoZFeqoZ0Zq/mv8u458fwZdCZu1tSZrYZVFNTNOtvTNnAuNtnsNNtvLuEFE4NEF8nOttdEup6orofVanPLNLEqn1WnJn1rtpDedZs9tsii0FK+qVdzZv9tqrtluQdo1dJgq7N2rvvBurqP1LnINddgvhOBt0Tt5lJQ1KdonNgELv105qt6mhI0WlCOcpYivw1kmMkVsXOkVvlLaUZGuMAfvQrtqXKrtIfRrt8Qrrth5pDd2ity5LGpbtkbrQml5tjd2QtMVybtz6e7wImhQsURL5uilb5tilTivilnmLINtQpaZVBsAtSmuaFPfVaFjBryJEFtrdW9pSqYSum5pRLoB5UsQt0Sv4Np9tqJOkIvti9yvt6kxvt8rVWZI7pkN2SrkNE7tItbmvItH9sUi+xkUwmIELQ5DH6AmgFwA1zIYtE0uMNLFvXd5Z03dc0u3d3FrCh7SvsN/FscN/zJQdJ7rS1YlvPdmWsktV7p8NMlry1d7oCNhWq2xcytBFCyqhp4RtKhkRuq1tDtq1hPPqmiIuYdSRq+lwHuxpJlr2REHvMtlhTxF72Ihl951ZZCHvstHPOuR4jopFE2oT2S01kdM2vkdwrK+VPlpZF+HrZFFJJaNsvLaNWjo6N5Hp21YtOitQovxxIovitgxqRV52tRVNjrY94xo49zjx1pKARmNvHpZxaooWN9tSWN72vJVJVt5xBQ0NFkntpVkspk9TcCB1CMIU91MWidynoh1dopD5jos09PKs6tfKuUuaTsFVGTv1libMNlEdL9FI1ryd6fIKdlnutlfxrz5EBwL5ZOqL5TnuWtAsPc9lbKhNdOphNW1u9lPnvr5iJsDlAXppBR1uC9EV1C9POvC9fOtxNAuoTxMXrGdqcu0sj1uHpZJsjRs/Ol1ucoX5cus+tiaNWdfPGy9f1ty9ANpDVBXu11u/N11nJu1B3JvK9reMq9cNuq9gpsud3eNTVNzut1S4v8N9usdKQ8va9acOWuSpp69par69XuoG9Puv7RIRx/pi8pVGADNXlwDPXloDIuu4DJnRho3m96R2j9GNDj9vwCRQ3NsgSqLrQZbpoxdHpqvlt8vI5OeqnVoXMIZx3qL1wZrgljHP7KlLs/lMJG/lt3s3VxFM1tgCqZdL3o4FxEve97Lo71XLu71PLqvhfeuPKltsQVwPuQVPmykZqnLLN7N2fVtBOldv8Pn13EvrNajOkpmjLR9KrpElmPvVdO+vgRe+voxOrsYxhPv1dsGusZMhIQ1I5vJ9vnO4VtWwC5fCocpNro8Zdru0JIivq8jrrztAQoLtQQpkV3PrCFZdu9d/PqANu5vS5dGtcliTK0VyTMl9Xkul9SfUSpHduQNcbqClPGpClGBoE1IRPu8ho2HtSAPE1OvuINX5tIN09uSl973/Nxbvb6JvqXtKmtAtFvr6Z+UqB29bo6pHBq6pZRJbdTvuSxS3JQcQ1JGp4gEDOpVV7dYZ37dUZzSVrUoyV7UsftQfuftIftft8yxndkfqag8QYzQiQYT9FwCOMIODyQ3wFSRxDmg0ADsMNL3NT9IWvT9AUIsNP3I/uNwtsNefsbOT1N+ZC0DB5Qypmxp7sGVKJgvdWDqkt1fpvdslrr98lsb9Slub9Kltb9+2Puly5y/dmloJ5UQMYdfft3On0sSB30ta1Ag1A9mIq4dNLMvOr2Ns+vWqZ5eRsJF5NMKNC/v+xJRpQ9TyrQ9SMtxJG/pqNhgwz2ovKUdrQL39/yvZFh/s5FmjqJloVsVZujvBV+jopl6vKMdh2sJxpjsI0CVqGNTHoZlKtMPSV2uN5opM49mwO49UpNvSrRUa+v/ug6JKuE9wAdVJ1KKxiIAb6+1tPpR4Aek9wa2qto3x95BxsU9JM2m+bKsQDHKvSeCTq6GHVpdFwqLdFoqN1l+ntwDA1p9FQ1sIDuToFmcdLGte31VRU1vlV/xUjFz3mjFWdKdludJ8CTAetiDTs9lbAcZ16ZL9lAeP1VSJsNVoPxDl4PzDlGJsEDWJpjxAzsi9FYqrJVYpGdaV1BGUgeTi8XqetEaNHpOcq8yygc9V8usLxGXuV1WXoDVOXqDVOgfy9INp35Z6uK9euujVXV0N1MNqDh04ssDCNusDx9NsDDXtud4puzVdut3JDuodB+NqWun/I8DhNt693oJ8D6pr+dmpoBd2puCDZcNptBpsm9ELsZtM3u3lc3thdcQcqgCQdaA8fqRQsgFlDcgHlDG8ChwRgGg0y3vt+KDMFe2Ls29B8229km0nVEtsO9BeuJdxQdJdIZvglFLvDNSEtoFN3rVtdLo1tZegb1z3vlCoCtopBtvwlPDNIlfDPIlTmz5dVEoFdVtqFdIPvrGcgmGD4+uYlLPSldgb1n18PrldswY7+3tsF6qPs+OAGooVm+vbNoGts5Uks2D+Pu2DUdrQRGtxJ9KkoROSGrHN/nJcZgXMuDGduuDs5qf1DroXN4iqXNMXK8pbrtmE65r/1m5uC4wlS+DO5rS5IBriFLrn+Dx5py5Ybql9EbrBDSdzlFnGq7t3GrQNvdrhDKbqwNiIZcMyIeqZ75ok1n5oSlU9pk1NQrk1nioU1+IcXtZbqJDK9t+2JIa+jY3KKlNvpB2VIb3tNIYqJDAJd9yFrd9IwrqJiSoalVmqal2Fu5DuFral+FqyVXRJyVJFuFD6Z31as7orIIDCVAfG30NgDqMNzFo1DZZy1DEDssNv3Ogdu7tGx+fv7EtSKHEzwuL93kTQdcu3aRElsvdIfihZ9odr9NpSdDQRvR5IRvIdvjnfdan3zanftBqP7uRpvfv/d/fqDDGyKH9bWvDDHWrH9tLIn9fDoqcYMoTD1yuEd0MtJFbhQeVzloRl2JKzD6/sw9s2uw92/sxlu/saNBHrUdSOKgux/srD2jpSKnRr0d5Mr21uOOhVPgxv9xOMuhiVo7DIxrRRhrN7D2KMytMUge1X/qe1bjpe1BVs1FRVsADwMLWNc4fBhRssqtIuLCdNVvXDdVrgDSnp3D6xWatyAa5VqAauNx4ZuNUfLVxm31dJjxtR1zxtvDpntGtAB2DFqw0DJPxus9R3E1RAJrbjEZJoDDsop134ep1VrnqdLAc2tKYuadHAdAjmZL2t7TsIO0EaVhBZLgjhYrC9iEYi9ogai94gftVsXtF1TqtkDz1vkDFJtzl71sX5NJsLldJoojquo2d/1sQogNuw8VcvAINctHJ4No5NkNuOd44tOdsNvPZnEdWC3Eav50L2RtAkY3JYppt1Epsxtdzpf5LgYLVLuqLVo3U8DKpuV+J4sG9CkeG9gLuUjILtUjoevCD4eum9keuuurNqg8HqF5wBMePlKLpdNaLoyD8CWcj0ryk2bkenVR3sDNstrO9b8oVtl3sfR13tVt0BJCjmEvqDjLtYFTQdNeKZo4ZH3p4F1ry71oGPCaF6uSjV6tSj/QfSjgwcQxpZpr+kPryjEwYKjcPr05xUcR9PWFeOICNX1iwa4JQGrVd1nJl66waEJ5goYVkdswqxPtjtxro/BnCu6jmkoiUVrv4VVwaw1943tdVCIeDY0fztE0a/1q5tDwM0dLtvPoo1o7yUVwBtUVoBsDdB5oBDjGuPNbhJ2jCVL2jdjrT6WQpMVCbv41MiNyFqvoilwmqujo9u/yObo0R7XMejv5tnt8mqN9JbrCqhIbN9DBq4mTBuCVmmsKl29spDu9qbd+9tBjfVLyqMSuW5Z9pX6nvt8R3vv6WvvoP6/vpKxqMaWp6MZftf+Tft7moj9Z9xsm21hgYcjUJjqoaYt9xhMNmoeeZtH0gd80pz9RgN4tdMcqYAlrMIC0HWlzMd4+Foe2l5ft2lWWttDODpr9fhsdDBDqBFxWqb9pWpb9b7sodYsYqmNDsljvoaqhOlveleloH9wYcVjYYbM+YHu92rbWjDk/pg90/vyNg2vn9w2rEdaYYkdZRt5Zq/v5ZVRrkduYf5WVsYW1Nsa5p+/ul5ZYcdjJHt6B6OJrDEVo9jl/po9PsbitfsbbD9/qStj/pStVRXY9fYbf9SosHDKou/9/HpJRr2vjjc+ynDzrJnDqxrFlYAZ4uEAZXDmcbXDfrONJAbPgD+cfzj0lwdFxcdtJSTtv2KTswD4npkCyOo0uhnuyd9cflRMdPeN5npx1LccmtgJtfD9dXfDt3E/DjsuqdTl1qdQ8fc9SYsAjY8Z9xIEagg/ssDx3AcgjuZONVocoXjIXqXjQgZXjIgc86QzqHZNZIwjx9Ti92V1wjLZP3jr1ui6qXsWdaI0V181Ey9P1s0Dl8e0D18d0DdEcK9BgcYjRgf11R/JOdLcrOdVXoudtXqudvEb7ljXqxtjgeEjzgba9kCdHl7zpgTUka8DMkZ+dckcQTfuuQTSkf/pKkag5akcwTDNtjBn5Nm96btiD64AWTp5EEoNkfXRdka3RDkYFtmDMoTr+OoTB3toTHkaKDQZu8jpQdL1LCdXVVQfXVNQfVtXCbCjWtsAWXYNR6b3sETbQZPVneugVYibteOZtYpeZvEFRBMZsUgpH1DY2wW4PtGDmCtYlCjJ05DBPwVHtq/VSPp/VPtqAzpnLkpgGuaa0CNWDxicklGwc0pTUdklLUefBikrP1pPo4xxwY0lf4NcFfUYMlLiZnNQituDuGpZ9fgpddzwamjHBlI17waCT5dpCTvrrCT1doiTIvqDdYvpTysSZgNy73PNvkqMVoAKOjPdthD95tTdj5qHtUUsa5WvsINt0cve90Y7y+bvcVpSZej5Sbejpbr8Vn0YrdOUvKWVvvG5AMYHu9voiVCWKiVnSdd9sSp6TSO3qlHAIGTU1KGTQy3SVxWIft5KQFD47uiRmMfft2MbFDmmmxYPfmWTjFvvuIDo2T5hopjOoYY+eobaVcWsNDCWt+ZX8g2lLMYuT7hs+WmDq6RVfruTPMYeTfMaeTj7qRZJDsulZDveTN0tFj7xK9D5ux9D9Dp79fxNqhgYexW12KahoYYJWysfSNqsehTGsaGm/WqEdc/pEdKYeKNo2tKNLlsRlLyuzD5sc39c2rxT9Rrw9tsaJThHodjQKu5FCXzdjtYepTotN6NsVqemDHsRRzKe1qBvIFJtjpgCN2vpxjjo/9zjqjjcxpjjY4Za+E4YADKxt8dwAdpRC4YqtUnpCd0qdk9jKpgDLtP95W4bNJSqcatt5jON6nratJcaPD2npPD3Vp1T9xurjBntrjRns9JcqJeKJqbW4+TqfDTMKtT4YrfDdst7jjnqqdmIJe+zqatiPgTdTXuI9TaZPhNnAb89gEp4Dc8b4D+YsXjEcoQjpZNLFgzrxN0aYJNozvSu4zukDO8czlcgfwjigcIjsuuIjqgeLx6gYe0uab8ejJry9W/KLT+gYYj+7KOdW9NYjcavYjrGhDhVgbrTNgeMO/8eATqNs3JJcxbTA8pEjxDVxtUCbEjE8vayRNrLV/aZI28kaHTwApQTo6bQT46YwTE83vFm8rjB2kbnTukfXAtODoAz132szpvw563uwFjkf9026bAlu6fwZBQZnVh6YYTZLt8jzCY/llDLXVHHKvTnCf/l3Cae996dwlj6YETbLtop7Qdz+3LqYpZtpYpFtrYp+Zr/TZ4DnBEjMQz2UbkFuUcIWMPtfVMrugzMwc0Tr2FYJ/EoqjcbyWDBiZWDRidUptCpMZDnPMTBPrwzrnJhO1ifP1nUcv15rvHN5wacT/UfTte/2ExtGZztdBi8TTwZ8TK5teD3Xk9dHwfmjI7xsWkeW4zQvt4za0agmG0dDdzGpBD8SbbtCBtOzMbpST8buClibr7tmBoRDRfQ19imdKFjioKTUmrzd3lU0zKUrKTQVWoNjQqMRVSctOxIdqTlvvqTLBsaTtvuKJFmbgtBmuszLSw7dkMcEN0MeENsMcwt1mp25tmskN9mqEBY7qiROzKmTIodmTMgL7ACAsSEbUDcwTYFWsoWZT9JMYizZMc2T33Po+ZSJsN8WbgdGZmB5h7s0wyWqsBJfoh56WvEtWWdGVy2PSmEyo12jyemVp0oeJJWqFj5WbCNHoeod3oa79UsdelMscBTAHpYdQHqxpSsfBTEYfA93DvH94g2g9ORrhTiYYKNLnyGzjlpZWRsdQ90jtNjGHubSWHtqNs2cLDpJMl5dscCtGjqdjGjzWzZ/q6NF/q2zMVuv99Kblp/sfbDumpRVh2bRV3YZOzZ4X72HKbN592u5T+KtcdUMzuzCpKE9j2ZE9qxtdZsOfKtlsvTjnvNXDvrKww/rP+zYl23DwOYLjcTv3DGnvVTWns1TOntuNsOd6tJMIRzeAbR1RqdRzZnofDTcdIDuOqs9wZJKdlAdtTRSntT/ccdTcYrzpCYv/DI8cadxnW2tXqemQYEZZ1EEbZ1KJq6dDdM7ZFB1h+wgfZzyEeutqEdutNYq3j/IJJNu8bwjzYpS9Muo9VcsglzKzrPjOacojWgeojBadoj1ctBtj8YjVENuK9ZXsrTFXurTFgdrTI1wbTTXqbTYCbr9TgbQ27actznaa693adfp8+PtzXcwHTfgbPFgQYOu1Np4a6CbBdDGw0j06YQ5s6ZhdeCdNGLBcpwbBfCgHBctoyLqT1a6awFG6fdNgEuyDYttyDe3t9N7kaJdSeaj2ctqYTF3vTzV3szzNLuzzb6Ppd26vzzzDOZdReZaDz6dLzr6Y6DH6dgVVefgVpPTrzojP/TRZpFdzebQVrecdtUPsrNIlOrNUGY/VuGMARcGbKjP2AWDlUZbNAdtHz2+owzE+bDtU+YjtM+csTewdYVQ5sODCduSSK+Z6j5GYuDlGYGjrif3+O+ZGjudv3zH+sPzhdr8Tyip59fPs4ztiz9de5vsJ60cbt4vqBDW0efzaQtEzhirl9n+ehDx0ekzKvpq5avsilgBZHtSmbHtWLV4h8RKxD5BrqF89t0zlSY+j1SaQLMkJQLG9ut96BcBjLSYd9kSsqJNmYhjdmfd959scz41Oczq92mpOFrs1eFoc1i1KItFWKFD9BaxjeH0Na6+F3gR+kV8DnS4LK7vVDvBafu/BaaVOyepjPFrsNiWYcNzZ00wzhumx8UPSz6DvZjChaWxsShWx9ybwdclsKzzoefdrodfdFWc+TVWZmR4QKUKfydOxf7tMLcseazmNJSNw/o6zplq6zWRopWsKYJFOsYGzesdEdBsa7gXhYzDPhYmzZsf8LFscCL+Ye+VuHuUdC2ZLDB/qI9R/rJTW0MV5lKbBR2OOo93sYzMvseSLjKYsdD/oyLT/rZTL/ryLOKqytkca5lBtLytRKoFTD2YTjT2aADFtPWNoAaRzf2qlTOxu+zexuzjkTtzjAOcD5JxpGkoOaP+B4ayekOf6L0Od09WAb1TZMNIy14a+KOTobjxAaDFsxYtT3xou47ce1iSxbxzUYtsuMYvWLzss2LkJu2Lnnvc93noOLPqfAjfqdOLgXteo/AZ6d8Eb6d4aduLa8ZQjdqt7pkgeJNMgcFze8eFznxaUDYuZ+LJ8a+t/xbWdMuft5cuZojCubBL9Ee/WkarzRJgdhLZgfhLn8cRLTI31zdgbRtACfud8cObTeaogT2JYVNuJfl+PabgTPaN8DZNqG9LuZHTdapptHuepL3uciDW8uiD0eqZLdUguwp5YdA55fCuXJZW9PJYjzfJcyDApZjzIpbjzBLuQp4pfoTkpcYT5LrTzFQYzzF6azzwUaVLoUYRsDQd4TkUeTNmpZLzYnJ1L5ec6Dleb+95toB9fQeNLt6vdeYPoUTGCt9eWCogz9pbwVjpckpcweIVTZo9L6PuWDaGbHzRjK1d++q2DuGeDLA5v2DHnJNdiGuXzFPt/BqGrXzk5vTtm+bIRcZacpEXPozblPf1HlPTLLwa59J+dmjXrvPzj/wF99i1+D+5qLLkdxLLTGugN4borLrdvY1+0c7tKBskzgzDvNDZasVOVPTduSbbL+SY7LE9oxDD0Y0zsmsLd0BbJaYkIJDg5cQLX0crdxmdQLm9onL5mbSL05aszs5bwLsO07dM927dbIZENfbqwt5BY3LlBa3L1Be8ztBeWFU7oKVjBeQK+gAOABeHbkHJegwkARVDYWZqVs1VvLUWZeZ2yez9j5dz9CWfgdRob9ammCEtKWpEtpfrPdVoYr9nMfregFbyzwFbULXgMIdZ0uCNhU1CNFDrb9kIvU+EsaRWCFe0tSFf+JZheBTCscsLYKbSBNhchTpK14dlls1jsHvVILhYRTg2aRTJFbDIZFcpFmYcorfhfeVOKYAuYRTmzjFcJTzFeJTrFfLDkRdI9FKfWzVKe6N8Rav9UtIErhONO1TKcDjyVuDjPYbStklfDj25BkrOVrkrt2fytf/sKtQqbUrPjtUrycdezNKslTy4Z0rUAbk9+ldgDUGQatKTxMrIObU95lZ6L6so1TFca1TLFD09DxtGLV4fwDybMeKJstcr94ex1zcatlObIoDCquoDAVeLZX4eCrP4aYsf4bJzAEYpzTTs9T1OcnjjbP89/qZrpnTo513TsbpXbOuLaVZjlZYptVmVei9m8ZyrD1oFzYaNNhczrnZxVe+LonC9VxKEzTa1ClzvKCqrXjpfWlcszRxaeVzTVc3pLVbfjVaY/jHEc6r5aO6rfEfsDJufRLracxLokZedHXtuCY8u69E1a+dqpoJe01aCO5NuHTQQbdz9atBdMHKm9mkZwTdcM7VnLwjrxymjrq/BgwxCe5LvNrIT/Nv5L2LqFtO3u9NOQcIFvv08jAZs7K9HMAJp6dlLrCflLQUY4T71ZvTn1Z4TiZp+rr3uLzFr1b1HLr4F76cSj/DNLG/3qEZgPsFdcGOFdoPotLY+qtLErptLzttUTXeZRrqjNKj8wb/VmNeHzqGaUpPpfHzodu7NB+o3GOwYiSIZdP1bGPDLevUprJwcp9Zwd6jsZeWa/Ua3z/UeZrois8TrPrMlqdiPz3NfOabGZzLl+eaU+ZeFrhZfvzxZcEzLzbiT0tZl94IblrkIYV9aSaV9eQpVrA9ouj4RIUzrZeALqIdALk9vUzEBYNrlVKLdr0fe270f0zQ5YtrRmbqTY5dMzttf/esFtKl3BtbdzvrnLJ9oXLUMY99y5cvtjUuvtqSpaJ7mYO5KMf5DaMeD9vmYPL/maPLoBVxYC2jwYBODkAWAFQA4kB6ASfqJjaoZ4La7r4LKda2TlMd1DwhdgdP9zELB7u6VpdGQdn5dS1shbL9JdeuTlfq5j17rV2t7oKz6hdrrmhdeT2hbdDHyebrlWs/dNWcMLHdd/db0u7rKFfWRLWZDDRltSBbUKwrdhbVjDheyNcYa1jcHv6zvD0RTSHvJFFQMXrFFaGcryrqBNFbzDgF3xTDRu3r/lrxle9dJTPQI4roKq4rotKo9+j1pT/FaSLV9fMdW6RErKKMyLf0yFJSSYmNnKYKLl2Z49slat5H9YUrccaUrP9eTj04b1F1RbPDEns0r9RfpVulfCdEDb+zVoqMr4Os6LqnqLjFlfpm6Adwy2sqGL6TpFi+qcRzhqdwbKOb0uCqNNT0xYaemOdbj3lYWLVuLIb9nuBNPTyWtA8dc9Lqc1VOxfdTTDapzY9V89vqfYb8Vd4DQXqZzIaZZzqVbZzgjY5zYgeGdEgd5zWEfTlUzqbJ0jeTT8zrTTi7PS9HYuCyXYpTRzsK2dWjZXprJr2d7bihLzVbHF6uffjmudis8Nu/juuZ4j5jcbT/EcNzGNpzVg1aeddjdcD4kacbeJd/Z0ke+dRJcdzg6Y1+Wpp8bC1cpLS1YCbtJZNNzNp0jm1cDzDoA5bUBTmwvLbbA/LYOrtkbib6QYSbp1aSbgpZFtb+J9NuerFL71lQpXkdO9KebKDz83yb56cFC7CdoZterqDt6a+rFTeRyVTb+rNTfQJZeck5YGOk5kif71ted/TJpYbzXFOkFMNekZiibGDkrpUTijJrN3ec/Vzpa0T/eZR9iGb9tkzfPBtUfElOPrs5ePosFQZahOKzcNdhGY6jZPsjLVNeTtOzZjL6+bjLDNYZ9YXKZ9LNdObDGbZ95ksubP+tkVvNbPzb0AWjuZavzPwZWjLkuebYtdebNXfebZ5plrF5ohDV5sOjN5qVrJ0Zkz50YALT3nsV4LZujaIbujevu7LBvvhbOmcRbemaKWKLcMzgSt+SDSa6FJUt6FeLbpDlUtsz3ScXLvSbJbXvopbPvqpbKzJpb0hvmFNBbO5PUpDrfUqKVNkxkAyADUAttHsgPMHw8S7uT9V5eFbSdfqV4DtTrErdizUrb3d9wpzrEhZepSrcLrKreLrJqVLrNoZyzFde1bDod1bNdeeTilvArbyeNbUFdNbH7o79PyfbrdWb9DAKdtbTWftbaFYOVGFesLKsbdb3WbHrvWcEdo00Ir5pncLyKZGz6YeDbk2vQ9WKZzDXloxl0bfmzsbc3gAVrWhQVvW1J/uiLl01iL6bcFFmbc152bZlp19eErB2YLbYlZNWJbdf9+RdxVhRZcdI4e+h7OME9jFwBhlReezv9cAbEqeCd2xuZR4DblT8spNJ/bZidu4cLjqssQbiTr6LKDYGLFcfQb8OcvDjlewbvovnbUdONTUxcIbHleIbYYptluOcVV+OcqdJFmobg8dJz7uIir9OqAjcJovbNOavbdOY4b7OpNVnOoEDoadZz1ByQjGVfuLWVeH54jfjTxsKkbLqrbJsjdFz8jYDm09OWds9OzTlVcBLeaeBLFMRvjA8O0bSucar8Hf0biHdjVyHb3pWuYPpXEYw7v8YF+g1dFNNzslNaJcI7FufHleNvsbBNvxLdue8DDudV+JJa8bc1fo7QesY7E3snTgTbpLppoZLMQYDzd4Bgg13YXdzgDu7KQbvxa3r5tG3s3TGevHVwpek7+Qc+6N1eybxeoY5eTaercpZerCpberGEtzzOnfKbEUf07zQfZdMUbqbJEtETjTcSjDr1zNRpes7UNdIJ3TfttTEutLyien1neamD7tp7zsGe87yPoQzkYQmb+iambW+uoVIXYaj2GfC7zUeJrMdqNdi+bi7xFQS7FrtTtdNetd8Zeoz2GqTLHidGjZzYkVeXYzLx+eubp+fYznwbK79zevzr/2F9d+ccJNXc2jT+c8WoIYSTa72rLxiq/zMIZ/zp0eCJtXMHtSIdBbKIf67kLd1r0LfxasLb/NuALG7BAIm7Fpw+SNSZHLpIZMz/0axbtiKwLuLdpDCFvpDXScZDcSuZDrIbX6G3JUmOWM5D69woLQ7qoLo7sDrx3aqxp3aUN53aVYzcO1YbkDXAeDHOQeWXjr3BbWTaftFb7Fu1DghdupNMf2TL5YL9b5aL9APdQd35bZjpxKjaZdbGVqahULw5xArerdh7T7pKzL7qza7oaWV5rdmR8FYx7/ya7rjWfiBzWtazTrap5nDtsLUYZwrb2LwrCJIIrfrZnrAbaX9QbZX9oj18LTPamza9cC+dFZ39MbdCLi2ftjgKoBR7Rv578qw2zp9Zxx22cSLu2YGNOvPzbUovvr2Rd0qZ2YVFF2aaKVbb498lYE9ilc8dk4d/rTbe8duvfbbH2YN7DtMNJxvY3DhlbaLgOY6LyqatJCDfBzvRbQDZca6ttlcnb2AenbDlauK4xfd7yfOE6aOeLW3vbXblqe7jOfNIbAffIbH4cCrVDaJzNTtCrbnuPbkfdYDlObLpsfdYbDfIT7N7YZzd7dgjD7b4b6sOfb4cUutwjez7ojeyrn7dyrkjemdf7cKrlJoWdQHYzTlfd9V5EYBLF8dlzGXUb72vGg7uzqK9KudK9r8aQ7RjZQ7ANF776HaRLWHZRLOHYcD1jbNzbaaI7HadGr0CfGrs/Yo7bjaXx15KQTK/fJLV4sWrG/a9zG8tWrvufWriAv37DYHkBv9roAyyGWwiQ6tgK6dvxq3veul/cjz1/a29t/dAlIpZk7+6af7xDJKDJeuhuitoCj1LqKbmnb/lD3pVL3XEaDlTaAH0UaPVwiaHB8Ud+93QYs7vQas7lCgLNppc6bmUdn0PTYdtfTZQHHecmDnEumDnnY0FLpbGbuifwHffxHzONZmbeNdx9BNZwzvZsoH6CIXzRGdNdJGfX+ZGa0lFGf2bcZcObTNaMl9wc4HOXfObz3l8TfA+G2gSdubVGoeblXb+D1Xf4Rj+clr20Y+bu0YUHzXfl9qSe/z6SeV9FmKyT1ivVr2g+uj2vr0Hamf4hIRiMHWmdxDCLbMHA5eRb5tem7a9tm7aBfm7OLcW7zg9wLE9zhSrtdW5QhvQtntY5D3tfENgQ8Vaw7tGT9LfGTjLboLaZxZbCSNAKjYCibcdYe7grdWTOvlJjydYyH0WayH1hpgd33b4t9MaOTWmFNDqWfOTRdctDIPfVbFQ6ULOA1wdR0vwddQ6KzxDshIpWa4ojdZFj0Fc9DsFeOxVreljDWeFMQKfljDrdBT7WcJ7nWeJ7ow9jD/DvjDPrYp7Uw6Ir1Pbnr0HAXr8w7ctNItqBqMpZ7OHu2mRYaYrcbYBV60MJlURbI9AvfdjRw94rB2thVgYhbD2Fzplt9ZZT1w+f9cvafrDw8SG12eKLo4c/r44feHFReFTwsrE9rbZ+1vw6XDn2dAbzASN7zRflTrRY5I7tJgbKntMr8DftuI7Y1lgw1Qb5cdX2wdIwbzvdRHdcfRHGOoDFblalVuI68rePWtTks0D7FDfJ1+7dD7h7fD7/dRPbjDb2L7AeirRxenjrOoOtt7cSr97dT7j7f4b3I7iudxf6oA/OSu3OdjT/dImd4/IS9MzunZ/7ZL799RKrCjZIj3qplHSutUbPB3UbRwM0bQNrvjuvAfjbJrg7z8ehLWo877Oo+77qHa/jw1y6rN7INzpo+H7fEdH7fVfATWJcn7Vuen7p5PI7vaco7apuo7S/dmrPXNX7FJb1+41nUjRpu37bHf9zHHYPQ1E/8kEY5/F4eZjHJ1YoTCY9xd9/ZoTCeboTz/fTHr/czHZ6cjNbCfsa3/a07ypbzzRY++rgA/4Thnbb11FJM7VY7M7X6ZrzP6YbH9eaQgjefs7CA7FdEPuc7/TfyjbnYdLvY6dL/Y+wH8GfKjfneVdBA8C7Rgrqju+tMT4dvBOM48i7JNdDLBwc85FNbNd9A9XzuzZS76488FNwcMlmXZObu47ZrjGc5rzGZCFrGYEHp48rtQtYvHItavH2XJvHTdrvHDXc+biSffzSBpa7Ctba7ULQ67gLdkzmg8ujP47yTSS119XZeKTM9qgL2mZgLxvqRbk3agnaRhm737zm7oSswL9tcsz8FuQn1RIILqFownPbqwny938H+WLwnR/QInnmbKxu5eWp+5bInMyYCzcyeiHIISQAZkFngKOBrgc2kvLRwtXdL3bC1zE/e7MWaEL7E9pjeQ64nuxM0wTMaKHMhb6VchauTHMbB7mrbtDkPd5jUn1ArAsa0LDdeFj0K2R7XycIebdbmRnQ8QrNrZ6Hl2IMt/Q9BJRyoMnIw9Hrjha9bE9eqcU9d1jVPdnr9ytIro2eNjzytDbk2eor02ctjaw+tjGw/hxO9aWzOw+8nh9c4rx9e4rqrIzbfFdF7Zw9v9Fw6l7Vw8N54lZinYcbinetKeHvKZeH/KbrbqU+UrWvf/rLbd6+qcZtpHbYB1YDZ+zsst7bhxrN7CAcHblU+Hb1vcPDHU/h1NlcGLWU7hzfVprjYxbanVTw97kxcbjq7ZVRWOfxHBOq3bRI53bQfb3bdAYPbq1qPbzAZpHo8bPb9I4mel7dir17cWnrI+Wn7I9WnnI9WeAjZ5HQjajTicpjTIIzjT28ZwjbxaTT4o8Pjko+pNwHdpNoHfpN3YpqrIJbqr98fBLH0+AaX04Q7TeO1HcJeMbPfbQ7QM7MbIM56rxuasOpuZa95ufrmzupxLNo88OsCdcb8CYrVaM+dHGM9dHy8r8bVJeY7eM9Y70Lr37RM+bkk8/sg0oBASF5Zibh1eE7kFMSbgtok7OLtFtkneTHDM4PTt1dnhi6rvR7/YKbn/dzHhFO5nH1bGOunYAHICt+rwA/LHREpETDTfPV5nZab/LrabaUY6bGUZQVCs5AzTnbAz0PuwVaA57HGA77HS+sHHg+fARBs8oVRs+C7nZtC7U4/IHRNctnVA5i78do2b9s62b1Nap9tNZp9U5oEVrA7cT7A+Z92Xe9nuXYubvA6ubx48Eq/NciZ3weWj4SdWjoQVFr144l9ZZdkHL+dlrSSYOjSc/yZ7XfrLH48bL2Se/HLZZ0Hf4+1rubqKT+taejhtaLnxtYCxptcgnlg+HLYWN+jZIZH6Nc+6F1Icd9Lg5W785bW7JLaXLMMacz23cGTu3dvtIyb7nnROIngoaZbw8/D9o86YLwdFonKyfCzIraYnb3fFba8+yHT5YND2daSzuddOT+87SzAk8uTarZPn2WbPnuWYvn+WavnUk7ArjQ4grzQ5NbehbaHcFbyiak+MLGk9iBdrb6Hjrd/nI/upZUKaMn7Dyn9+Ffg9Fk4gXMw5RTy/qkdDPcWH00OWHzk6CLDFbcnHPfz2pYYTbK2b2Hvk4OHJ9biLxw4SLF9bF72rNzbAAUuH1jtZTsvfjn9jvOz8QyV7CU5V7xKJ+hbw/KLrC/SnonspVNRbpR72dyn/w695gI6KnJvYVTecfBHHRZVT0OtpmEOakXDpPHbqTsRH9lclRWDbRHKi4xHCwy6nj4c0X67b6nOOZtT/lZJHlDYdT5I6dTlI9MX4VaTJtI8sX+xZYb3qbmnbToWnHTvxk3DYuLp1qLFvOvSrkac5zXi72nPi4On/Of8X+VfeLUuqKrpfbS90o7Ij90/jIj061Fz09vjzfZg76o70bB7J+nQGzSXuo/XI2ub77ho5yXFjd6ruHf6rlWRsb9oIn7E+Kn7xHZtz55Onl/XuJLM1dqXlBsxnbo/X7OM837LHahdZpsZLoTZt0WWDJnPNrSDQy7E7Iy/OrPpsurGTYlLYNxO9JjSU7b/f8jK6vZnhTY07Ky/zH7YPCjBefVLUUZE5IA9Fn4A8OXEs/Br9Y+gmjY9s7AGdttVy9hrE+pVnrncgzyNY1nqNdGb6NfdLQ+Y+XNUa+XwdpIHWGbMTgZYoHgK7nH1A4XHds6XHTjJXHjiaYHziZYH9Pv0ljPp0Jns5TLXA/Gj7PsmjnPoK7bwcDnwSbublGvPHeK6q7kg6JXpZZkHfJzJXTXe+bic6hD3dppXqg867/+aKFPXfwNmtZzn6IYAnSUp7LhvuLnFSbNOZtYFXqLcrnHQurnk3OaTjbodrDc6drKE8kmpmpbnRBcwnJBa9rZBdwnvtaCH/tZCHDLa1XpE9iR07rDrhrS3Jz/UoAzAHnn1SuOFS87MNK8/NXrE53dVq6zrsrd+78rdAEfE90crMYcB1obdX5deUL4k8mVkk5h70k/rrhUMR7uhdaHqPYMLvybfnndY/nmk57r2k7x7WyJA9+k9dbAC6g9nrZMn3rcnrkw5+xlk8gXyHtRTY2ZNjy9aWHiC5WH3ltQX7Pc2HGC+2HXk+CtzsdP9fk8OHta8CnjYeCnKtXOH4U7SLzHsZl6Kuinna/lFg+2frFrMrbb9erbJReSn92ZYXDbZWKXw8ynnC/dZOU+AbeU8N7/C/k9gi83DoI+MrFU7gb4i+hHSDdt7msvt7E7bkXwxc1xmDZd7h6/BBd4dLWK7ZhBRDefD2Of97168Gnt6+GnRi9GnJi/GnhdMmnhnXfXM08/XhxanjP65OL9i8DTMEeDTzi6uLXI4z7q8bA3b7a5z6Eag3fOewjCaYCXszrOnBEYunZfcUbrQVunWablHNfYVH1VaVHhafqrOjdb7SS/b7KS9+nxG/+neo8yXZaJTVRo6H7qJahnZo8KXFo8Y3JS+tH1ufd1lS6mrnG88b6M5439S91NjS6Y7hpofFPo6j1fo46XuHbO3TADP7UY4gpeYLjHTkZpn4y7GXopZTHcneglCnbU3PkeU7nR003VLpQlum/Qlqy9Kb6y//7Rm74TPYKFnwCoHB5m4OXCUYkTxy5Sjpy5kT5y7kTJZsc7cNdQxtpfYlmGPc7wzcIVaNcbNvm/eXI48IHQXaC3Py9IHoW/NnizdnzViai3sXeIz8XfBXiXZv10K/przA83HaW7uDRJy9n/jO4HqK65r+W55rJ46K3Z49EH6mPEHBK/DnXJ2JX1W9PNImca7YmcUHEmeTnWdxa3ac6677W+VOnW767LK4venZek1HK5KThc9Anpg5Nrpc4sHE+TG3ME6rncE7FXC3ebd7Sd4N4MaJbsq8ILpLYVXK5aVXLmZVXfvv27AfsO7oQ+6l4Q7D9R271XyBXEg8qBAgsgGsAJEC2Whq4Tr12/cmy87NXAhZupbE5yHz5ZtXr5f/uRiCkLPH0+3JQ++3oPd+3lQ6tSAO9UL0PfhZ9Q+Kzsk6aHlA0DXkO9braPdfntUzhF6k6JZH0tQr+ypR3BPcHrRPYx3ZyqAX2O5AXvbTx3UMvTXpQMDbPPOzXGKcqNea4p3Ba5QXbPa3rtO48nZa+Wzuw757Va92h/k7Z3hC6CndHpCne2fFFEU9Er7a8eh1C4cdPa4rbQ4dytNbdeHzC+HXcu9nDCu/HXci9qLGHT+HVVplTTRaPMBlagbiqeXX5U/13VvcN3NvdhHUOYanO6/N3U7azW+6+t3yi9t3+Dft3OI/PXeI43bBI8WL27fKdDnuD7GnSdxWIJzpdDYj7r64sX00+Ajwe5irxxbirEe64byfZ4blxbVhri42nGz0T368ffbYjaFHEjdg3hfaFzHxYlHgHdCXKG5A7oh0iX4HZ7FkHZenOG7VHJaY1HjcrVz9e7ar6S4Bnpjdb3lG+w7ljfyXXe4I7rXstHI1c69ZS9bmnzu7RM8tJto++43HDRLhWM7HRAm89HEQanRUQfn3h3XnTrrCMErh/cPxhUk3qQdITInav7wy63T2+6k7aTfxdSm9urKm6P3wL3U3rM9U72m6WXV+5r1+m4YZqpYE5xm+2XZY7TNFY8wJQNb1LPeprHX+6kTP+8hrAwbvVDnZGDNy/hr4GarNYB/VnTy81nLy5834zb83cB8NnIGu+X9UZC3Zs6g1KCKJ9UXfajIK8/BYK9IzNNadniW43zRB8ZrJB7ozSK4oP2W54H1B+Ltv+roPHGeK3k2xDnZW8vHFW4jn7B9vH5ZZjnD468JT45rLTW5TntK9kRn47Vr8maZXv4+UzA3dUzQ3fzn2IYoNfmJLn5g6yJqh5+j6mutr45fgnjg8QnOh6Pteh/wLxLcMP8q+ILiq7hjlLYRj1LZ5DHmb5DXmb23PmYO3+SrO7nmpsmPaoZw4MGDHl4FDHtcgFbRq8Trvh9u3/h/vL6det8G89yHoR/yH4R4/LwluKHTq4yzGDvKHp87+3Yk6ArEk9qHwO99XGR/9XWR6R7Qa6h3FrZh3BR42V9WoSNJR9x7ZR/JZqO8qP/84TXgC6x349ecLjR+TDhO9aPkjvRTCw7J3XR9XrPR6jbm9eLXAx8578beGP2C/JTuC5iLEx6F7UKumPl9fF7za4+m5C7bXUU6oXQu9LbCvekrva/oX0cal3tba/rgqcdZo66qLs4Z+HacdOPGca7bWcaBHOceuPS67uPoi/uP8TokXllc3XfQ1eP2qfePSI8+P2uMGtzlYmLi7axHvpIxzgJ96nSh36nVlxvXdqdJH96+hPxOafXvu48oDDYD3SJ5j71i7j7ti+ZHGJ//XWJ8A3HfOXj+J/bpccu2nCct2nKe6DRLxbyrFJ4KrVJ+CXNJ4+tZVbUDFVY0DtfcVHWG6b7qo8/WsHcSXBzqYjo4rr3RG95PJG5q6Ap7q9yJfb3Jo6sbzXvFPRS4Wufe+lPA+7lP/7NkjqM643zubqX2vwaX7o41PdLxpLLS+E3u/Y2rYm6g8QF9iHoF4SHEF8E7q6cGXG+6tPN/dgpE6oo5D/eIFqY7o5L/dybbp4WXanbh6Xp645bYN9PfM707Wy4M7Oy+DPey8rHFm4/3Ry7BrrTYhrsA7jP0Nac3gB5c3nY/uX3Y/APnm5Gb+GNdLJCqHHuZ/M5o4+mbxA6QPxZ4DLqB4sZ8kqtnqzfg1ts6ODOB9rPkK/rPBB+YHaXdS3GXfS3O48y3e48oPB4/y73Z8K7vZ6EH/Z6ZOg554z+K4UyhK9HPVW/HPpK/vH8g+nP9W+fHyg7rLgh7pXqtbTdK5463r5vEP65//HW55kPBc5xDJg8G3/ZeG3/K5UP0E+PP4FtPPmLfPPdc+wLS3alXxmpdrzc67drc49ra2+wnG24Hd3c6x2vc8/P/c5O5e5e1Xh29Drjh8Nad19fAQ4DJMl26C115ZNXr3cAGq84e3uyYqR1q5e3tq8PdRiHzr0hcdXQPcEnHhriPihYAr/28IvgO+IvqR5B3gsbvnOhabrVF9yP0O/R7dF7iNDF6YdOPejXuk+MtmFdH9hk64vuFacLKa99b+O+aPaJNmHbR+Ev9k7DbTk+F5rPakvIRfQXgx5Yr8l8Z3Pk6Pryl9Z3ql8Mdje0bXCKpSLN9d53nYaOzrHv0vORbuHIu9oXn/tMvN2fMv2x8sv9besvnw5FTzbbsvZVsnXdRccvDRfOP3vNcvVx8m+wi6Bznl9XXrVvXXMI9LjLx/hHsi6V354eanKOqUXmlZcrnvfUXju597zu+0X01o7js1rs94J93bPMK93D642Lv4a2L9Df93JdLpHH64ZHX69D3Q2l/Xs8cj388dNV4cpcXHqPj3EaboOIjY3jgo8wjwo/JPoo6L7s7Jz3fs06vYS9PjES/PjDJvL3oJbiXDVYZ++G9VzBjdSX018b3pG/1HWS8FP1/NBny1473NG4KXq1573xS+l+cM5Y3g+/lPHG72vSp4Ov4+6Ovk+5OvdG01PWCaCbOp9wTN19NGSd7zMqd/6XQnek3b19k31p8+vd/btP+3vjzj/YP3Mtrurrp6XV5+8qD6nc5nxTZ/7BY95nhmwf3JY8FncN6ETCN9DPpnfETKN+rz1m6lntm5ln4+gc35payjlpfbH6nNc3qA4Jv6Z/5uzy4VdOibeXnBLzPny4LPiB6LPps/pvpZ71dyzeZv0XbWbbN4jLdA9wPDA+p9ZvTcZsK5S3WdoRXWXfIPzrpRXYt7RXNB/4HRXcEHWK/slS0cF9Yg9vzLB5HPbB5VvUc4nPXB9jnj461vs58Vr8571vi5/pXX46Nvoh5NvWbpALrK8KTristvO597LeIfG7EE7Lno26dvyBZsHrt7sH7t6BjrSZBjvVN0PhLdvPBh+W3Rh8fPJh+fPO3dfPe3ffPtLe3LhFujvg89jvf58iHAF6VYvvA/0LDG5bgRF2yLIAC1OSIXnGd5u3bFrgvW7qpjiF+CPBd52qcrejYRiEVbGF4PnryyPnLq7/L8PIh7+A2R5JF5vnhrdbv4O/bvOR/FjeR46HPd4YdWPc/nyIu/nMa/YdaO9Hv1R4sttR54vU9/MnM94HpAl/nvQl9cta/pXrTNQCLkbY3rwRYl5m99kvnk557FYb3vSl5Z3Na6PvDYZPvJC4ZTd/sl7Cx+l7Sx+LbBl/l7UlYjjJl4l3zw62PTC/fvsu8/vjbe/v3w7/vb2YAf067OPzl9lT86+BH7l4gftx4kuQ7YePsD6N3zx+srgV7QbdlYvDaD4PXPx5M9WD9PXMxZ6n8xZBPui7d3xI5Svd67WLFD5CrVD7CrND/MXuxdTFdbN8ujI64Ddi7/XmmSDTnD+Zz3D5LJvD9A3/D/5Hgj9z7pJ/z7Gcpav8G+S91J6+LyG5uehe5UbPV+lzfV7L3A15VHWutw3HJ7Ufmo+5PU1++obeIRLucx/j5utPpJj9eIIp/sOK17H7Ep973lj9KXW14qXtj92vi/f2vtHcUjvG+Ov/G7cfZ15Wr2p7Wrup/Yh+p/Dh5L65bwDD5Y1L9X3R1cpn/cKjzroxtPim6/xmTcToEpdmX53vKDST+erKT6gJeY/u9Bm7vTapcf3sUdqbZm8BrRT8/TBpegHOx1jPsifjP2N8TPQB/GDTT8Gb6A9afmZ/afxnM6fZnP0FVN6IHHZv6fdCsGfjCvQPFZ/nHWB8XHHN+XHdZ+S7DZ9S7TZ/S7c5uTLe+ay33iZy3h4/RXA7x2fQc8FrMQsebYBqVvZz4lrFz7Vvk541v7dtufSg9rLUmcefmSeefy560Hq5+znLXJ63Ft5hbnK7hbRteNOvK6UPh59Bf1g+FXtg4KlUL6nL9c5wL826bnd5+RfD59W3T59IL8MZ9riMc3LyMdxfCwpjvv58UNG1JJfU4DGgxkECgSSI3gnLd4UTYHcPqAG5SkF+8Pi85gvTL+zv928CPj28zrohc5fr2+5f/3b5f5d8PnqraEnrq5rvAgVFfSD3FfTd9IvbjjknFA2KmLQ7Ut1F/aHoa9h31rZML2Pd6H6r6HvzrYexAMp1f6sdJ71luZZfF7cLJr8zXcw/aPIl/gXVFfEvq95cnwq2kvDr9LX296wXu95wXKbbwXabZ4rUx453Mx653pC5530L753XYaLb6tJWP3a6mN6x55TZl6SnFl5Snux/jf8u8Tfiu/5xATocvab6cvfC70roD8gb4D513A7YhHZleqnvl9HbcI4wD5b93Xlb5nb6D7nbR646nbxvRzJAcbf5AdBPei5IfBi7IfhOfSvFI57fVI7MXCJ4Hf48dmnzD/2t479zFUe6nfHI9j3eJ7nfL7a2nITB2nbxiTl+07T337cbJk7MS9IoOL7kj5Kuee+unSjb3fZPwPfajaPfGjaXpUHbPf7J90bbfYI3176BeWj6nFGS8BnLe/mvbe7RL4M+w7kM5ff4/Ysfh5Ksfz9JsfO14X7foKdzIH+8bE++BdU+49HUH69HMH7n33j8tNt19boWAGq/QaEsAdX5BwrVA4ATX72y6H9ev6Lupn4T8THdM73TUy7+vc6sU7J+403WFKVtgUbBvd3ohv8Zqhvmy73hgZ9M3uy8Nt+y4Yj1Y4EZUZ8s75T9nIdm9lndncAztT7bHSA47H7efxvgn8eXwn683JN9eXes70T3T4C3vT+x9tN4GfkGoU/s47ajyn6rPdiajLDietyzs6xOSW+IPAt9IPPjIM/It47PVB79na5oDn5n/oPwc6s/oc6ebpz6SZ9n88ljn6ufKc8XPwpXeWtGt3ufAQ83xwBbfW8gW267N59NfVNvdstJDx1rXrd9fWejeQ9bb0Bfe29gX0dvCuc1Dwm3DQ8ptzt9D28nByvPNt0bz19vNL9/bxW3Nucg7w7nHCdQ7y23fCdgh0D9b88g6xO7ew9471ZbGyYDwGdkI4xNrCVAEBJKoEMQNO8gHQZfdr8wHU6/AI8uLQzrPZMQj0LvMI9fmSMQQodhv34nCu9nV3G/YV99pWm/G4lZvzuJDQtZlRdDBHtIKwh3Vb9O7xovbu8Q0kKPcNdijy0nUo9DLVjXEe941xHrTHcJ72AXXi9U1yNfCZ0rv1p7YndYFyXre79LXz0GJBdaK0kvO19sZTW+WSQhj0+/Xnsmd32HcY9D73+/YXsiF2MdI7U5jwDjS+8g40oXDtc77xFJGhc1j0eHSN8GF2jfQdcdjw17ZUkbL217ABtk3yAbfXt03zx/btsCfy13EEdSp0VlOlxSfyqneXEk6jgfKys7exkXB3sK31Qfen9q3wwfSK8U+WwfC2Uq6i0XYE8dFxs9Pyt3d3bfT3c+f1L5WE9qH3hPD2Upp0HfFp0bFzRPMd82H0xPSd8U+2SrNPsn20V/dxdX2yJPZPcP22EfMk8M9zg3QJc2r0J+EJdpHzpPcJcGT3kfKJdFH1iXN6d4lxGvDUExrzLTZiMj3UMbBvdXf35PB99++yffRcUjHyWvUU8P3073AP91rx/ffvd4Z1Y3N+lCSxRnID8HHyj/F0dnH1j/Vx9bxXcfKdNWlxE3dpcfH2/gHgD1rGOMAQCxoE0QEPM8QlibYJ8S/1wFMv9aZ0ifPfcq/1ifAj94nzr/IG8yPw/7Cj8aGT03aj9IbyyfOj8cnyf3PJ8X0wzNN9N+/3FnNj9v0xgHaWcbO3H/ap8umyn/RAdxXQafPG9EazTPDzcMz2X/L21V/zwHCm9JP3gPQLdt/1k/SfM9/wsTCLdD/0wPY/8uo1P/eLdz/y0/F2dbXSGjdxNEV1WffsJ2aw4qJjM8twlvArc3/z7PBg8KuyHPMOcf/0BDP/8TzTjudJkCuSjdcTMyuWpXB59IAKTdYpl1BybLHJMs5y63AL9BuzznX59+t1G7DADwJywA5Q98ABIBZ29q3RCVQgDa52hfWbdkvzBjBF8KAKRfKgCUX0y/NF9svxfPXL83zyRjXkM6Wy/PTVcfz2DrDgD/z0otKcA5oECcAwQSZxa/FIcGJxvLLO8+sXgvVl9QoVkAjl8QpiLvN7deJzOTaI8sLx/LMocnAUm/NKYCL0rrIi9q6zm/SV9DAKNbYwDZX1MA+V8u73yPSwD6L39DWWMB7z2/fus9J3YvdHdOLxcAsYdJ7wmHDwCmj2NfDNcfAKzXRe8LX3J3R78GRTXvMICltVUdcItiPSTbYmUdHV+/Sj1EgLUvQH8NLybXc+9/XwyAu+ssgOWPEN9Yp3yA+Kdn70SnVXt0hiHXMoDBZQqA9hdf7wnXFN8Tjxx/IB8M3wuPfLg3LyJ/FoD2i08vdoCDdyLfJ494H1LfRB9+gNp/QYCUR146Gt99cTt3Op4HdwmApp4gT0vXV3cBpzbfFYtUr07ffn9H10F/Z9c+3xF/U9s8rzTFaWFtgPmncPcpf1RNY60zVRSrdadTgM2nLPtarxutdX9U9y/bSZ1tf0n5XX8s8RTTYq485WeA3d9UN3N/B6dLfyena39WTyGvbnQElz+A354AQImvA3UeT1vfcwMOq3BAijcDH1yXIBMwZzF+ejcZTUlPWGdf3xRA0P92N0A/CP8aOwHROjsY/zG9CAVTr0N+LU8I9S8fEJtU/1NGCcC1lhjrNsBIAlNPc/tox3ibS09Qnw+vaZ5dvQr/aJ9fr05Aoj8cmzmXMM0G/2zHS/dUnyo/Vv9HvXb/bJ8BZwlAoM98n17/RG939wH/ZptUbxOXdG8lQLgHJvN1QMVnUDNkzzuXHUDcFXfVIm9ID283aA8cz1gPSm8zQK3/NYNMM13/Hs00DwP/Gf5Kz3Wbas9Yt2cFZ0CAITmfWn0Fnw6EZs8b/1bPb0CREF9A8k5/QJ4qLZ8MVyHePZ9ADQOfOW8b8wVvW4ZbP1//ITMpayc/V/MiuSF3SlcwAP4PSrlWtw0HYFtcDWNveACPnwhbL58wC3ZXYL9ZD2tvDGceV1qpPldsAPLA830wX1i/CF94v00PBCdtDzhfa88mwMnuP283awDvbwd2QzoAkO8uQx7A/L8+wMK/I7tbD3SIJXBIWBWAJyIK8CwMe1ha4FgZWUAdV1gAUQAleGDHZQ0RUlKcWMRNYPYgbWD6XynAN7B3AG6xDd0OLQ+7ded2X2e3fr8/OyGwFZA54FRwJ0BNhQ5AbI5EACMAEHAruxbAJAAtsF3AdQA2gFRAXaBHaF+AERgXfEPdLVID4BYATTBlAILrTC81AOwvX8tcL3iPUSdxlSSPGoczwL0A/VsDAPh7K8CA10ovOV9vk3vAxV9HwN7vZ8DkK1fA1h13wOHvLV8nAKyBce9fwNcKLWMkHVAXalYW4NcLY0h24KuRduDrJwtIDz4LATNfcbMAgIgghPBowDbiGitUADHg9et2anXve18JWS3vXetMIDswar9BgGmAM1BT8GUkHUB3QErXfe93X3wXKK0z6xF7FIDNYCzgfphOSRPggwAz4KgCPjhT4KLQRUQm0GtAafArHXTAPVBMix2wcognwBuHaIZQ31F3bK1bVnfrV+8Y30ZIb+tUf32PPkJbLzFTDY0Vd1qA3H8KrgaArN92IIaGTiCwR24glddIR3J/R49JFzh1LrhjkGp/BqciYXFRFqdxIJGA9qdXjSXbVn93K3Z/EA5YFk7jMp18HwqdQxclgPBNH3c+6j93ft9dIM2AieMmHzYbYq8TIK3IJxdYAHVAIQBHaF6da4t+smjlM4DlfwrkOyDvF0avMflXizuArPcgl0eAjq9j4xkfcqs5H3lHBR8T32BtSvcW+1UfFYI/nkyCYGhNHxig9qsTG3ig4GdEoKo3PJd331Sg80dbG2/fIP8soOsfba9coPD/ZfFfdWxAw69VTz43bGdIP3Kgjx98ZzaXa68aoJP4BqDom2agtfdUGRk3Uv8uoNSbIUt0m3w/ZTdMgSZnY9MMx0SfEaCtN2VtDmdnaFqDHmc/+z9PYWcWXSfTf6tCbjf3WUDinys3NG8bN1H/Sp85Z0n/VscQcBcPfQAGAFxvdfRGMCzPc6CsGCeg8QkXoImfUFd3oNODfA9voJhXKjNFnzdnQpIPZyFve/9kV33HKpJNn0DA2g9MVxK7C/NQwNxXeW9ytyy5Oz8UYOjnQADnPzfzHICE521vdz9mt1TA3/N4Q3xg2ACUWl67EmDdBzJgqFtAJy7yEL9jBxpg8L86YMi/LKUjz2Zgk88MW0hfdmCI4Afgtph6wK9vRucGQwRSDwcElVRfclt0X2VXTF9VV0sPQicBwOLIW+CQAD8zdrEdYLoKZIcnu1SHRicFwNmlSLUHyzZfJ7c+v3XAhQC/Wkjgg+AjEHtXFQCdwITgvcDhlT2lH4Vz5zFfKZUJXwfdUHcxkTbvRSdH5xgraEVv3TDXX4kbAMR3OwCf501fT8DtX2/Amo9uLzJ7c78AIP4vYCCnLRgXbwsc11EvDy1sUwkvW18i1w3veeDHXyiAhncYgNdfH78D7w9fNCDj70MeU+8TtS0vcx4A3woXY7NBdyOQrtd7h2IguhdCgIR/ciChNHV7B1kTgRogpOMOF0x/Nttsf1V3GddGixAfBBCwHyQQ/qgyp3zfPXdhAg6A0PkN12wQgK8hILN3ZB8WZjp/MSDinht3Wt81F3rfDRdLZTwfaYCCH18rME96EIhPRhCQ+y7fGhse6iF/F9d1gNyvThDxfx4QpJt6c3YfRnMBEN4beX8eH1bpJX8bIJV/Oq81f1kQ0dkmrxFHX9txHwUDRDdc9x3fW2EfIM0QkvdtEMCg7DdgoM+ePDcHf3UfDvsb3wHcO984oP0OR99hTWFPajcUoLysDEsGN0D/D9kXEJD/NxDibSo7TECdrmVPSjZUEzj/MqDwXQuvLSNfRz1Pf0cNdGnA569Ixww/NqCYqCGfPfhsPxgpeJCvrzyDemcYnyuxAaCAbyGgvyMskIv3FW1xoKFAyaDCx1FA/096P1AHVoNtS2lA3UsIB0/3NaDv9w2gip9lQKqfM0s1QKaQ3aCkz2APAZs1Zz1Apf9ib0NA7M9yb0ug00D8zzElPp8TZzk/a0CIu2sFUZ9+kPJrdm8pn05vJLtVxz2bS/8Dm3+gvT8OB2FvOZDRbwWQrs93XWslKW9oYO3NUJMwwM2Q4c9tkORgt5thMzIhOA1ZfRnPNz85zwgA/5s0wLClGACRDxuQsQ87kIkPCoVvn2/Nbc9CwLC/Prk4CwyJEbccAKfscbdyAQIAikMiALrApL9QUJS/cFC6InszLxE+kyyxVcseAXMPYZNEUPVXRzUJVDSIWWDqQAsAF9AFYFAAFgBEIAjAIJB0wCpkBaBlp00wLTBiACMQR+RiABRgVGBiAFjAEvRiADciGABAHi1SbVJiACjAKgpGsKywxWABoAjAHLD/WkawvLDa7AjAArDFYAimE1ADpAjAMrDFYHF2KmBIyEawmrCAHkaw+rDFYC4+CwEHoEggbaBCJEzAB6Ap4EmxB6BjkHTAfrCdsOIAF+CHoD1QdMBRsOOw/bDKsNB5fbDpsKeFfbC5sPTALj594B6VEAAktVeoAaAnDVeoKeAloF61JB1XqAimK1AurgWgUbCAcOIAE0NXqFNDBaBpsPBw4HC5sJOTYgBtMAjGSQstMAGgd8stMCngPOstMGOQTTB+sMxw2HDisNLoPVAY4K0wcXZNMEqw4nDYcOmw3edYcLmwzTAuPhkwYP4Ij0fkAaAjEE6wpnCisJ6wku8isP6wnl8isNxwoxA9UCUAx+RxdiMQSrChcIyIa2AF3WzSLAxYQCfQcMgUwE3sW0BYUDbAWXCEiBVgeZBbQDAAJXDljCAwdkhMAA1wrAwgMD9gXXClcCeAOQhjAHVwp4BN7GXwFwAxCDNwzexFgFIARwAbcISIRwBAoBgcR3DljBmQGZhwsDdwrAxiIFUAQ3DswA5ABmANrDSMagB4yCnAU7ADAGMARcBnkFbYXSIH3BKEAaBo2FU6bO8pAP0BdQA870UAIjlsLBsuKE9Oz3mQkxZAwIxOCygS2XmAYpBz2wKvDGIYCCMyWoF7WG5AUIgPUKdWIvwtRUVHD9IFAP7EcfR2YBicZiBFwEdgM2AGJCqPKVDdXyx3BBAroC4ZbQAACQimZABEAEIIMmhMAAXdCYgp8MogU+RHuEqgVpEowFxgDwAzIDb8cfI71n6AYMcE/X6oDQAX0G1gglRgUA5INxh+IFscZSRG3SgIWcAYzEbdZFUG3T/sI1CwrRvgrxBNsy3gC7BhyBvgy+DaPVEiHUBf8M9AeNsugAxwXUAxgCW/Q3YgZCfnB+c4Vgh4bQBdkEKQCZA7cK6RCHhaIFrwgk0JkC1wpvCIeBWAJy4JkFhAGu5SnBVgNoA7uxeIFyZ2IGuQL5DfkJrdcbkUkOOQELR18LO/Lq5p6xt4Gf0beD9QqNkgrz5iHnM0fnPIKBcCfBygFpIlzzKZaugegCeAbvhTIH+gMqAIAFqQMQiJCJCgs7g0rm7g61Av8ip1MadWEBc1RRAl8OoIJWgMcGCoaCAkjAsBKODWgiS4MAA7uwgAbQBzgGz/eKAuO1xwZsQBoHqQTCBHAF7AVNwkwBuIX6hxqH7UbNgAwGgoAlhS8KlALmAzAEScdyoSQDJAEGAvCMwgFWA6gDqAIJB6kCqAYhQ2MGVAMGBfYLnoJABV8FboYNo3CLqgU3B5ZFaUNwi5hC8I4gj5CDUATAA3IGdALwjjSC8InAhgUD1AUAQ3CLvwlBA3CIaAAvZXIBQANAxU3HUAYUBL8CHMLwicoFVEeZQsADqgfGA3EmCIsEBnKErQYjg3CPiIoJNhQFcIlAAfIAwgaSRZiKCQQyMziCQASGhsaGAQoZAZkGYEIYiXsDUgECQgoAHACkR/CLfSAcAxEG0Ac5lbgFcIo4ijRj4XG8gBwEOgWiAPCK2I44id4BoIG4ihkDqgKSQVYHmAT4iBwGqIt0BfiP+I53D8qFeI7kxzQGdww3xDiKGQbQAZoC2IQVABwDhIrlgYSIHAPKBooEyoC7QHiNEAABBh1BMUIJBhiFmAF3IlgD9APlg9QETwB4jRcA4QJeCjAHHwmDwOaEDQFQBFkB/EVwiNrGRAUghbQE5gN5VswDZI3MB5YPngGIg6IHimHkiegHZI/ABVQF+QS3D3SAT9KzDl8EwgASh5JAcIoQBgwBMUXNB38C3YWZRC0AXgFoBc0HVMTUiVSJ1IlmhsIEwARMgZoH+gHwipki1I1UiWaAZgFJAFnFrICtADSJgcFmg1cLHADkhHSNXgQ0jdQBVgH1MPSO1I50jdQDqAAlgxSLwAacAPRCVIq0ivSMnlaKA8ABmQcQA4AGNIzI4rML9I60jdQGegRcAuwCVAEMiwQHR0eYB2aWyIWiAn0AYgO0cC5AlIgaBmIERnDeBRAC47eKAtQDUqXaAMcBqNKeBtQHrIzUBKAHBoZsi6yOQABsjKAGQ5KmQWyO7ItsikAHlgu5YqDgHI90ghyNzQYyAxyK7IiciMcGaI0sNOyNbIjHBviP7glaBZyJ7ImiBOaCXIwcjGyO74Hci5yPbI5jgDyM3IwYBhwGp2VoAfkBPIocja4DD2GcjlyMoAF1B7yN3IygArcEsACvBryIxwB3CGABcPCcxsgDnwMhBU3GchN0BUxFZobVAhkGYIa0hKkB8gKYAUIDAooEAhwF4AJWBGACz/MojR2Fgo0gB4KIgopCizwGAwIJAI616ATPg6gA2sWHBRAA0AcaB9fHRASUwo0HloGYZIQF24L2wQAHHwvoBWgB+YPuCIAGGAfakYYCWAWMiLUFTcD6AOKJGAbijg81XI0o0BKM4o8ERJTAfwfmAZ0EBUAaBxKKEoqSiSBH4on/AJKMyQOABt2DIIfzAVKKfQCSjhKIOAHYQMQGkATI5EwCCQQ0AlgBVgANQHCKTAMUjpiP4gF8hNDBso5MRigBSIFJgCWHsot0gp52lALRhQAH2qHg4pwBWAGSjcAFSREMiXdDRwelAaAAzkAAA+G5BuADhgSKiSwAAAClTEAABKIAipwDeVUXDJCEvg0PCalBAAZKjXADyYNKiokC/wpbC0iFFwn39wkIYALyiZ5z6XDtD33C6Xaedel32re9symGGsRqiel1nnSJDg0zrwdqiaqOaoued723Hw++Y+qO6XWqiWqL/jOGgGqP6orqimoM5eaaixqIGoyJCkGQWopqjZqP8kM09RqLWovpddoEUgOgBMZHkADqjxqMGosgA8oD2oiKBeLEOomaidqPXTP2grqMWo9aj0oDOogJBASIOo6qiHqL6XKPN7qO2olqiir2usb6jOqL6XU6juAACQe0AwMInna6jfqPwFAGjjqOibUFFOl0howajJdS2owGiWqIUDFGjYaMgCLVlVqNRowairHQxopaisaJ8kHGjMaKu1EVgSaMJoh+sD0gpox6jYELfxGGjKaPSgZoCSZBpouqiJ3w54AmjaaM5/TmibqK7jemj3qJ+owai++RZoiGiPqJaon9sRaIZormiWfwRosWjBqMLQ6WgjqMZo0qtoLB5otGjFdTVowaiV2QuQVmi0aPWdRWjEaOWosttZaMFo6Jt3aU1os2jerQtoyAIHAhNo3Gjomy7pa2j/JDE6J2j0oE5KV2iAoMwSKWigaOkOA2i5aOibU98vaIFo+2i46yGCD2iV0NkEXWjBqPG9Q64laOloj38/aNNoyAI4QPDohECZNm9oiairHyjoh2jJumzoyAIB03Dou9DE6JDo/yR6K2Lo0miRADaovOj/JF6o6uiuiDngHWjRaKTo41Zw8HDovoBtYCTgUAAMKHLo5WjcnjtoiujJXELokzJw6OF1V2jRcMCQoRpw6PsgJ0AawCSDfLguO3lw1NN6UP5ouOjPqMXQQYAO6K18ABANrFlHPHEM6JOo9tQsDCYAYwwrdiwMGuArdnDouRAkyJBgI+it3kTIlbVb6OMMc4hMAANQXMAYADl8JMBRXGvonyBHjGVAD+iUiO9gzSAL6LLaJMAlQFuAUuBQqOWMY+iTvAgASBiz6ONAOejQ8OTMcOi2gP7o3ujqySsycOj9ADwADQAcACwYegAxgGa+VOjuimIY0BCR6KRccOjEnUoYyNkR6K64S+jwrybokujjPUoY+CQGwAgAAgBRcLGTB6J96OibAzCOcDrojfEe6Meo+VRo2CngGyYcCBWQIKjsoHOwSFQwqIUACKjwAAzkAAAeAABeWKjykgSo2ABkqJwgYqiw8L7ATKjioAjrXgBNGPyop5A24E0AXRjNIHfwraA5WAqo4x8BGJWnNBiuaPZHKujGGIHo1qioBCwY4NNhqO7KVOjB+yEYtmjxNzcY3ujlvR4YyAJNqIcY3aiAkDeo1ejxaOeo/ajLqODo9xj7IzuopJje6OBo86jXqMSY2JihaM33YJiuaL+o1JicmOibDJjQaOhotJiCmPKY4pjIAnho8OjkaIcY9GiHGOxo/Ji+l3xoppjiaJaYlqiJewcY7IDw6M7bRuiwmP8kbXcBmIqYtmjpfxGY6pj/JF0XcOj2YQ5ohxjhaJXow2jIAgloxZj/aMgCGWjw6IVopxi+l3L7VZjm6M9ADWiHGO1oyWjRmL1oqqssGP7DCZilmP8kc2iHGPkXGZieMkjozpjcmJy6FBjBZino92iHGM2dbZjxaN9on5jBqMDogJjfqLDor5ilSiwY0qCgWIBYhOi9c1MfSFjomzTooOjJmLcDZuZ5mNzo55ic6NV+IeivELqY3fxw6NcYwZjK6M8YhxjfgAbok5ikWJSvNujN6NDw7uj/mMtopjo3mJ0CIeirZhHo2skx6MJAxjYp6K47WejNAHnop0BF6NziAV9OzixYrAAN6KGQW4xt6P5bJXU96NOYg+iogUfok7xT6Nlg4yAL6IcYq+iH6KVwaBiN8Hvo+SR5WI3wZ+jNQDh0N+joAH/or+jEyB/ogWx36JaAT+jUoD18A6B6s2KgMBjKAFgYo1jdWIYAZ1jZGOWMfSBm2DUgUABkGIcY1Bjw6IwYxqgLmJwY4zB8GPYY9KBOilIYu3lo2M17YLhyGPykahjGWKaYmhi7mLoY1ViGGIJYweimmNYY7RAI2M4YoiduGJlY3hivm34oLNja1ThY8iARGOOTfyi+wC5gWgBjxRkYxWhYMHCog3ATGKUY9Rj4qMUYpKjUqPSo+VIq0iyot8AcqP1AbtitGLMYoqjUMFKoq9hbGItKeDYHGPqo9Fi5qNl/fFji2KXYznVa6MXY0mdvGIAJPxiLdVpYuaigmPLY0JjV2I2o/l5y2KiYhJjbunLY0pjL2MdGc9jbqMrY/yQvqJPYp6iQaLoALJir2JfY2nN/qK/Y1BB4mNoAMGjhS3LY3b1y2NqYhxj6mM3YoAjc3EoY8mjIOL15YWZy2MyLHpjzHWQ44N992P8kfpiyWOuYpmic3zmYuDj9gLw4+9jCHx1iB5i+aMfYojl2UA+YiflyOMx1VWiHGK2Y8OjdmJo4gLJ5eEY46vtmOMV4I98LmONohNiwR1oYrOpSOMLZdDiiOT6wf1j3mIcYsLpY2Ig7YTiYl0RY7Dil0KeY4DiQWPw4tUE5OLWY0mcIWJY4EChcAGnwPR9Y6Pk4sU9mOIRYozis6Pw470FUWMxYizj1fhxYoVY8WJLoPFiiWPw4kljWkUDY1ujiWKpYkdiaWP44tTj9mOzYszjh6LuY1li66PHol9D9OPU49KAuWIQYnlibCL5Yt60Yjxk4pvhRWIHAcVjFiN3oqFFr2MPojVit3kVY4qAsABVY/Di1WJ1YrLjjDG1Yk/xXWLeWF+jDWI9Yk1jItG/o5WgLWONYq1iAGPq4oBj7WLnoR1iIGJdY4riYGLgY2WCouJ9Y12MEuIDYnpi0IzLY39jsGNwY/2ALYAjYzdQYXCk4jEh5uLJVQTReOLC43zikGyTYzGJvOOY4nXExOOTY/DiUajYYjhjrDxucBxi+GLG48liK2OE4xLCufBLUWEB1YCkweUB9lCDIgLBRcOnAbQBakAeuHmAiEEvwN8Bw4H9wmcBtAHmAMwAfQEiIk8Az8NoAf7i3uJHI7KBvuLB4v7jzcISIN7iuYBYoo0I4eLoASHjtAEA409gfuPB43XDKUOjglGAlcDe4lSJyAAdwwJwcePh4zew3uJ8gCipOIAp49HiEeP4AfHiY4MIAfHjqUMOYDGgxSNDwol8yvzHAxhxmHGtGbFDjYNxQ+cC/D0kApcDJWyQvOQC7YPJQw91Y4LLvVQDRv2B7Ku9hJzwvBI9VdlZQoHdzwI5Qlu8wd2vAnlCO7zvA8wCHwIicJ8CVXwR3KNc3wPQrKwsJULrgg5EG4OMnfV9/wOnvQCCvAMVQzwtlUPIrVVDh4LEvK18I21xTXo9Z4PCA5bV4ILYrRCCqwy21E1D94IMdL18LUJ9fQSs/XzzbHS8WPQF3W+9bh1yA1Y9YfwKA/+DJd0R/N+9kfyogpbi2Fw4IyBCNKyDQmBDmIPqAly9w0MJ/SNCYMi4gmNCLey6LPlEap2QbE3c+gNTQgNDdUwzQr49WpxIQpn8yEOivNPlKELivJt8ZgOI4uYDlIOu4Dt8RpyrQsPtWEOyvWh9xYXofIPdGHxD3ZtDBbVbQgjiOH0OAztDcT27QksVe0MJPAR9iTyEfXxcR0NEfMdDKTwQ3Ld85G2nQivtZ0LeArRCPgJ0Q16cYsnPfe38a90d/DR9ooK3Q2KCLEN3QiED90ONHN98LQT9/U0djOJRA5jdL0P/fMP8b0PygmpdHHxVPMDk/EPVPAJDQuJ9zGdM/c1E3MJDG4SbAWDwF4GtGKJC/0ItPWMd3r3jHFkCd91usSZdIMKybNMd0kJZnTJDwxmyQpv8kMOv3H082/zQw4pCNS0lA7DCvvRlArM05QNBrUp8akJH/XJgx/1Iw5sdLlx2g65c+Pxc7AT9aMOOg/UCGMIHHJjDxP2QzaqM2zXNA26C/S3mbQmsLZ14woFdxnwEwyZ8ZFgdnaMtRMIv/S24Nx0kw4aNpMNmQ9s8jPzzwgMDFMJLtFZChIFK7GW9qNWjyaz9IkyRgqMDdkMufPTDKywTA3g8kwJyFc5C1BzkRK5DLMOLuMFsbMLNvB5D9ByeQgt1Qv25Xd5CaDSBfMsD27m+QmL9qCOrA3zDawMS/T28kJyCwtwcIUNCw0alNu36TUw81y1czFkM77QjvfsCo7yc1Yr9pIiKkcij6KK54kLhOhP6ARUgyUGCgXoToCGcAeWBTOjuQTEB/oFrgTQBq6HAYiABo2CwMEUgZxFToY3DQiDoACQh9gDygKQh62Gx5PABNhKdAI8wtVGbwEiBq3U4GIxBAHk/QXRBsACwwRginYFfgK4TPABVgxvAOCjOEkSBBhNqI14SjACAQPbJZ4Aq4IpBrICq4qDk/hJPAJlQh2IH4Z0BJ8U7ABXD2IE4IdujpcPEIpuRGkH+EihBYyLL9IET2IGRElYAETyRE9hj/CLdYtyhsRIU0UNg0RIOgdhiQCIRYfETgROREoO4oRJJEvABuQmJE2MRrIAmwGkTIRIRIWwgcIEsoxljTQAGweXC2RNZE/4Te2G4AOfAjWN8cIUTaIAikHCgIRMZMIUSs8A4AGESMQAzuOyAhRK6AdQAfhP2EvAB5ROlwwUTPABVEomAOIGrgbp1RRJ1EnAA9RIoAA0SF6ifweP1bcCVEzwBakFLgVeBNRMVEk3C7RLvIQ0TpRNtEuTBV4EJKS0TfgGtEk3DgmEdElBAbRP8TSrRSDiNEkMS7uAtEmQArRO1E4wAinCWAPFhAxNjE+MTuMFjIsMT3ROFE9QAcyKWAJMTK1GVE1oA1AGzEvsRgxOyIkiBciOlQc1ipQFjEuaAKYDdEpEghRLEQNMTIfm20E3DAxLfIg1ipkG+QSgA1cPGErYT/dl7E9UTTsH6IaQin2AHE6uBviKuZeUgxxIXgekTQsEZQPsSymHGQacS8AFdAIJRYxMZEgbBjcKFE6dATcN7ATkT1wG5Ei4AtxJyAYMS6DBFE5KgDIEgYlawDIHFEnzB6UClEk5ADIEDE2uAngEigHZADIGREo+cTywxErypvxJxEypA8RMR4D8T2GLEQUNg/xNjIqOg+CHfErUAqRNaUcCTuQhPLDcSLgH1w9uALxK1APcTaQJLAQ8TZABQkp7Btq2IIKOts/0iwDwBnICvE4qAZmFq/YiSegFXgW8SwRIGIAhoUsAokoiS1oGokheA2xIMAe4T+yUIkvFgqJNU+biS8AF4k1eAkJKcAfiTZsEEkqphyJKEQniSWJOcgDCSuRIGwD3CpJLwAMSSZJNRICpgdqQqQdxhzxMeEDSTBhNokyUS3SlDgBfgtIEGEwMSnyJaoXSSjAEDEt7BPEC/BGBlSQE0kwMSf6N7wRPJ7JJMkowALJNgZTSThJOdwyyScOTck7ySORMwk2ABsJN8kryTBhJDQMgAyJJXJfST7xMMk/3gxtF94XMTXICDQTCBUmGIIINAfJKDQSKS5JIPEhSTspIsYH+0zROCoOgAipP2E6KTSpIMgYqT5YPFwzexKpI9Qf6BMRLmE1FJ6pOKksyTQ0F4APVBWpP2EwMSaxKC+bqT/oDbE9mkBpIQAQMSkuMLEE0TWEBGkpyT1iNvQd9B1CTKkwaSOAFhEhgAapMhAKaT+MCqk/YTbSO4wOsSRpL6kpyA9pM2khqSEADzI9aIjpMWkhABxpInIdQAmxNEsFoRLpIWIuaTLCgukraT/oGEkiwBLpNRqS6TcpKwkgbBPpLekhfDvPzKZV/JN7H2QZyFopPBk/2BYpINwB8SoZNdieGTAxLSkzlIgnEMjf2AzJK8ga5IvYmchZ8SouMSoZyFhJK1w5yE8JO1w36SQpIGwImSpuMQoaCAGAGikjwAaZJuICUS4pIYk6mTpcMDEwGB+iMfQAEA2ZOWkhUSkABUieawuZIZkwMT7YEdY6uAupGFk3mTpcPbEq1iJZOlw4SSpcKvg+mT5ZKCk+SSRQC1E1mSM7h37L9BYyIirMqBtUAAI4FBIZPmQQ2S3QBhk8ET4pNLsA2SgQGBQZKS9hGtk5FQukgdk4FBCZJNkm2SfYH1k8QBTZLJkkABsJJVw52SPZLdk5FQZoFLQYcAG+DXgA4BIAEK0dwBAnCtwx8jtJJjk9EA45MZku8TYZMtkxOTNAGTk6yTnACnoetgM5IQALOSpZIYAYJgFQ3pIrkpY5IeIEuSXmG96c4Rr6PhEuDRYRgrksQgq5P4wGuSegGvolwBGpGSgVhB85OTkluSYPDFI8JBc5N5kbbxIyMW3W0jpUFZgJABkCMzkh4hzQAPwEt5e5IeIUsTNAH7k0Igl5OVEcuSk5IeIYSSZ5MhwZOT2OCbkygAfZOwkveS/ACrMS3CHiEBEZOTopMvksQhuWIOIwypk5Prk1Nw75MoABqAwjgGgN+S0iKmAZo0i8mTk4STVyPfoCSjz5Lckb+ST5IGwIBShgHgZA+TFEApgOiwUEENYf6pTQHFYWRB4FIBgRnisDHH0ZFJx9GrI2SiYzCywcfR44CoYU4RsAH/YtoBiOHH0eUi7xE4pTilhJPrgPfhx9AgUi4AGFOnQPQBnwAtAIzB7RP0I5FQXRMRIfSBt6NrQeddSAGFwJoBEIDNgeGQVAG1ofqgJFPvAUQB20G6IAYSnwDgoddhr6IIkpiS5umZMbiTFdFXgPMjpQAkgVoB4CH7UDRSdFIXgSwh8pAEAfmAQcAibOKA4iBdgZbAvBBsUvfhyAHxQDgsEoGMKL+BKdFkAYwAskCCwaxSDIH+gMiA6GGyIFORTAAjrQ1hH4O/wZcRbaBGAMYAl2CVwW5BKkDVgOGAX4NvjUiAwgBmgO3ho2BendJTPAHHwjn5NAGyUtJTm0Epuc4jUUlIwXJTjAHQIUYAilIHhSpSzSLbgWpSKlJKU0QBt4F2QfYB3IFqUpwihxKKwEcSpICcIlWAeAGwAVhABlKGUoMoKFD1QUZTe8HGU/pBbMAuQQ1hLMCcIwYAWwAWIwZTplJGUxwAHcP6ALMjqQAWI5rCQACcIo+cnCOlkcOB44CV4KgoBGkZgP/B0FEggJwiw8CMAYcAtRJHYlwAXwAcgIhBHHk7kq7sbgEceM8i5lFnAWhhWKM3gX5T54BUiEtBkoE7wzeAdhDWWCFTEIDQIhUT3lLXICkRy0BAgNchuKIOAenYiEHGI8SA1yDUwfVgpACzwUQjsoANYxx5FgGGgDmACVIBYSwBiVLXIE4B1AHiHfJSJmBFgNchB0GMgVfBUKI6UtcgdhH2ImFTm4DD2MwBvlEBUxCAn8AzEGBxDYLAgDiTmVJ5gSgB0AB8gXaBNIEceacArI1HYOVSeVMggbQAQQD2AZ8QVVMFUqSBtAE/QWVSQSEcef4BRtGVUw1S1yFoINcA72G1UhVT1iO+E54hHHm0AByBzyOjBb4jP0HT4cihRcIikDgAelJ4AsCT/oA4AT6T/VLvEv1SEAA4AOph4jC9UqYS9siVAcfDsiAhYS7sMEHGgCNRV4GzkDRBKIGs7NNSV+H9UyyiilkjU6wBndCkgdAi7WJrgaFBqQBZUxLFsoCMo5KBy1KfEdYBeoBrU5I0G1MhIPajD1BGIRLEW5CbUyCAi1PLUsPAraijAFlIe1KTU/ZTK1M0QatS21N7UnJB+1Pbw29hB1L7UkFN+gFnUydS3HBbU9aBx1KHUxWByXkXUwqAu1MzoFoBAxPlwxlBx0hLAdJFE0FmE9nYwsF6k8ZwtKlAY6Yg2mCLUoaTJnGPUyOsOuOnwEdSOAGSgQMTW0laQPsAT1JfU2WAfAFHU7KBP1KbSFBSLQGvU09SnWP/UoQCP1KLk5MBHT1gAX9Tb1OnwaCA61OQAMaTSIGpERDSz1LoGVDSkAEDE40hwNL/UnDTb2Cck5SQsNMg0vus+gHw0qNjyNLaYNCtAxL1U99BJRNo06fB6NNg0nYi9VKfUm9TsNJQEFdTxABFki8BJuOmsQjSkNNDgBBjAOHZksTB1wBY0sTS+NPQ09ZZ2YB+QETSeNJbkQMSP5OLhZTSKNNrVdmSWJGmIfYBv1K40iDS2mFU02DSOZMsKUDTDNKI0x1QUZO6E1XghGEzk6kAYCBoU6cx7NMaYX+1GiOBEpOTqQF+U64AnWLTsYMBt4CTATBgQID2AbGp6kGgQQJTYlHqQeyiUOXwAJzS6YHtATfhQiAbheLSnIHVIqOtQ+H/iOLSgDCfwYPMdkHNoVLSsADqg7jZ8tJAwQrSVgDkaLLSVxKAMOqBMkVK08DBCtPnk+1ECtJq02Rp5+DHkQrSOsBNaerTstLvEWrSrux606rS7xC9woNBOFLSOIbS6YHVU2+ANMha0u8RbQBMJFLSgDFJU7jYOYHEIvlIqtMK05bSTQA5gUkikg0T9DbSgDDewHmAjQkt+WqAJtKcgHAg54AvAOtpztJFYn4BWEDO0wrTAON1EBuS8Vlu057SI6H4gAn49aGnIlgZh0G6UgBBycHwBWkQaqPY4fFBASLOI3QAaxF+gdABniIPjEqJkZK6RJQhgtIkgD1t8skq4kMiJ1OHI4MAQIAzuPJAVFMzI0Q97ulUUlbV/OgJ0tRSH9nJ00nSSEFJAMAAkuPigX4B/CJQQCTAzYMsgXvALoGGo1nTwxPrgLgB+qFsYTrjIVADBfnT3WNIIQI5xpB50w2CZYGZcCXTViLWfFAB37ELIpOBsZP9gCwBuhH+UEwkr4FGEg9TbcGrEDgAVgAdAZ2QUEHgI++SRaDzAbxxm2JAACsAaZB/QDEBjtLVAN9jKQGWyGUBbuCqIEABZYO6ALKgVYO4wfJxbyJLSHyBa5GrU34AVYOawI8RgLF4ARPAzIBIoVXA42H6oQKBTtiwMfPR+gEMo7KAk8PXwwqQlUHbk/oAxSJ8gfXBmxHLUPXQhADfgQyjEsQeI+bSqID/kixg4wL4XJ3xXKNx0iNQmSIiIAJBbEA/LO7gOpMOSZXTpkA6ks8iGqFiUTXTZ5O9YmYRZ8DwABfAfVJZIejxwKIHAQiBaEFVwMXBoUDuMMgh/oC7AZ9BQiVigMaAd3EQgSIjTQBygfQAVPE30nKBT0GVACKY99MYgcMhgwDuIU/SIiHVAWhBtQBLePfSHiKwoe3CjiIYgClBH4CGQRCArcFdwb4BSgm+YXHBfgBmQPLB9WN8wKQjxSOWQYUB/9M3gCkQGKJbQWrTYyI1wS8BlshDwbEhC0FgYzKBE8giUzeggoCtqJMwECNclDrD2AAQIwsjbcENgygA+iMEgG/TmdIQI8ghGiKLgDHQ6NFpMWhBS4GN0xPECUFXAf2AyCFngQrAyJlOoOZgBmAgAW0BPJNJAFwAD8DjYAQJTQE2U7njjJLtknSTYGSzwDUij6h2pe5STShAgKzCzxDcgBQBT+3kM2BkhxKYAUbkjQCGgW7SBDLh0FoBcIFFwwYBpwCCIkdi3JKkMtyTZDKbwmwz6qDLE0Q9VDMgAMwjGiOMk7QyzOGGCDfBs/0K0wwyU8HiSUXDHABVgWuAJDJ2pawzjJNsMvLB7DIvARwyVDIMgNQzXDMMMjwzdDO8MvFhfDM0MwQzjDN/yEAAfQCeAJlgsiEkM2DTDDMiM/XgIjIcMmUjQiGcM9Qy3DJ2pZIyIWD0M7KADDIyMowyAjOIAU0BBgA9EAoywjKKM5oySjOKM8ozlDMqM+IyXDI0Mk7RajPjETwzFSlSMpoyxjNgZfwyTDLaMlWBpwFCM2BlwjIUMs/AojLKMmIyKjJKzBIzRjPUkrQyJjJSM/Qz0jNmMzIzWjN9kpwjQ8K3wtQA1jNWMnoyzjP5QDYzSjPWM7YzBjN2MkYyajMOMr0BjjMaM04yDjPOMhYyv4nIAChB+5FiUOqBOjOkM0kA7jNJAPozejIGMpwzhjOqMpIyjjPqM6Yz/jKhMloygTJTAOoBCqPgIKeAg2Fg4G5RkBEsIVFBqgDsgcIiuPnlgeDALARNDOYhpFMzwV6BIlKkgRCjZxDFI2pSyxJWQcOIMxCpUi2SV9yXwVSiRgEBEUXANAAsADeinlIz6AAki8kCOBFZg/FMcaEhaRCUMuhhNDjiUxbF7lPbo9bSDwIBgCAAlQBTQC2A8TKBk0xx+VKVAXEzzGJDAAeCLwigMvpweKKCQSAyWJNtwRYA7IEb4ZBxFdB2FdJQdhQnk6KAMcFYQUWTpiBAgZgApIC6AbeJNTMbQYMzLwE9MqeTWEDCk0kBKAESI4Khj5HSUvLBcTMikRCAQ5JbQRRShVIMAH+0T8IKiSvhczILkFWChwGCoIdjDABh0+tjOlHR0E/wp1IygYdAcSJIgDwBgdK+KGsyC5HSIjEBWsPzMjeBWzLIATrCOzMsANYA0dObMjeAnCP7M/qZYnGHQWMQfFONAJJEU1LOwQczbFLHMguRewFH0vpTezLtAWfBfsBFocrAXYGVY8bplzNDYcWAdzPbmHPTMpkZRA8y8uPG6VuBx2DPM3F4NoA1MoBR4h0QgYkR+4EsIxozZQGAKQ6jXSmpAXbBa2m3oDhTBjI/MwShm2gAs+3TzqOtsAVS3dLgUqfAFyIP9UyBUmFLgBojB8GvuWABRiRHAPkoFTMYwZFQtlj5KDczooBLASczIcHZIHABZZNh0IstqcCLLErAiywpuUWtXNkosldAiywvw55sMSlFrK0J6LLgwMHgKuDZIfYT1RHYIAuTCUFS4zdAlUAqEIKBBLPcqTfhelIo2ESzklLHaGnhfgFGgRhAJLPIAX4BhgHOACwBSTDOQOKIrjMK1bpTP0HWAUNhnHCcIhCy0HkII2T5rmFjU6kBbcGccQsyk1EbYF4A6JPe/NpBqxWyIK3AX0CoIV/SWwFcs1mBAoCoIWcAbJVrgUQBfLNYUhdATSgOADIAgrJqwXHBPACkM/6BxcOwgXRApDOdkL+AnWLWkiXClcALE3eA1YBegYyBQ2DSszewxEHuU2nj9gCkMssT3AGCYOMg6AHbEQqyHjIxndiS7bj+UMySb0H9AL8E6rNg0qyzgqE+adTTAXUXQLcAS6D8DIDBGUEjrMih7lMMRavhZCJwAanSx0SkM9uixWJukxvhkAGrEAqyDAHlI3RAfhMNNKQyJ6KmsGaSIlJQQY8UX5OsMwlAqLHbkxMgX5PcEqZAA3USxDQBjwEbE99srrKkgScyjI3DEfdYvFxPAPBiNRKqs3jS56KkMlw9uQDdAHuSQEEeUx6yfoD+sr/T2gG+IyQA1YFDUlzYF4GzkEfBoUGMMlHTQtJeIJvSD8PnCZIJhgCMjDkgkbPNsZ4jRNMLU9sBkbOxsywoSHQH0+Gz3tFbk5sBjhIR4MFohkF2yWQA1CBgKSMckSLJsoEAKbLG0dm18UHx8AQBUQgxAI/C4cGps7qAjAFCQTiAkkVwAVMFseBq/MsSL7mtAUwAPYOu7fCzFfEibIHhAgCVwRwBa4GwYymBjCNjYOAgIADygPMxrRPWoIrSPAGZM+agI63xUXwj8YDB4dsA7uLJAEeTKwVrAHtBuKNBEFUxoVJ7QQQikUBUM6kApLONIrizFYEjAPVBYoANY2iAT8BkIiYTrxHZIImAtJI5AKSz5zDC0a+io7I3U76hcDHNsPZT47NLYSSA09ITQDgAVCD7EOayaUEOyTEhjwDewUgA07Hpk+7jjAFzE0ABd0BrVU6BK7JH4Ij5C1Nx0jKTNzLpSMQBrpKpkUQBiCJwAUgi9QG0wQqQHgCNY9Oy56D7EtWC10H2UKYTLABngJMBdYDCMSZUIwHlUI4S+wG0AZkA6OEfAaezM1Dns/ZRF7PWAZIA3MFXgNeyoxHnsksBN7OXsm6BV7OHOdeytECPs7ezT7KJQc+y+wFf04QCT7PvkQHdb7PcEPbIxgB3sheA97Me4rRB77Pfs6+y0wBfsjWDIaCwAbuSp7Kfsr+yR7K0QHEiSJNAclezwHN4KWez97P2UaByegFgcx+zd7LPspByoHOActByP7JnswByxABwc18y4HIwcm+ysHL7AFByQHOIc9BzP7Mwc7+yKHKIc6wiSHNocshz6HJLAShzcHP/srD4D7KAcmBzqHLwciByeHMIcvhymHJoc/BzyHPYcxhyQHGYc8Ry2HN4c1Bz+HK4cxBy5HOVYbczpHLEcithlHMgcnD41HL/s+BzWHO0cuJFdHLAc0hzZliEc8NT1HIEchByCHIscvRzTHMVgGxzUUDkQMlTIAisctOzHHKeQZxzjQGibNxyzHP2UL4BnAC8c82wTHJYcgByJHPWpQJzVoGCcmRzNHI8cyJz32GicjRzrHKVwYESWwFYQbWS0rn9sloAexO+QIezPqWrIywoXb2nk9shjIEvMq8hB+hmQUIlsiHlg6QAzUF+AeiySCOHAGpzoxOFAUWsDxEoAZpy6nJ8URizvFhaQUNSWnPqc55sWgCLgM6AXlL2Mu9guCGGcmApYDN3gT4zW7ObgawB0yNAgOiSc1Opae5SlnNhEziBk7MggU7AcAA2clZzEwGpaXZz1cLcAZZyiEG2coFhrADMsjkBkoFWcqggrnIOAakBkoAucsQAqVOuc84BbnMOcxCBjnPec5WhqhHWIxCBXQHOgRwB5gGWMyUjuaAsAE0oXpNBcxCBGNJ8yEFywXNuUlYh5GLnwGFypICBc/2B5tOno1FzEXOIAYiTEyCxch0AcXMBc1jh0AAOkz1A0XMggDFz0AFpAG+YEXMQgfFyOYFpcr7p6XPRc0lzviNrEylzsQAgAIRDpCI5cumBWXPggW6tHVNYMh9BBXIFMimARXOdU2MiuXIOUoWApXOchGVzcXKpstcBm8HFc7ghrAB8gZbJfgGI4e5SEVlN4kAB5YJaAOkizKGFAA1zBCPP4E1z5aF+AA1zzBCtcjEAbXKbwo1ymVEUAHfSHXL+cvLALXL8sCRi3XLNcpvDzBB9c01zHXLywVZylrJechYilrLucqSBVnM0wYIgbbJnAaVAfhPlkEiT43L8s8tAR9EzM93BLbNgQF+inNHCQAEAgZDdcpMBbcB8s6ZQgbKC6biBFAVDYZdAp8H7wECAvwTnQaUBaKLWAYcAHzMLU4pA0DEso5kBVAFwsvSB56Bbcttz9iBD0uOyZMEKkTgARaBQQQ0AJ3NXUeXTc2AD07KBjSE0wPVApGH90kWhA9MP0vVA50G5wVdyruwXcoPTadLLkqly5xJDsndyPXM3gRWS72HnckNzGnNHYK9zN4B2IquQUIHWQU9yDXMV0R9yXsGtAF9ym8NdI1GR33I8QS9y13Kbw2sY/3Ofc4zBd3LywKdzwPIyoAMy09NLYO9zQylHcwqRIPLPcn9zOLD1QZDzkoDdeY5BnIWQQMbQcPMZQPczyDJZQdHACPLEs31TbcHw8nCw5rIbMpzRKPIsARGBxAA+c2dhUADEYkjycLAgo4KhKPNBsnXT5xJ/AFABOTMEIPdSkwHJckrDUGUUEETzpMG70cTzxnD1QZuE5oDdSfMAbJhcAJLSUsGDARUj5VBsmM2hhcGSAJMA1PKrMjTylWGL0hZAcJKBAbTzVPJ2MhxyoxBsmWvSDCL34XTyLPK0cmyY/QA4YGaAuoHM894zLPNAATTyEwCMUAnBLKPEAfyTpSI88xzylWGc80nAfLKKIILz1PKs8pVhVyNOAUwAIvPc86LyvPKVYRwBFwFcU9tBdCmKgPTzwiOu4oSg6YHk8l7hFPNi8/GBZAFc8ghikvJP8dMADPPDwzAB36ES87LyLPOq8mLypwFNAVAAugFfgMrzDbPhYqLyqvJq8vsA/MGKQLrzttPCY3ryQYGa8lLzWvIOIJ9AHADTMrLy56By8h6B+vJLAMLyUcBTwAhj9hMC8xbytoGW82AAhiMcgWQBVyLs8sbylvJa8u+z0vJ08k7ydvJScxlB4vMK8iyBivKnAVsy/nLK8rqAxgHs8jzyFoF28sFpbvNMAP8B0wQa8hbyLPK+8s7zD7O9AXdzZADa8/YitvOB877zBvLH4UbztvJB8yby+wHNAWsBP0GMKD7z5JGR8vRj/sApQaHzKvJBgHHybJme8jQBDvKQIQnzXqG+82iBI6ycAdLzYsCR8vLybQF3c+7z4CEe8u+ykEEhwBLAmuiu8zTBvvLMAa7AOvMdNIHyPPL580HzYAEsoqOgFkBwY/2BZAAi897zefO+8yXzZABRgQ7zZcHRwdHJtvLF8lHz2HPJQL1gnAHx8zbzKfNLob7z/lKaAa2yLoGG8+bysfJP8PnylcFkUzQBzQApM0PCnPIpgOXzEQBt83Ly7bDFI/kivoykYboTQAC9sCMAuPhn8WR5WEEjpO9JE8HEkfwi9vhF5ELRK3Pvwv+worhpY0dzMMjRNWgRNKAd06RCAwCngYXUp4ADTZtklDksuErB/2JsIFRdtRxUXWa8+KKdPOgT/ry4QaChgCIhQMAj0oGvSbZxRcMZUjJRqQF988MpwYE78jkBQ8KD8wB4ue05gEAieMD5SWXkH8JX3J6Qs/Obs44S9AAAAfUXADO51kHn8k0SkAHn84UB5/IFsDRgo5LwAefy5/MX8ypBNcDDs53Ay1M2gPVBRCLGsjmBKiIbwH2DW5Jv87qJC0B9860ARTOnk/aiKhBj9R/ou/Jf89QBinMYAY0gtUkAC7EAg9MeU6UBwiN9wfQBMABxwdNzbhACIW7jNoBGw/pJ32j9s4uBrpM/YCKZLCEiI7vzEIEVUnXI70HIM2Rhz8I+gJdAj/N0IkgKGABRIgC5RACuIvFgm1IGgcb1vyLSImgLU3DgAdABN+DfMsMBOAudkRIRCUFDHJHALgG5SGBg4AH4C9qBjQGgAHCSKAD2pNSJcwC2wJQBgqNTBZxyYGEhwOQLU6BMjbvxOAsQYDQLuAspwXgLqGCZEwQKxbKZEmeAEAHECxYBxAHRUKiBdoDp8mHAtsCXglAAcJIoU5SS1Aq8YWQB5gCwATCAl0HcCwYjvzIOAVcB54CWwTkyDAA0CkQANAqUIBhhRQDCUzYAwYEsKWnYeUkmxAABSSyN9qQgAaHA2kOgwRHBqTIQALbALyEi0ynAnQGCC4gANAvrYsQh36FH8/AAcJL8kSiBEcGCs9hjZACKgY7DNMDIYcJs3wAdAWP0KTNtoXHT3ZKWwbfykkXBQIQLDWDKgAoKQAC0CgWydAp5SPQKBsAMC4QKjArMocQKrbPhAGBhp7PEC7fymBG6C+HB6ZMmQJQLwL25ADNAtsBWCnQylAXWCgty8AAAAfiGCkYKbSAGAXQKUcH0CvbIhApEC4wK5grOwJgRxAsMAFHBiRBMjf6Bel1f6SEAPxTuQc4KuAtGCq4LxgpuCyYK7gsMCgzxZgtkAZ1zvgvECpkSwguBEoEAAQrDAMIKj4DdAO7BTAGrEG0hpGOroB65SABASByBfgEwonWxiHAV8ScxFfBbAQRhadmLchxTvgv2gZbBtOJZEPABkQo+CsgABKP0EdEBdoAJYOMJfsBkAVwLpsF9gpJFrAGxC1JEn0ERgPWxZQwSs2eA8uBMjACkBAOHAbIhkoBZC7rBlsHZCptiLgAscyHy7MHYY8QLocD5IJkSuAD+s3hQsUCpC9+CF3QAYNsAMgvJwZUL8QrZCn/AtsDFI1wKSnJRwGGBSIDwAcQLCUAz0mecvzJScVeBlsD7gd+h1AA64ZkLOApCCzgKgwqZgObAw0EMAMIjnAuu7e0BsUDDQCkKM/3AwAkLcuAQM1HA2gDxwc0J0AH6C5GzkQqZEwlBtAoGAG8gnUGhAMWzp6JPAKlTcwoTAHpAkKlnGFHANAHWkz4LIcCZE0QgeUnVwMaBjAGRC4MTwcG2Uh5SD9JwknvBru0+ksMBDqKEAcoLmoGlQbGh7gqfQaedfNMSEDIl7rhXQV/QCwvFYJr9f/OWwGqxUAGhwTfhEhExAKoLZAFJIuyAjwoFsMAjDqIEQJbAwgojC2r9nPCZEhrFKmBIgUELFAB7Ct5AQElcM8QKYIG8UsyhXYNIIOHBTcLyChwBJzKhwKsL+AtMAZOhvwucASCLhsGQAXbIHAC7APoAbQpRwO0Kn0FkCr8zOAHOEYbA/7V50/YBnPH5gfELBiDfgC4BIWBps+pAWwtBwJrALgDrHIhBkQrsC5CTHApASWlADWL7CiJsz0Aa/NoBMADu7BQEd/OFAWQKYCkgi5QLcwBASB8gqQuHASxRkQp30/jBaEBPwSHyfgHnwmedCQpQgJbB34KSROmxlsGfQQ8LJegY8/pAadgVCp5zsoAki3pTpIshAWSKD8BIk8cL2gGWweXwF3TEgHWxGxi+U4Md36DMgGHAMwpdgy0K/BGroQyKeAOMigwR+IDMinoAhQunsK4B36AnI7qBUwTlyFJA1RNwiiELiIotGO7kzzMsjXahkQrIADSjvEiSCpyLhQu34ZQLzwAOAauAxwrWU5WhLgHQAMMBxAtMjPkg5bN7CqG4Qws0CzgKUop2yOQBxWBbQEyNMop/CwNBNgDyiw7zq4BAclVgjwqwAfRI6IocCnAB8AFmwLaz8QvbC4agF4GSi1KKjFHSi5qLPYNainKL4KGZCioLLgsYi67AXYOsgPQjTBHSwHqAv4C2wJkTBVkA4CSLlDMA4e4KEKNQAUiBfwoEC1EVwcFDU1OTrsBDk+XwobIMEAAAyJwBNgHIi3cAY/RgQHWxrIFMAXHBuwtDCwoLOArQrW6KMICIQLrynoq5M2QA3osyQZXwLoHxjaxS9DL1YAwQ7uSNQeIc3D29MkbAQRH9gA2xCAFmwARBkQp/C6VTYcAikSiAcoqGgOEKBsDfuEnSGIrFs3ajmoGMAVAAn0DxC9EAlsHtYfgKjKMBimqKwwGJipMKyYvwACmLsoHEC1iY3QFbARhgDvJ2wOgBUAF2gYIAW5F2wJAhu5J1sLELFAAECvQAiYqnMkmLbovJi3/DLAFeCm0BvFPJwGmy3CLcPcw57gqwAcVhwcGZAYzBKcHWszWgNYtbC/mL/oB1i2dQqYouAYsLpzMUoa0BRQpfQ7bApNOyCsxQ9FD+i+65+rORCnYj1QsRwHbBfcLKgXUKGwuAYfFBKGAcAfFB1iJBwB65KcCYgbkKn4A4AaWyvgpMiiMA3IlQAR5gmgte8TEACwoGwG8LLAFQAeWL9sBZEcQKjiPuud9BYcGbofSALgCms5LjYcEUAc8tDNBp2F2CBFMWI5/pvWLLii4ADwpDHNSx36DlyJkTcWBpshAyWoCeQFFzt9AGwGFBUdKpwc3yMcHfoAiidgv2gHsK9skSETvAS0CiERHBHQsoiRHAi4BTCtRQpwqJClIRmQFwi+pBAwq5AM7AXwlPISHAxbO2rJABkQq9AFHBrsFJ8i4AH5OMAN2KL7gdAKQBG8EvAUwAMIpAgZKA/QuiEIOKTwG5isMKwwBOwIwosIpBwU9h8YpASRQEcJO0AFYB7gs9Cj3TtWAgAQSBbaAdgUwBT2Gail5hLQrfioGLhgs4ChpgprKHwK6LhbJRwJBSgvFrUDsLLAAcAJkT39CRwTuLpSNScBxTkQpoSxhgCcDu5cfQ1Ao4YWnBr4oMALbBp8KWwPMh0QApM2QL5kCxCVeAKCPDeZ2D1YsoSjQKAvA4Sn/BDqPnYR3RpgoGweYBa4CpgfaKBsDCC9wA49OtAYWyXsBagM8ylsChclrFAOGM82UNtrCtM6qK4EvhC7kLRAGlQTuLK7KsS6Zh2gBFit8B7IHGwOWyS7LCIpBLJCG8cgRhO4rlsxcB8QqDCjawLI22TIIKNEpBinkTvEqGAC8AZAAHAN0AgkuggMiLgIoYAavIabMqgJXg+Aoti+QEmROa6JQFhApWQOhKLQplDUC8Z5wXIMuLYkvJwJBLllIoAMMB0AB+CmqxyIv1YQmhEhD1gAYKLgDoAQwB1QCFsqohygvyCtJKwwBzCvsL7ABVIvVhgwDf6PcL9sEUANQAxwvFE6XCWSHjihXwFsBMjF/Rc4oI+DDAqEBOMD+LBAPWI5EK3IG9AWHB2grFsyr9jIA4LfqzV4FmwdCR8UDHC4iA9AATimSLZQ2qSmNB8UAXgcQLhsDMAKwREcEEgLKg4Ivls0gBYEo1Yqwj6YDMIRPBHAEwgeYAVgCeAeeSWKMaIloLBjKWssqA1lMcsnFKOYDxStIiEUsqcl4goktxS4AzYxEAMlqASUpSwE9BiUuAMv8BMtNaIxlLm8BJSsZzIACG0VlLDGOiS73pgDJWVSlKmUtdwB2zsUvZSgVLXcBgIFsBKjKJSjlLgDMDUzIi5UslSsqB7lN34Ijy+3IlSklL5SOewYPhG1D5SqlLXcFzQFYA4AGYov1yKSEFIafBhUvlS13AItJ0iwnSB0mXUBlL+UpJS2iAvotli2VKtUuAMwMTzQHxQClLlUpJS4YANKN9SqpyA0uZS0Ij4QEDE6FAw0tdwKYTnoutAHVAv5GtSlVK4NLMgHwBQ8A48giSvUtdwXUSfhMsAVqys0pdS4Ay+iLbAEmAC0s1SotLXcDi8qpS8Yx8UQIhC0sNSsqB/LIBADEANKPLStlLK0qi0INBVUtegDBBM0orSxtL+ZI2sKoKAAC11iJIgQyMG0pFSptKVYCKYDLCB0unSpABq0rRUtqLJWI7SwdLxCPWQdtKDUsXSlPAf+EoAbdLB7M7SpABhgA3gRVTt4H14GNKyoGXQa8AsyNoQMbSj0sHS5tKmIDqiyyid/P4Uq9LWUjroLhhxUuPS6tKyKOMorsAccBXS/iz10sXSm9K0KMuIgYL5AvACpEA+LI2sUrjPUuPSnYiL8HVgBNKQ0peID2AE0vBskRZk0pJSrDL2IAwyqdKbUvxStDL2IBQy23AxUtf0x4ieTLsgFkhxTOCixCBa9MGYPmTqMoTMktAL7DnQH2wqMqOI9jK6MsToHjKhkEVSlBAZvEEy84j+MAeUxCAxMtBstJy/ywVctgzPIAIEmPzhgmRUUaplQC7o0lzkAlpABAB4/ISOU4AtMq5AXTLdeHOgMXceXJ2I0zLTgHFM1VLQZh5cjKyPUAtZGDw8mFqwf2ALWVpQJNygBEYgMazoZlFww6AoMumIVpB9KNXk8aB2wB0I35BfMpoCgLLJTE0APzKMaHiHULKBoEOgfSj2wE4IMsSnNPoAeLKIpkSy1EUaUCLMtLKy0BNEPAyUgAjk3tSdRBNEY5AzACAQOnASsowQE0REPLzuDYKUGGpY6YBpQBLAf+j0oDAAfwj/UAJI56TU1F/8tiAkwA2C2sgT8HicmnlnaHcARgBo4u2s7aosnPcyTTL/8G0yozKxQoMy9EAjMvlQEzKbMtOAczKNsqsyjBANsrsyigAHMoIE5zL0AFcyxhBiGA8yvTSlQGLwUXDyKNpwSwAnCLTM83J+wAw0hAAzfIugdyBRoHJwLyy2jMmoPAAMVM4gLFTLQvlwaexBsuxANtS2VPWkjlTgcoGygtzjgALE+lTx7JAvOnBPstBykABcVMASilS5cGpU6HKvsqIIAUy3VPcgaGTgkrCitCRccogs3FAQEGjE+mBrIpaAR7LN7EkINlSCAgHAcKhGcpZMxMBMUvxjebTkgnKwQJxS4A3AEIybGIQQQBK9YBUM5VLHsMkIdUwvdLegfeAbdL6ygqRZco0ATkSLlOF8B68zKJLM8rBGAGKC/HxxdlXw5UAktUf884AtcsfQD/gQUEZrEBgFUEtCtOwVAFIAWkI3QH6E9UQF9LvEVpBE6D4YahS6YEWAP8zXQEdAJUBncu2sxMAfIFjwUuBfcvKwT3La0tQiXaAthIAo75BV0GoICPL9hNTcs2hLwCwEOcBUIiBAb4xJoSjwAMzspGOI2tLR/MJy6MEjjDKgL3KsEULy4pzQ8u9yxBSgDG5ExQBPxlrSvABx8PIMnCjdeAry+vLvgAKgCAAVgDKgSEApuK5KcvLecFbyxvLYODIAPvKlQEoiWvS1ctjwWSAG8vbyoJBS8oDy4TApv3WoBfLaADHys/S+ZAn02Qys2BpItQBi8tDIDzBa0rsC2CjW5Iny5fLziEgo38z/oF3y6eTp5x0kfuRXrOTirgh2dNoCwBLOCAfy+KAUZOo4c4AfIGsIx3hFQuqEChhiMuMAVfBlaARsgiTFJgoAMbRddK7coNBMoGlStchsiBDklMKPjN/wS/BskGpaAsTsAH2cirg9smHAGAh0zP8cDArPUAMgazFS1MhUE1LRkv8cAIAiLLh0YySK5CUAIHgP9IngCtzCTizC6hTfRAssl8QcoFJAfpBYIB7kpMiwgEUkq2pqDCyOVwzYGKYi4yB15P4KvJSS4CXs2lwOPOnAENhQHO9VF5SSCosAEfA4hOAK2Qr/ZgQI8gr+4AIKwtB3iHD8nxK+IAVEokir1ixStMyQIHFk9SAOJIpSg8BTQB5gZwBe9AuwH6z0IEu7PzUzQFMKpzQzYEWit7AksA7wKGAG4BDkokLGJHaUqKTAiqCyn1AKlPfsTJAG6MiK4ODpUE1wEBBYipnQXIioisSK3dgGAHjgBd0DoBslcgBGADFS+kplADrAbGg1YChgN25aUBUAVZZ9gC4y5eDOYErCkXLkgGrEYorqioSUfSVCUBWkvDSOADfy9V5JCDqgcLAs0v6K1/L+PI5CNlLVxO+s6NL0AHGK90B78pGKohIxio8ACYqo0u54xIy7EBzk1y0bsSBAWAowAuUyyMRB7JkyxLFkAAmAA4q16jZS5YqR2IVDPQAu3KmQAgSYCArU+WBncNFgAKBPAHWAPQBzBGMAO7seFLngblS9iE9U8BKuis6KvUBA/K47GGADWJi4t4qC3MkcXGB/oDngNVKGDOCoMUKlrIVCnvK9iv/4c4qsiAVC6wrK3OdgNEgvTPEAbTKyoHWAbIzdmAevdEqrpwWQObzn9K4AMtAOIHp2VhAg0FbAEZyNCM0QSAAS0v9gAMxRcN10uqADIHpKDgBuSq1AYYqAXPmKsFAOAGgKntzJFT2yHVLiqDGy9kgXSCV0tRB8UGe4qZBS+njgOcBJisNAQQq9FgIQN0A1gB7k50LVdNoQQ+gpvyaAIMpHUGUgFsBBSskgVPyG2AtK2DSgSvgAHvBnLJB+IyjIAC1yqkrXSvWWM/LKUFFwvgDQ8Nyc72yN8PRAEZy/tJasPYqt2C1ysoqrtICoMUKWRFbQE0rtAArALghyUHR4/25JTDys6wAlUh9MTRAAnPEUxlA+SvYgWTKWTLzK/Kz5pJ9QKsy5iE0QRrLuuEp0H1K5cqnUhxly7Nx82ABZACZodZYaoC/MNfzsjL8SgEq+ZPtK83Lu+WqohULtrLIczKlGyv7K1dBByoGs96AuCB7wrIzm7NAY8EQLQFAATABO7MWYcsiq3OHYA0g54DNI5IKgkEiIsJzSN0SsmFhASoSISqADgEWI/kr4oG4AUDKmOFoQYMr4YEwssmBLxLFyzdgqdk28WgB1TKqC2PRSCCdY0FSI2KQeH0B2fBQ0zvx9WHFwNiz7ou8gUCriCDfKjSpaADTsFiinwE3oFFSa8vmgaFAYKq+AKgzCsNO+SOSBAmyIT8qQzKggG9z8KrzsuKp58t4wAwAXzPuy03TPIBvcsirWgAoqhFK0pPTUu046KtiUFcrXDNHYSfLF8sny/oAjcoSIN4L6PNJAWZgdcCqEXbhiGFYQBOBhQD1M3NgeKrbsJMjnSqXy3jAs9O0k5ABZKsYKjQj1iLkIV/zlp3pkhYitKrly0thGcFogaugKAGoC9EBVlmpaefCUVOdAUAAasAcYepA2IBDskMrpAlPizQB7ytLYEOztKut2YdAvKsDKtyqYCl8quxiuKoOAPehqCFUqs0iXiDCq9ahc7J3QFrEBgunnWDLugEEgN0rPRBLUFLCp/LGKtJyR3PT0t8A7iteszoq47Jfg+ahEyoE0lJTQBHGymGBgoB0CGXLnNCzCmbwvgHPAIsynGFYKx0rIQEaqtPx5KrIATeytitLgBqr+0uEKoiyZvBzU/aAhotIK0ghuqq5IXqq2qv6q2fIhqsTAEar43Nuy+qrpqqaqtnSAQAmq+WAIAD6q1ariKBAQOaqjTFGq4ggIitGk7oq5ivrKrsSBdNIIPirniqQIXqrOquuqhhALqq2qkBAHqsBsgEA6Iu2qxEh7AD2yPehsiD2EvWA/OWyIT6Sb7FLgTfKrASdAbJgpBQITb0iDQhHy/AA96F/QJkh+IAmgfBj/dCfQdsBKqrfs2shxysxqrJ5xyoTKkao3SEZgLkhyDNeq2kRias2qsmqGAApq9sA8qqJqrYq+8E6q+mquSHbAaKTqaoZq2pgQEDJQWtLTQE0AaijZ6AqqlMR8yFOoCvLRoBvy0ugadPTyv7oTABiqprQeaqFqzpB12HIUNcgo6BeslwB0wtngKVBpcIQAM0jwiFtwcVgh8Ee4c0LH4P2yzeBjatLgNMyt8JQQaghdavYK1CJbarmYWBlP0ACoDCLZhIJqjOC42C42Z6qXiBRS7TKEUrYqxYrNQAKgFIqG4CjM8ghV0BRS6qjEIBRSoBK2IFkq+YTZYI5AQQjWgFtwa3KMqEdYg3A0kkp0eXClarjS23L4CD1QbYww1KoMX2zDGLyqoFz3KhNyt3xB7PLqynRjKqHK5adJCDyq0vCwsCOgHKqpirSciuq6oEkgY5AqdiIsiurbcurqvurNQArq+uqpyr9szqqK6pbqucq+sIGqkerKdG7qxurHNMp0QeroAEAebIhR6snnBur0/I3qynRp6uAkKdTd6qTARer0/Nuygeqq6rXqt6qpirrqreqpyoimM+q96uXoQqBUlIpygEAu6skgCKYUUvPqyCTasM6ATCBN6uroO+q/6qnqp+q0wC/kL+qF6o/qpjhv6u3gqrCINAAa7eqp4AxAEBrW6uVy+BrIGqpkVgKYGqtmcXYsGpvqwBrJ7Ilq+ABr6qTAferCoBqqvBrj6p7qlezsGoDAQB4hkAQaoBqT7JQameqp1IYajBqY2CuQWhqGsPgAOABGGsIaqeAuGsfq1BqxsNMgPhqOGuvIXKrCysD8kORfmQlIPAA3Up6q23BvqqyeCqqKkCyeIursjOHqsgBrqrPo6kBdGqVwW7KDGr/qzuTFiLOUpwRIIBRS0xqNrEtKzho47JuEisj4avBQNBql/Oyq2PC56Ljs12opAtTcDoq+ZL0UnABGYAbgeYKpMAcI2DT/GoMUhuAnStAQQrR7wD0AOBj1YMe7S7do2DZ4rj5G4LqPC78+syGhPdRx2jeVJmpE22g0UKcvnFB/FpNC23RRWUUQAJ1FQqRMOMDqNPyBoBwDBTpEr1KvA4DsTz0yHh8YN3rqUtMX4y3pFJigs0sFdKBYbnVeaMZBQOv3fjxGkMbGSjC5BMafLscF/0JvZQTToIHzNf9hxyugtjCsfR0EuZswu2nzcLdIgI+/GwZ072e7ZcB0UJLAYbBeasuE1mB/TNmwOLzGLTzEbUAkUHl8WwAzCHx46MBxdjSakxKBHUKBNNdW4IVQ2pwZ/DciRydGahuEsuiH5ixlSODZeS3g63TZaRPg7eCimtiLQAIwWs/8ZAKuw2DAf6KPqGQi5D9zwC+C5WgoouuwCsLlwt2QGnZcWGWUfKQiqrpo44pRPPuY9noGSrWWMYAZaIGgF2iKWpAYbjYxgGKdFt8FOj6welqMxBNAY9Bp1mbIozIqeyOnNlrSFkpaxlrZYC9VaChFdR2cKXMG/KqrGEig1QT2D8ohWs5apmiK5TlaoBgFWpCzQa9ZBHZaqlqU5EUOFVrswoZaxVqn42NQQqQtQUKkQ9kbhM0fG3gQNkSyKvzJgnG0taw1AD4A8gzTjB2sWeR+1Q+geLz7uQ6QcmduhBnUP0YnbPoEuhoZS1+avkDUMI6fZsqyKL8kfELqkqeEHWwGACZkjpDZ8GQS8nAUcC8gKkL3ADaQ/Vg7wrBCnlIxbLagG2BScGjEiABEGGH8w+zGEBm8+tzZwJCk64BlgEOajWCzTKT9Mii8mB8GFyRRABbC8ijhIodAVAAdsBtQbVhDStiC2QAxIpJwC8Kbgvgi4iKoYDUSq6LsjjqirlIBsCb6e4K2oE9kbP9EGGSaqOC+sKx3cXZTJyJFA19blW+am0wLTNya/qBCpDZqL+RamJ1Ad/Dz4I7UafAJe0AgT6ISwCDQDOAIfzKa6N1CWpfIX5qSYXm4FlrDpwu0Ogi4n3jwFFB+yhDa+DCthH5nZHBygtigIAjlHl0wYcBYCg3gmMw4WpxQksBdMF+C6+462rEAaXzccEbajDqtAR6IDTBD3Xfag+AUUAhqKxTbuW4kzXwphGD8pgjZ/Q+aho8vmpH8GfxUABqq3JrxyB/w30Qwp2Q0VFC72tgAB9rycStIfncXaAE7NPjU+hpYxfYU1j+KbmFxSEQjHlriqBMoHul98voUECRfFwA6lTtWOXL1MNrtmt3rW0B1DUhAaewEIOVDUQCpwCBc2rA0UOZbO+y5wHloJP0rcGvuQu85BE7itsLxkv0S1OKU3OYYHoBqgp9CsyhUxEsAMcL0cssjMpoVIv5gKwVV2oPgEFrXAJbOH0FasL+a+lAv5EBai0zS2tgAUkys/106sPiCmpvgqFrr71VpfaKdOMnapuEkCF6C3VgXiIxiFi4U1gYIvVAv2qaamX9d+OGat2jrIL5ai7RbWot4e1rNzHxIVgtHdHZLedFkXWQgUpVZAGTvdiAcgE2onPi4nyCQaDD6/NDa6oMuZ1Gaxzd1QMpfcWx7grRCRIQtVA0YTELjICtYzAdgUFkCj3T9wpRwNqAa3DuwKRT8AC2wZ2rPQgcAOBheEHCSeLYWFFu5N+A1IkqYbNqLgHgYBdrbsALarbqKUC+SjwQhsHKs3qBIvCvwKiKU3MwABkrEhEaStQLPkD/tAxKW4QTIWQA/Us/QXbI7jEsAAOL36HjaqOTx4qTi/jyRAqbsGmyruy6gehg82u8SOPTpSO7kxBg9mr7AebSAECcKtDrk6qJUwJB9DXJ6qlTKertg5RQhsCzMgQKBsFcS+0yabLkAP1BrwBMi+WKHYH0SIE5HYLvi3uLqQGna6aKcykRwedqQiHBwaCBgxxgYYMBP0CTAFdqHmqjg2Lr42w560vYXmoimUyd1pV1jLj4Z/TuwoCCroBD8ympCpFyagFrd/BuExbVC6oZJa1Qe8CKIe+CtjCfg99oaqsyLHbr0QnAUB1D0+NfavUAUYFAEDgi0YG5iKeAwLBfq5lrZgLdmIJB2ms7cWvdpyXq641BBur5kAZqv5GjGRjASlRr1CbqanyaQs/F7Eu6AT8pVurdAOHrkEoqwbxIhEreQAQCw3ie67VhuFC87N0t2CQu6ptjZfKUQOMI2wAO8rVQfwG3gNcAeOzGgPyQ/YNPIYKLuusSwV7qxkscUi1AlsCoK5iKU3NIARBgoLkbdQnqkOqsjawADmtM6ksAsXIRoC4BEqOIoscKmcKMQXRj6LSX6odSbOpvoQ3TEcBlsmBgnYMCqUwAWGH56/khQGOEC7jAHAGyIbI5e4saAP7LiEsd0XeBRiGuwLRLqYp2C/uAtsEZwXAAveHoYSPTp9MSip2CeEGf69QU9VHuCu/rTAHNGBAAFeu1SKODowFz84ydAHlMnBvBdY2OQXXrjkD+xY5AZ/APalmones2iXnDq1xPgrxBUAA1MwVItWS1gN3zb2uvg8VQaBsACRvBYIsbdKx0gOtKa22KADHi8vPrDupq/fEKscDzOITrjWRY0VAAiBr6kCLruYgimYPqJ+ND635Bw+qunXcx9nS6uP54beBhLYEC7qGtapOYu1Vt0FAUDnBSQgNq6/N9KZgSE+syfZvUhPEWK4EAz4G2g9PqgesFC7jAKKLCEUGg0AFaAVxTX6EMZAnB82rd8wIglQBLa+NsUsO3QEWp8mqra7ghIQAgKanZa2oX6lUA0BCdCnvAk/VFwWnr1wLEAdtqp1B/wczBW6EvAWQK3uuqCmvwkeqnas/qResGIY2wCko4YUGLtuoaM7P8abKsU3UAtkBIWPbJToCui5kL7mvgGg+A3Imea4ycX6vjDd8skwxIkDobaOq6GqeArkW6G8aJjepZqYQaA+PKc2HERBri6sQByKI18zwYRWHIGykAtWRoGm9q2mAYGrIyuwxUi4hhoQA34G4cVIvQkGl8YhmEGvVAaWJNQM1rKYlwQqOoYwWDAZugz3K2WLrhcGuY4fXEurhdo4qydOtSRU55CRwAmW/gDjA7MXWB09zZ4PrA9cA48sYAmOM3YMFilAArEI1rwoJHFftVawragALx9AAHAWPBf0PXAAbquQOWnYbqDBsA69/t1Ot3VVGxsxECgS7z/qzA6zlslKAWauQRtQEdg3+BjPIYASgBiQtigCfrN4O1KxDrYAFogLUBJwBM6hJr0iMXdVQEnvO9AHDrKxDw6+VsCOsQC0LrscLeapEkaOt162e9CJFwGyLrRnBi64C4QusoGzjraBvv8FUbLHXfaebhnepRavPr/OpZq48AmwAdAL+Dttkqa7mJ66l2GSTqfhmcNOTqeQWyuPrACoESI6fBxr2j6obr4NOU6yxpVOtB6dTqxmtp6M/FVyCWwTAB5CGwAbI41Wtu6+WySIAe6yHBrQAqaSYatOodAHTrJ7OS6wIbBgA5SJUAvADQ6zVBDYH0NTMbaPRcke/QhsGnwg0aj+uqSr8yzzJPi0CLgIpuABRx+SDgG6AB8eJYAI4bHeNNQLWNKOo7ghAKdesc+VsarkVbG2UbwcXpQC0y2ahY84C4RBuVGtLqJewQ6rjqkIDWG9It5KC/kTIstVFIAVABXeq+gd3rhOqRca0r4dQ84HytMLDrWNIJauqAoxXUtxtGvKEbvp0htePqBQPoFTgSeDmUebQAP3P8G6/C/7Gn6u/RfoC+gNDqUFOygZIB6LXfGywASgEV6g+AKcNFG5sbcjVbG6etWxpn9LsbJph7G/dq5RudAL+Q2agtM5UbACOhatUakJtmBMH8ZewIgx1DRBrXqwqQ/iiPGktD4vSpkWQaFBqBApQby01TmFJDkJDSQoNrzxqvG+Wcpupq/AcAhQu4wbPqw3iVADSjy+qdASvqybzIJcJsC5GM88GQRsGASvABjAFmwFhhhsAlgUpVZsEbwZXwo4AV8YqzsACdY7wblHjsC/jBYcFXgjMhbDGUkX6Ap8Exi+RBheKQ6hsz4UDQ64bBQVPlQGVBZsHRymiceRr7AKyb/JCC6lgA3IgimNJrTsPFGraA0BsIrDAb+oSwGxlYcBptMI9q+xoNwJUb5Hlk8+NtdMHGEuDrCZVHG8FrxxqZGycaeOqVpPjrVxsEGuGBDhsK6o9kfepdZZFxiUF4XAqcF13OG9otaRBWk6hA0/MEah4avSXZQAPr3mIYAYqbsYE8rGup8Jp3GsA42mr+G4JckQB9ALmBTQBbK7d97xIyJd+yjAzNajAS+ZESOBpFiExvIYFBVIq3FcmdURsMGij83GGT6uianxpnAfcgORrjvL4Bf8Es6ilBfxsaGhsbnJsd4mGZ6j2nrMydd2vo66CbAps38RCa2OuQm9Ip1RqRRDCa0OI969KbrSuqa0lr0/Lwmj4a20JqahX9iJs+nVOYyJsBAm3hNBtfkT/yLgEMjPbSrYFmmuibYxuYga0B7xpjMN+B6bIMmjWD2MCgANDrwkFp6+i10Zv18Bybo4Kx3PbDwupsY8YbX4NS6mKbzHQnGtCapxsfamcalsK7DSxKlxrboOMJ5UA0kGXrHdCsS5WBjRuohfKRvetsvP3q0/NwQq2itWuFahpqr1yUg77M9xvkQ1IpRWoL3GuoOmrHFf6bIoIrTK35pNIkyx1qkkpOMGkCH7MhmjTrCPR2ECWBi0Gs68sMuoD0AZmLPAH064mMzOtHAVab8lSDMqwik/RtmwVJ13UFG+IaSUoF62/qhet42LxAabOZ8l7yfyMC69yI12sAeF5rTQ3jDfXK2xr1y3Hdf2FDm7uD5KLOmlGVGajSm1YchIDnG1jqr4Nim1CaNRprMfjrjwA5Ad+gLkmSmzmaXyCMIvmbhZok6hPBEI2HEG0aaxQmUDK5lSHdoh0atVCdGiKCZS09GiMYcRuLHCmJrAHFwvfhYxtp0hsjIpszgRoAMZoM6vsBbLNFgNDqOsAlgJP0J5oNm+Iab6E7i27lGoKfAMAA8+rTSxoAEYugGkmqDsGO627B85NrG/HiRRrSa7oat2s6GzJqTpplG2OaTeuPa8ZwhxthxKeDtZrUdBLqExszQCtdL2vy80nBGBq/gdjqbnE4Sj+aqZqsdKdTtRp3o/OaRTnXG0gIcEPTQlKBBZsNa8A5Er3Fm79rU3BImm3h5ZpUGy1rC6pBeIECXRt+QXQa/2vSYd0by9VxGtUIAJOgMSv41MHM6r7jeWwXIDnplsFaoMC8RmyWm5Dr5UCtmlYVLCFbc7kbskT7AFhbN+Gxmv8aWAGjAFAaIak8U0JLfFKx3CI8qOpAm4R0wJs7Grj5uxsN6jz4mOp5WLGUl3Pim6cbamO8wJUA9+EWG0uBUAAAIq6bVRsbIHgBtFpVGzIs2zHpmyjRgFoz48UgRBppY7ma0/PuGnJARBrAsVgiQ+t+Qcrqd+J4bKrqJZrD6gabF5mTBai0BgFotLm1ppulJUbrL03G62cpJ/wnE+WyyfLs6lcEdsEBG3cLCGCzc1EAl4vWAahb6qCUSyHA+LIM5bqb75pA0MwKFAD7m2VkjZpNm2DrmRqmGlAAwhoSaocS2FsqVcPCuFoaGusao4K1SU0MXJpQGnHcT5vJ7M+bSJF7GuObJHgt6ycbmBs1G6CYof0xgpFx32uLmzn8HMhq6zxa4+pwpKGb42z9APJg4ZorIOKartxsmIYj4xCIINDrIoBkARtrs5oaW/HivSBcm4ObvWw8miycvJpZ5HybXPj8m/uCYJpmzAjgb5oha4TgVRrTm3RaM5uL0cwYfJEBGr4LlxrxygQbci1SmkcbpSW64JFwOsLHXQTRxlsr4sBAA+rWKV6bnmu3XdPySuqrfI+IvSSeGyNkp1Jpa+qb5Bu3Ghup8KPZovhc4FtkGkEbGpq3pZBa9+RCWspt8KMm6ppCT8FMAKQLwIp9CM7qjwSBAP8KD7SSRJkjlJrLXC1Skuv3rNXrh5pLAH0SmFpDrWzBEsDyYHIB6LRFWxEa+au2myUI12rxmrj4Q5rwgYR0aqrYIg54T1AIG25bzpsPAOcaQptfmnRbU5rJm26aXJCBQp+D7ppGWrCaDhqsW0FaNbI4InuySWsUuMlqEVqqm6qq8G0E0KdT3psmW0Wam4Bb0y0bvptamxBb9+QMbFQatZujGcwwTKLqmqaD6AupWyqApVvfSvBhYIuZyUvq3fIwsiaaWGDYmyedU2v3IIW5JhsVUk/BllpLAHSalsH3aJGbSwB4K1FAhVo4A6pbA8sbarhbq1r36gbBoIDJ8l2CSOvoSt4LebNtikXq9cBQARIQbjPIYauhyIqZEgaKO7PaAPeamltwQ4ycY5s1W3paDcFQAb3qiZuvGstcyKIT9LyBZho46i9qnls/w1CbXlqvgwAITVtjgHyRkyrdYydquAETgYyx3et/tUuRLVqOG0BbxBo+m1Z59xq8WrprivU0fS3haJt1tITxiRssjCDrw2t9k6mLjDJAScOBX9B2wNqAm0Dj9coLO4vf0ZxLGIDdAfGMGRtWcaYa0cDNmoVsF7L6AGQwK1umTEsB5YMeUpP0sNtp6hyaUYBaW4ycFVtOWjpajoAuWzh4rlpTDG5bygTwGxdpUACVGkVhedNbDP18mNqCGXnczVvKa0Zb8pFnqnKapZW+zeHUJBpxW4vzeWpmWsVrbpzwWr0bwbDMGruaU+tnKLDDyiVpG6cztjjmABdaWK0WW0pbZeV+gZ9B5QrpwErSS1taUmwAyetjQPWAaltjEf6r63IOWqOClFtC6y3gSNrDmrbDPmoNMSjbhoWo2pOBJ4K1Ww7CBls1qDjaX2vSmmxa+pD6wGqb4VIjW+5igtqfQEqbDpEC26VBgtuRgYWbFIPAOKLbapti2+9bRNv+G2QQwtrsgCNaSJvrxZJcD2USOQAKuPkom5si31u9G3ztbOq8EF4bvYqwAf+gqhH0AYMBnWrti3MKgm05Wlis0pOfAfNbYAGKWsIAkNvonPSIzsqoAcebiGFM2pVhdMCG2ltqI4HzGw/rgDNdmnIajbFPQOBhmIGyYYzyikD9S1HBR1qpQpAak1wDwWzbDpvAXRzasmr3aqdbD2rvm/pb4gJRQ9dbAAmciiYg2BoGAFhhD1raYXpi1xvykSFaBNuFmklbhNpDiH6bjxvjsiPrJgjNauvFj2p5PK1r0Fpt4SiaJNtbm4waxP1gAYbAG+E2FaBhO4q8yboKymjL6hKA7dB/APPrhsHxG2HBNDkAATAJtsEoYFcEw3gc6yHB2JufCxyAWtt3rXWbPQQNmqC4uttNmwIb0cv0ga5BtlqDs4bbw8NZ282CnZtY+enrEcDxIzQQvBCkC3RLx9HX0efCu5rWgAwRcMHKG4eLdsFngS/EhAFgoq6LaxoI63GbQupfqnpasZRHG4prmBp82/xZ8pA3G8BaYFtsuX1b1tAtkGTr6r0K0YXVq5rBGY5BsFq5A/9r35SA6kNbIdsmGjejHlIUALSb4OtWWpaa1YGYAbZbGpEba/3bD3WpgBAb5Vqo667D7Nq2gQB5devoaxlZAHh6W3Jrout38C0zYprS61Ya/5pJmz/wddu8JPXaqmtymr6b4dWOQMCwHFveYyrbpGPeGw3aMBucW1t8OeB9WsubUtshLL/jSRh6a/ThwSHkAOgh/NWLBTYaqIuf4Clav+zSfeHo+OUn/HDLeFH3MBhgBAsJ23cFeEEwso2ww3iUQCnbCPQkAPbSPdr7ALTadTIuAfAg9NrWWpVgfuMUgaYB0NtjEBoAVACT9Q/buFp2mlGBx1q22gMBiNt22ynt9tq6W66B49pZqKdSFRtvm4maOOtT2u6bpRSNsFSKcouMAArr/lpAWnPbuYkr2zdsq9otmB9b/ik6a08bivUISG4SndsKQ35BJhq7cv4QOtorDJabjcOsAffalWG0ACiik/RwO9HBxtt9tB2CJ2pv62baZ2oFIW7BkomNsIfrc5sxC2nS8GLxwY8R6hojgtdqPMGMnTPQWxq16gbNJFpZZCCb+Higmjz4ApunW8ojrUGvmhCbNoms2ve9p8OBQfGNI+L3g55b11sumg1bsIP1Wu+CXJCu2xKb5KCd6nyQXeuwEcxbPeuRmF6aHVv+KRprp1g16kTb4FrdmAVr5WoNa9VrstsDW3LbSRl/au3bcFod27EbndvjbVeDYOp5WqC5yZqWm89LzhC5MrA6pwDUwRGB4xCT9UI6DAGIwBya75sPmk5bYPX2JXWMJBv6hCKY/sQimR/bF2nN6zaIQutqYmQA7u0EoJQ6hiENW9ObFRHf0CTBTVqDfc1bHpvlFBOaaWOD2+1bVvkwa5jgRBrK6/Fb20Oj3OqJfhq1/ZslP8PnEk8Bp8HgOiHpzI2Py1Tbd610wZwAK4BwAWVlV9p02ycCylpwIUyi0OsWAIsp9DWWO0/bGlv/Gtg7L9u6ob1tnhV1jKPb+oRj21z449ptML+RL5sVG2EZyU2kOmDa2mFqY+YacvhucJYbzHXoG0o6IyHg47nlhls42rCaaWJe2rrgSVtgWiw6vtrCg0ibOTWUG1+NBjsgJeaaj9Fk2hHofRvkEbltubJ5Sbyw8+sAADAIBZPRCq3A8driWhCieWL/JELTP4uR2t3zoMEcgSDqy10fmy1S9OsCG3mrxIDNgtDrOFtyOd1p6LXpOlrF3Wgcmpw0sd3zisPbt2ud4g7bTpqO2hRa9JAPATEiv5tcGIU6MxDY22AANDqfakONs9pfIfXamOhAO2Tp3tt3G2d97Dt+20kZ1BsVm23aMRpomuZaUbmb/dTrJhvCm75B+5piA+ha5GjQ6nyAjYNpfe4xwyClpPMby4q8EenYd5vLc+/q9FAw09+heAuuwZeYLwF3iqOSF4ru6j4qN4Gl6odbrbHaqyHAF3Qus9baD4Av22Ek0wDaW2D09jsIrA46WeSOOlMMTjo8+L0hjttfg7I79RCY9S7UkKjoIDmbADrlOsBamOn+OkWaUtssOyA65ZtBO8iaurkwWvQaUKUTwCE7ll3YE+70bhIIW0gRpNosG+iamkP5gaeiWsVngHCShGFl89tArCpmwAnbjEiEUcVgn0F26rxB59rUdcLAICpAgaY7IADX2wdrdNpNAMpbVxLnASVBx5p+SjvaHu3Cmt0B/NVnmgbB3AD1YBWCQ8CpCo/qTIsUAV6B36AWcaM651tV25sj2loj246bEPUO28oEszuGGtXbdVt5WkWpCjpFOlFCSjpckETh/5s+O3zbsJrtWvuiKzvi2wlbWppBG2Wam8TJWkcVYDrNakrbIdrJGuebKGHASo2xd+EXOkDRkDrH4HrbkCkyQV8bwhqRAGoaEqGzG2i79fHiGttrnTooOuc7Bdpxa8aBYcBPwHHaMkSu7dIaB+upCpbBm1rtOgYAdsFpwZth7gscoZg75W3x4i7CbNo1671teJ11jU0NdetNDP7FTQwyOxmoALv38aEwyZpzMd5aJQht4QBaUYjhwPQ6ADuBabjabVq64QTaa1mVOsA4gTtfjdC6DG2cOnU6R0FbOzWBeEAWm99bUbB7O+czJhvjgJmafDuUkJMAXxqpkrfapwF0wDlJKCDQ610AGDM/Gh7t5cI020B028HrWwHBiDqdgl2C5bOQgeNrDzAxC5GpwYCZm7Iag0D1YK5BResHa8HyfZv1spXalepaG7Y6toHiOzh4A2l1jDzh+oT6GxlYp4Bn8UARD2qfkeNsl1ooo006WkzPa0qi9VtWWlPbwWsu2uQhNDuD+ecbwMB5bX5b1upM4T07WErUNWBlBdpPWjwiT4v8EJmatdEe2k0aXyHqO2iC4Ls3GyVwnFprWUuaWPPAOq0bzdrooWslryF8XKeBJdQb83NwlYClmkr0DpCBmuHauus/FI+V+uuCWlw63VvflFubBmrG6/vbpQn5WiIbacA+wDMaGzLtmmG7UrsYip2D7wCv6ydqoBuWwEXqzIztI6uS/yRggA7r8AG4ARIQXYLAgVEBeAo3i0kBIxr7WtWLGIo0AdZBBGA5agkKSgvR6nVgAer9mnaaoyDSayHC3JtZ5W/aeht5O8+aPPjOOhRbCBvQ85SR9cFp6lsNTYuva546Vhs/2vS9droLm7uyyzvtqSQaCJuyuMPr/Vt+mk8bHDoOdMHacFoBu4Dq6JrhOlhQ2oCPw06Kpwr2omZKn1UES9+g4RpRUpZtzuqGwcMg6wq+Ci9LYcBxamOTaUCBy2XzKvznALYLSOvjI1ABLu2u7bEJsAGIuw6Y90DWgJK6lpsG89NSYruGum07F+rjuhyav5HZuoCbGrtI29bC79qOgNq7XPg6u0467ls82jdbVDtAui+C3lplu/CCHpovWz8akXCOug3blbqamwrQkLvTlNU63rq5NLtxsLr6OJProToNu6lbGxnoozMQElrwYGhaMlpKjGSa452E4cGBS5EmGrmBw7pgKZfaC1rgs9+hi1vCuvsBcCM0AQzbqLuGwRLSnAvMUhuR9DR3u4wpHZoaWgjqLTMPm84T8Bob85R5uVsTGoC6Uuo/8O7BjYEZmhMAG5pzKRyARiOumlFCP9uNW+3qprt0vI1YjbHu2mbazI0jw//ar1vSmoua+6MAeRxbSusekRPBbaOUldKKxgGn48ubrrurK+hQ7royuaTrDqHgAHE6JJOn5e7Qnrs8IlWiGVW+YvVqWoDVawhi/mPgexqKZuIjoxdgN8AQezl0vYTHc9Bb5uA+uu68+1SQZTrqBGB66gJ9frpc4WPq8FqgEIG6jBo7uzy6u7sjWn9a22ofa67s3IHMItw99wouE5XwmRMui7HrLEmHUfRIyxJmExhKvgthEusj9woJwJ4SwZvkAbxz2Br1YceBWOCCC+Y7fFJMm80AOAFmwP0BeMCYQbMaGzL+Whya3Ii2OuM7S6ATO6lZuhunrboaZ/W6G/obc7o8+ELrzjoWhU4rYcRyOq3r7jtfmhgAU4qeO7CCXjvUOya73jppm9LqBOtRa9+hBFo3gKDacIGHu9aQnUNqOpFxKULT8my6lTrvW1xb2jtl/GCQ3aM+29W7vtpuE01rjEICsQHaprxuEzU7jWrBAu1qlZotgQMcQLwxikBhNzORdD1q6Vr+4H1qOIGBGgAk4DvbuylaXFp7u30aQEiu6rbB26PGS1gsPACVAQohWJr86+MRWwsb6qQAmVojCCwB2VqFgcm7SdsGwegAkEqY23AAgeqSDfHaQcC724WzUPzR6uXIh7pmSgbAiVNgi+7rVHvOe4trSTpYrOoB0cAdc8XbZWSn68G6cjJwKnmBgjoXsqPS8DphemzqucruQYSK0rsRwDNrpduyIfi7jbAai2vgu+qeEl/QgoH3AZQLShpZujY6WABRgDx6GWRz8zdrODvTu+bDM7rTAaRbIJtkWmjb87rLmnM6/1E12jjqt1uKO0u6dLynUuW6SzoVu4A671ocuwwMn1vh0Fy6Zl1cO/W6JHu8utUJfLo7hMrarBtLC5dEQoG/2xHAkWudgr7IrBRd2kzQ9qLnuzrb6AGNm7rbAhuN0+yBVzpMm8QifgGuwZZTl9MvAWbAn8DQACKrOdqT9B17UACde+G755sSGyHBdMDdAeiig0Fbi+iiQ4rNMkCKHAHMUC/rSDtRuiXq2oBYuixQwLyGwMyMBRmqug+AX6qeWSI9I2nK2kHBI9KWwUM7RqpDe5AA8+udkIOzE4p5Sf2CYEAJ69g7r9s4ef5ldY3F2XXrxdj+xcXZOrpZe0ObAWtAEDXbQpqg6iKbKToeOxshI8Nf6OFqtsElMbeABwAoW6PKHtsNWz+7AUO/u1J7f7r7AWFLEYuA20ry49Oiga7Az8DbgIx6ETvRqntBZAHJO6exbaHDIbOakEsfgToiTwoPted7BQoC8L+AfxvuC+Nrg1OtuuQhedMQezCbqjtAe7Ca/etsvN8heNp4uCZg0IFKesMAL/OaOgD7AxkeGoEDnhs0AE/Ay9u5KLFbcOnE6wixfVrgWk3aUHvk68agIpmuArCrJOPrm/o6oOPGoY5AULoU4lKB4lrUk2h7Wspwe/qblDn+28j7cYB5PG4S2Hq/M1AV+Ni4e0wAeHr66sspURp1u/66Ruvtke+ZpnpU69w6EDq4E0Tl5XuIWmQULYocAa0ADAEMWz2bGMGmEwxSpztr+JNaihpAKgQC01qsSnvCLgBR210Iy+rLiAABuZpCy+vPawUKLsGxC8EbUkRcGisKDBABq98iWoF3QK16DBE7ioTAegF3CxIQAvEBGsLAqFoU+0nBSMAOekzl55oC8voLrQFWStwiDBE1sLNq2oGnIUxK6AC2wM4BK0GpG0ES14sWen5LEhC4AEiAtsEdu+UxZxG2wJMIfnr2CyHBKmE8AZm65sB+0u+L6GGXe6WBy3vNmpyY6NGhut0ALOucemr6MQEs2pobGxrquoHCCZpuEsJ6Cwwiem+7bepckEKd32jV2nQ6UWqNsYETc5vdAPK6GoqHIa2gOMtp6/l6LLpfIXma+6IimTNDP2qE2utZqQXoCto62Rw6Og5Rw1uS2uBbstpNa7xbWq3aelh7CpEbOxrqtBv3lDh7Q81jYLrrmPp081j6/rvcumU5dvpU2mV7cLsdO/HBB2sRyplS8GJfu2HA3JI6CucKMcFS+4UBWwocAYah6GFjMhbqhQqyQWg7BGA9ipkSNTO9M70KOQAh63+Q2eq34D+zQ7s5gZGSJIDYyEtb38EJKqALKlrjvbQzZPvu7Gyb2HPjECn7CDsQzT16Y3oEomJT9qR1sHPRXDOHu9gsMtpoixr7o4NjOil6tMFTuyObuTs7giOaSJCjmyaZQ5s0u+lB2nqt6gz6e3sdgKogV4EpACXtFfu6gCU7KZuHILPaO7We23Pa+Nr4XV7bDdrsuyfia9rj3IlbXroO+5YhKPsBAmj7OXj8fFO8cgAle6ia3LpmeyAkw1svIiNbSttwHJpCmRLkIWcLmJpZIS8AcfvYc7rAwsFQO0F6KvpdAYwATQAG26i6U8DcAeK6qfrv0CrBt7O52/frhLMpulta7uX5gApLxsHvCpVS8GNEKleLuQrFs2oB8hpkAceKhaqx62gBoztEW1XbBfpIkcRbuDo7G3g6GXv4Opl6k4Fo2rS7RDtI4cQ72Xrf2lCbdFu3WtQ6I4ASmmd7WBp8kBKBTFrd68y6DDqBhMTrVvuamwE7kLvN+jW6E5it+tEasFslevW7g2r4+2Z6o1q9+xsYc9HKC2UNEKLAgfbqQEiz/cdJhvvA+6S7JhpWAPNa1zt0mpe6lpo0QCYktluoutTBnAGcASeb9DU/+7/6DZpiOvn6KOoOmjJrOlu/Ovk7mXo82vHDYcWs2oa7FDpTmoo6VDqNWiOApTvSe6cgjbBPQRCF9DsKeq1bLLsVu0Tyv2tkGpp6/+PMQoEDbdtbO0ikZoKx25IBJhr6I60BHCqxoAa7RbpqW5Ao8oAkIKF6nJht6oYAjKMp+9hbOAYqW7gHNAiD2qOCGxo5OmydIAeEO7VaE/L7AbtLHEtzCh86KUHdaaKbmNv/w1Za09s1+yo6vjuqO6xan5Dz216aynvH4lW6vVuhW9t9MHrVupu7V/qQWus6AZtNQLEbe9oH2xhlJ/1d2hXxYRI8PMfaUMTb+KfaaiJn2spo59rFgCtR6NsACgD6XuECBrVIIpkmG1Sbqv2D04wA1wBFqJaaVCAQAPGE0OuN06+76LRSB3MaI4DbatqKGDKci1+BHuv9gWHBBdt7alhR+YAV8O9BKmCPWiXqPvLxwGN68HPIirHBzkAaM6M7JsW4vHM7+Tro2nVa+/uIGhQ7v8LoG8d7EnululyRR/upmjdTsAdgu/AGY2HJawVrbDqZahf6G7qX+7o6sHqgW9VrtTq3+zj6KAcM3MUCO5vMG+cz5Ns/W6iKI1smGgF6l9oGuvw6wXpte3cKOAfi6zvg97puBmS6letSa9g7ZUILuo6bSuv6hNuJGVjaB8oEBbsXabS712n7+m6auXqQB8C7bUPVeG7bDRv2pNhgxvp/24B7+eGLOub7BXtqat7a71pamiwHvtqsBrelzvo3+ps6yBU4+zC7d/rv3Kla0+t7ugeLoQFgKGr6vuNYm1ZLtusykXG6uAAmgSnB6qEnCgnBTzseuQ1hBiGqC6HBTnLGC726tkr+e3etVerD+x8awXpHSi1RscHn6hJr64APwBP6+AYl8qQAgQAAAa7p+nnaT9FTBTVRE0CoGgRg5cmrEWkanWJECpgB0SD2Sx5L3Zp/63asWFAMwBH6HlOsUr8ykbooI6M7SXqx3anC+4IkB7M7p4MeWu46bevl+mIhuwAZwF5bc2x9B3bqQQdwgiUI+Xufep7bchiRBw3b4tqIBo77sQd1u9YGXfuQEKE6jRvBvGswbhLbm/mdqAf5Bwj1RcAC6/V60DrBe6cA6AHPALVQrgZAANgHgqIYwB7sKwdbcjIGyCQZ+vIHlAuOqkN7jbHDethKyDpF6tPKWupJ26VBMfvMAbQAngGjOjm64jqo6mHCI9rHBtgjW/oX9McGpfqCmovc5hs9B1+aEnqErJJ78zs0BmC6aWJruhU64tpRBiw7m7vGvc1rl3L0OBrq4wY4+zEbeQjqanC75nvhO3FqsjgZWmbq2nx/WyJazntIwO56U3OgyloA8+rL++N60kWDex5LY2rDeYk7YcHP6zKQeO0TsDEIjYpA2pT634uzBtR0awFCQC6zn5pjMOnbI7rBe0kyuwCEAMsHzFJ622MRsIcpAByaX6pcmkAHf2F8e4R1/Hsc+QJ7JpgGGm0xxdhN63O6dLtGOhfbphpXW7oHP8PgBzl7B/u5enday7vtQmf70poHs33qJgaW+8qaTrtdW+vzYFn40MA6/VsWB6w7VWpmB1qCmHst+xSHrfsKkcgG7Aele9TqoLkLWxe6OKBLWwZBGoHTG6i7llKV+ioLyUEbakYTnmGVByba3+lw0jKLPYLqgkc6ANJagagKKKOjOoDr2bu8e7dQzlvx3cjavIf16sjbnQaTgeRbMjsKkVt6LjsYhtR0VcKchmEBEABmG0FrVltPaCj0Yno3W1X6FfFUOuMJ9AEB0wl7o8qfe4EGeXojgSC7Hetfgwb6nLCn+1sA/YJUABm6xLoOIbWB77sUBPABdPtu5dsABANjrOqH0wQrax+C4wmqBmnAg4AzCkyqekBz/EyqobLJ8tNKBgDFsg8AQKPYLJ3w7nujEpvSHFP9OsL6M1sHarMa0+N2GmNB9hpBiIp7uNqXcr96vs29WtPzUVukwaB7bLoqe7lrPpqpkDtDKhpFqVEGnIJ6OzD7bjpX+hp7DvvX+81qzvuPBmPqenqPAfeV7vv42EZ6vWqtSx77+Ho3+ls71IY2B2j90MJY4DRgdgYVe4kHaejM+4QL9AHJQKHAjKN5027arbvoYaMbc+pAigoGbsDnOgLxUgpGlGrAFASYmlhhhdPagSpAUMRR2rbrZ2usAbpLFXQQHW7lW6B9usWzlDPpCsZJTYpCuqhRKcBWQMnyNXoSspUBX+jwAb4BXFLU4Gr8OWoMEGGbeEu4G7bredJlDTKLvgAjGjaL+eG0W9ZByvuQ2nhwM2rHm2P79yCHmxP7uCAkwZmyrYDceoAGcJHr+z9hvIahlXyGnNv8hhzaCZqA63Jrgpq6Bwu7tSrjCOJ6eUgaxPZ637r0Wx2BVwfva6cbwQZYYO9ATwCV4O4ctodLO3aH8p3z2g3bMVqjB06HxmLymjtCSsFqe1NxZBow+p+6sPtOnSSAxGN4OKeBiVulmolx9aJrOlp6lIYeoCj6f+LaetBbt0Peu6BkrvvKVfPUPshBhvU7E+rEelMH3vuvBkoGBAY9aoAbnQi2wALw2oAXG6rauEscgHP8XbsaxRHA6tv5EIRROqBxwSaa3QAoWkzhhbLfAfAAxwuwkhCKiQsyei+4EkqMYIBRF4dTBOzqBsAeeskAHABxa5pTnYFAS9Z7TAAsBJoLF1ExCiaGpvt+eiKGSLtvgKwq9+C0h9c7ZjrWWMpacDpuAFeZnkDfGj6hmdljEbkSDiCshg+HkDPz6pqLWgH7W/mBkgktB1aLbuWpAaM6nQdFGhq7I5qaugbN2Tp5uzaBMEe7g4J7vgZZekYbwnrSe3w7VluUB4u7nlsne5sMhlrGBnQGhXurOnEG5OyomwNrnfqbhkG7adA++2npaVuxuheB9BD6YYZKrEp6CuBhDI3foM57lYCD+l0BwPtEU8i7DWkso9gKljpTcwBHGUkz05178OrXawja6rtQRhv6uDqmHHg7qVj4Ohf0BDpdB4YaRBpf2sVkonoo9KgaOGDl+1+bG3Ql7B/DFRG9mjQBjPOGB/+bioe7sZV7v9oI+CxRTcINGglqxgdfe44ahIc1xFo6YHrg+uvaM+wrmg+pkPr3gPPt0/LThvo62mCxB1YGnfu6ofsphHovG6vUTBp8uqGGZNskeuz69wB3Co1BS4EHepeHLAGM84CrPutES3qA/fpViqrb8cBwAVAAc3rpWrxAd/MdoGr9q8F7hoKBBAKNQDgtJYEEAvcAUeNKSrwqc+EgMXAA4AD/tAwQvgCQS1mBaKPu5SpBUvpNsmHSOYazSPPqTWkjO7sLZAF6YanYCoGWekYAz+qES78AsvoSsjUBoYrci27AZkbc+zKItsBSBsgBe4f8EH06leH+i9sA4vCSkMcKw8Gmc2QAKwDCEbHht2H/oYQLmoGwoxBh0/FCB00NM2lCB8XZJhp2EFQBgXtl5WQGBgvx2x87GTrBe5dAWSC0ANGaDQaT9eOBGAAABnhaxwcPmql6b9slG/I0YZUCh+ShO/v7G7v6gzEeW9t7WIesR52GgQaErIu6vNu+iLX65a3ykLcGlbrmB6QaIDoNIawGNIY8O5R44xqbQIK6Rj2XuzDbjJuou5FSv4EEBu+B9DSlRgQDxTNlR+Vtg9oPgWq7PHta+1AaaXpaBrBGAobd4q6BXNrJRll6v5CguOFHZfIUBuZQvQYoR0makAcoR0WlwfzQB59rddvm+3QG9frymg3667txWrn8TAZUgi66qzpFegxsnLrHFHf77AdT6tUD5UdbingH41vH2tsZPAYr6n6yfAYAGoWAgUYCBgrbggYsgUIHwgfjbfvBs5vl8VIGwXvso0nrqLq7cqowqeomJePKVjvuBpobNts8e8PbTJyUuwisVLv6hNS7GVg0um0x7YZZqKMhAWpO2iQ7LeosRuO6QLvfuku7uIaGB/2GfJCGi0b6JptIO0T721v8W9R7coaqO8MG9QF+O8s7/3s1xFb6pBsImmQb6nuBOjEHlIYVmzp7jvsrh//i7qA+u3gC1ZoEA7awP+n7VRj7uuv8fFj7BNhmmxMG8XHFQcR6OEZvB9AGPqDMIm5Q8cDR69NaOJub67Nb42zkAWIqjAGuwCrLEUYXw5SRTUfkBqsALUZLWk/bPEDLBnA6wjrZ2heyZmGaAUBHkXo6CwYSlsA+C2UNKxoJwX/rpSIyW5G7hLoUBHUzTAB2wFlbAcH8EScyXzr2muq712s5u4X6wAf9bH86k4B+B/5rCpFO2rVlbEfMdexGILr3Acwif7oG+7uxLEtMusxa+Iewm56aGUTWE84Q2mCMOxo70/Mqer6bZBqBmiUNY/TBm6UN64bk7BhHnT1mWljklHjLXY4GE/XzBs4GI/v1hjyAYrvXg1DHF+psxhpaVUZV29m7ngcj2rVGUzs4eNM7hoQzOoxHF2hqqqC5mActRz/Cxxone8a7FREKhzOauw2zm2ZhraG9aqTHNwd1+yAM3Ua64Q6HTrvKez1akr2gsWvbfUZuhgUEA1vVOg9H90a6uZ77KPxWXUNHMo1dABUN43oTWifapFC8B+NGVPsTRwYLYIZA0XQA1oAuEuIGwXuju0mBtloFhzPD9DQkAA0GxgCTu6tH+ftcxzm7oTF1jN4GWeQ+B1z4vgY7+ll6vSFMRmlHyw20hvSbFWRFYPI6PsBGu4LGbUdCxlyR1qEjw/db1wadRpdGEsb2hpLGmOgimKB6dwfSx2Zi+F3W+86HN0Z5Roh6TfpY42GFjmK+m/cGm5vJW4GGlYCmerC7WEf4+n9arBtxCiCQqIpnMndohdrEIZGpSvN1B8FA17utAcRGghqBe2e7Ahv+AW6RwKLLBmnik/Wxxlg65VtC6zBHTJ3QRiycWrpZ5bO6UwzwR+bGoAZl+vtH2IceO/oGVwbaYAOGCcHHR8N54Qdn+jlHJIY3R1W70/NThgHaCQeQETu7W4cNO+NtBkAeuX+S+sfLDczH1Ybv0SgBpAExK0n78lRh275ATAFmwZY6nCtWOmAoNccrRlgAtUma+mtHNEcqI7RGfsV0R39h9EZPUQxG+OpZei1rxnF7+rmoQusmG3d7r7oCG1da1Rrpxm6adscZRtQHFRBcR1lHofwTwXAH9rpkx2lUf3ohms4ao1lkET+hpevIez1xT9lz8rrgWlqtoqPGrEpjxtdGgPt+6V87rsci2yPGlwGjx+SHkQduxx5iUoGTxn7rxYc8PbA4eceexxsUc8YcGsWHtWpex+4iy5RnwWvHU8Yb7LB6S8brxoWaNWuLx3PGU8fzx4j7hOF7x0vH68Yb2grHiAYNHBPgLsGHknHAvf2468D7bvUqo9cAFJoGOFOjl8eRuD66Yh2+uuuHkXVhG27B4RqGQJEbxnvf6HTHyPHB24G6O7rnMbu6D/oEur5HiIokU4wA9gtSi1GK9ADnAAm6Z4AO834KIkO5hz76QDDVh3rbDXJq+ouBJ5rRmo1AZQdqWvsAHHqwBnXGp1LSa4iGXeJ3a8AG+bp8xxmoCBqdhj0GKlsCx8maxrptQv2G/5r9xrjaIwahWqOHtwYr2u9a7sbymuB6ufojWtIJKNtyx1f7GntjB16H3+2hmsgAeYBMoga7Vsef+5FH5kHXuhJryCE1AP5b6LX4JtkLMMeNsFxSFfB/BrP6z+r8AaUBIQE6RhwAdiBKga27vEgF2lrFR2v8U+wwfFNgGnn6UYEDmx3iFLsJRzwCpRpth7pa20aNRylGHlrtxswYQurfh7Tb19q3OhYaM9pn26fTyEaCxvbGCoZzMG7bTQZnnLzAkdpECs561DMQBhdG9rtOx/3rhXtam9j7XLtSRvU7FlwSSDGsIUutyq8AkccWAaJLu8ukR0ApwpqnkssGTsEvAYSbRJtcCyIbLCFnga56VgExRxlA/lvPOrDHSeWyGvSKbnOkYn8GZJsd1ciLEAHsgY0Lx4pPADSjozujAR4G6rtrRrWNSIYGzciGWWUoh/h5qIY8+KMgOvuWxl/D1sbXW3oGB/uUOr3Ggwe46/2H32jnGr5bDnJo4E4xTI2UiHvBBossihaAmovFMtpDearjMrbBeApUi1CBScG2G89aJ7uSAV96PVtaO/yANvvjhrb7qnpY4PeJaEcqApbCI4ZRGp1ShS2WnJFahgLegV87G7tuhnK5MHvtG9OG2mEl1bOHc3Fzhx6HgTpy2m1r5qL6euIcQx0GevLJ3Wt+8/6HkRvHQIGH2PuKxoXG9+E9+3WcfvMhwHjqANqlixHBINuls6Db8Yzz6tqB9NHcB72AUP376wS7shqsUlUJjPLmsqoLikaNsW+KabLA6/HAf0aYAJHGVYGfhk0rZWXqSnpADBAJQY090ifWWukBf4aO4vgmE/ST9WQicUZ2m1sbYCbD26t7CK1re/qF63sZWRt6L5uGG7tGGIYdRw1lz/XUB9nH0ps5x4cwuUaex+vavsbFexLICSafRtgSYTo2XKgHsAAJG5rGB0nyWn1B8wZQhhUmlWBDkw1g0Ueou+bS7mv0NaMmqZudmxsGBJppCx2D2IBzi1sLsAFNNdsAMXqt0mDaHFEbW6XbdWGZAIKA81puANG6dsjAS+QLEhBRO3XTNADx2pgRmgbVR0bHCcepeiPbTca0RkwnLccNRqAHJ4LZermoRBuwJ9X7G3TgBuYmPcfBam7bbSewmsFbbLwEh6y7Ar0VOywJ5yc9RnnHaCfrFWSH9WrLxhSHazq3pFQb2PvxBkNHNgYhhm6Bn0GE+ksBIlr6m9wHmcj7h27AK4q269yA4EHSGoZBEhDms26reFG1oMSAkceOchiiBrvD+mXGDlMmoUoiywcbAGXx9DSAp0ogbOqkewciZ4Y/sw0b9FMmSpbA2oGKSkWgvZs7wCMbUbtlDdyL2CzrAepAlQp0Jnoma0a5OrVHRft5u0wmPPi6u4YabcdI4R5bJ+r/sYcnMCb9BvKHh0bXB2W6wwZCJww69AeMOxcnLLhUxxxdtvuXoZOGiJtamwNGm8Ud+5hHoicMx0G9AMhfR4XGrwevxu57d+CgKVsB1Fv9gJHH/DPVAC4TQyZNg1gneCbjvYbBA7Ieiu3hLJpP7f/6Iju8clRG6esiWp3wo0ZyOSaHwoG8Jtw9XAC+ClhRagDlyfIbPXoQItz6GAEeYJN6WAHD2lyaUUBbJ0Cbm/r0RqcGLcfb+lFEHYfDAe+qk9vCh3JaB0idxpCHCZXQJigaM9tcJ8mabSelOqmiOcDWhkLTNaSPa+TQLlPBWrhBd51OGwmYYVrjxtPyuPhC0EQbM0Mzx4ShUsYJ1binlMe2+t362yL2+iw7EPsHQqzJokdE8tD6iGtkGmEn9fwdJhp6HDuLh637TA3m4Dp73rvehvFa2bVBOAJbMIY66w0BuHrvRh77BNiPgdRzm5oFx4/BXvsd0yHalpv4gX173CrLB/vA6Lvjuy0ALNvhusN6SDvbB1G7vTtMunIqowsCgHDzEyGaB8l6phGs20yckzosndzHt1E8xz9hvMY4x63HeybMGEQb/McHm/XwyEcHRq1GcCbtR/r63EYPSPUbUJLixpFx/NsEhn4ndzGOu7vjIFumBjcnNcX6gY6Hm3ykh8gnm9Muu+d96EchGkE7tydfjLEH1Mf0jSUMtMeSDAR74wfPB8SmuBVRsfYGKxje+yYa+rrihsVH1qRNIo/a0OrfSrwx9DWFpwSg2Trep8pwwqbSe5jrRhsk64cbe0bfw4f7cCd46rQ6s5tAh35aJyfix29bY4fSx0Em6CeGp/LGuT2hLRMGysekEqwaFuuyOAAjYEGu7RNbfAfGE3RBvPvrBxHAdWAoAWijnEt6xgqAVKbxUvwA6MpFRlZa0uqWm5Hi1oA9AS07EiLGqB7s78OBEsynKiapwbgqrgEnh4S7DdOtBtH65JtRiyYKUxCWwfOLvKaYxlO7SUZlpp/buMaFuka6GUb9fJlGKZpcRq+9jLuFQCTHp/tm+3KnA8a96iYGypsnUlLGCacsCc66pOqQ+20bYkbtGyPGoSenwNSHePvsBjy7HQC8uyFGGzIYopK6wad6AFgHDWgdwxjy17rLB/rTxVoe7FenkgEPu1RHCOtqPVybTJyVWwis/EH6hNVbP2HEBqnHJAYLunjGZLxQgulGB0e9hodHlafQm7uwVll7wVwBa6ZXG5GnTRoOhtPHkVspgL0k+sFL2t4aoPsN2zumrroV/INiLdtrJRTqMrl5R10mNBtPxDTHUQAZpxP1Y+sbhj0atqckpry6RceUeU0BjQD1mv5aoLhCujiKyltIWtgnMADLBuMnbMYkRkRDppS527Yk5BA1Mpibzia8Rzi6jbARgDMgtupxwYLAoYFkC2XAisEqB4C9l0SC8uUNzIrFsrsAvuKqEfkmsUDZhi0ZMQGku6NhldvURzx7a/vjDRv6dEaCps3GQqaNx/OnCZvPp0YH6Uc4hhimH6ZKa6hGP6cIJ6RcS5rCR31H1tGtGqJGe6ZXfFxaa4bR++j6mabPB3U60Gf3J8GGkciE+x+GB0nmYfqyQXuFBizGiweDAa7Tx5tUASzrAlOCSg2bN6aFGtdqRsfXUSt6/Ic/Oq2HzYZMJ7VHZwYum3M7tsetRr3HbUeMZtMG1ie7sECj7As1p/xHNoaBWnjQPMGtWwqnguAW+ow6yqeZiJTGjhoRWwva6qbEh89w02Rg+8y4kHp+GU3bU3HAZm660HtiRvoa+UcPBi77Tt3NGC7dTwaiJgzG68HSRq/HyMMbGLhH6Vo56J2nEMycG8oK2Vs10pHHIgfUmteCFQ1lZaXH/8dLwvoAAAAuVSbjvFhaU73Lx2UGQACuZoGHY6YYZgdrBiBRkzQQhEpfRLbA8UG7Br76k0AZWktRyItqJpjyvOp5+nymOToNRgum6NrV2kVhOEpE4CXsYWf0un3HR0eOx2U6vep962u6pIdkGoenWaaGay8aZXsmG+CHQKISpgtbnmDAJ5Ao40txwYXAywbewWr6zqZnAJBBKQBiZ+Rmlet5fSXY03vi2T169ntQASagr/sDQUwBe2vMUCpGGsVEIFqH8vsAimBgtQHR0XpcM4vJfYnBQQouAScqrwEkuqxLB1t2J4dbl4fI6nCRKcfkoIQ7cmuBp3+nhbvhm9+H7CbmO2lH+0ZFYPjHsIIExiOA+vsyAgUkjbFZx/zqDwGpC/cLpzPWelIQ2QHrpp4cqmaJa5umLGdMB79j6ituimuAs8JjYAZnUHvGodB6wRgeuuEYCHslm66cpWqPfGBnivWvRpammPpWp3EmuaHxJ+DSbdrWBlmm5meYJ+Ntlzu6AA2alpoaAS8BzYCFp/pAsdqT9CaHoFEupyQmfQr5kzJaqVLUiDIbaboxATarxvrbgWYBEXQaYMGac/zbBl2DAWbPc+0G9CZa+0cGWMfDmul7XyGlGmdntGc4x+lA8qaIRnRnTtpIRtLrIabvp6Gn1fvJm5nH14uNAKAnPWcnJo66spshW+pmI8ZSgKgnktvh1eFb79n5mgTjL2be+rPGZaOdWrB6H2cpAD1HaEOIfCgmi8cFIpLa3vv1p1cn0tui28LastvoJ56G90aYJpvdqvQ2+m3QJmZf6DNmJdxQZs/GRHoh6FqmItozBvTtvGb7OxsZuoZGwL0J3ksoWkwQZgy1kOaLruxgRxF62oGHZnCmfGc5gLw6n5rKWlwB5wELRhJqaUCP2/Q1WOf5GoRxBRqZZqOCTYYDwZBG60a1RxtGWeWbR1z5W0faBlAm9WcjIPVBLHXwJ747qmZ5moJGU0K5x2ToQGYiRi2ZIkfjcbqnN2CU6o2nW7uSyIaaUUESOKdT3SeHp/lHQltBu2cokDsag/2nGd3iB5wBtKb/PdyBDwrMAHmA7dP0NCrK5FDY55K7uOf9m5N7JaZ1MbRmJicLp+cH39rHJkVgCdBg2/R736HEgLfhUoYlhhnGy6eQBksA91pnelPjBAC4SiaaP0exJw9b50a0B7+ChBs7O4p7wHrRp9Gn5eFz8i4aO8dbx1BiHrsa4feAYCa64QOaEVtW+e0ah8c7x6BaqqfTx+PBaqZ0CYvai1hfZyqbh+M1gNrnW8a2Yis6SVsG5hLaa8bzx3GmfUfz8zb6dKtnfDqmw2e05q3bE4kweybmMPpG5/vGBqYkfSYG4uPamzqbIRKkfUemuJtcKhvHvUZlBEmmzfznQqmROONL3MotmT0HxlvH+8frcHvGXudm5wFjnuZm5kfHVOOG5j7mR8byxlu64Dv5x477mHqrhjBakGV3xwDUERsPxqTdM2Z7gFxm9ybTzeZm24dhh+QQiOcMCpNAsye++gv7KcAus3/Tygv5gA/BhkoGhmmzk6fIAWtRwhFmsWP1xpDWZskmG4rDgD8UV0DP6+WhD0EH4EOKCPjMUB5SCPnRhtqAwIAXk/ZH4esKopppusCRxsXHtcPzBzgndIb5ppEAG4Aa+8ebg8zlgKealeZlWtnid6ffO2D160YsnYTnOHlE5lMNxOeQJ6X7gLms2jdmByeZRm6EQwfhpjnBlXruRshhtEo4mwInhIpzmrWmb1tKewK9zRsrOnh8ruewsKA6tbrQa4NHzOb3+mjmSwBSw1A6QycCGvojFKDLBrniqeoTGzDq8cZYAGqq0mtAETVHkmenZ7VHsBu0Z8lGZ1vNJvsnFadmJ9X7fceRZ9lNAVuvW7jaSuejhkvbwPteGxsKgGY/Zoh8qAzFmhYHB6QPB02nwlvbhn8GWkKP8jwGymm1AT9BYoFROqeKmCDx21YiJkf1scVAjbG14ZIm0nJoM/Xw12fBapabS8IisocAscbAACtH6LSLBitHHmeQARhnlrqxe7VAC/yrihwBABuM8wOHXXO38+CnKDucwciLjlC7QNpDqoesiwUKQIflZt8BEeql2inmPBBhKiAAeLsEYAiKvzPP6xtmlgGvJiz7EcZ5+9uD1eoIpz86iKfv2ydajeYNwOCaxDoVp2XkI+ddxxsgNTOSAM3mQsZhpnHFxyZoRt3m+6MXJ0w6XieWnM3742b05+bgX1qPR0gH5uGSR0SnZmagER3b2+dhOzvmvBG75zNrhAragKOSqVLgAACLRLtMYVxAhbLtp+hgAicykD8ndEHPIjSm+wHCmvMoTVOOpsIAFkHCO/Q0b4CCOmhnRCbcplk6lxr8kUQLxsDu5YoH43vEAJkrDBCEusdqRAs0e6Ygv1rkJqHGDGVwwbynSAlaG/yncjXbglgjkjpZZLuCJfvSO00mQobzO9jaS+YkrMvn+IY1siDImmdEhv1m5udAZmgnu6ZrFKBmwRiTZoNHQedcZlhH3GaD5yAkiSa9JxwHFXs++xxHUyd6Xf27wmygCxF1RkDNB27BbBf9JzmAR8EkFga7CGbwYspbdnJv0tjgMxvTgBsi7ZqaF06nY6eQqE0AU6dRAFhgbKcRwRsBHKApu6M7CsvZuw3GroD1JiycDSZZ5I0nXPghRxvzQCPH8gmadWcLp7Jn4WrTB6C6UqcnG1LnTGdqI31ndaceJ0yCkqxKxrcpt0Z+x5BbmBb45aimqzH8OzRA3gCWOgsrFEeoce4WHMZEB+JnNWc8h62H0+Z1R22Gs+YJmnPnnQFQJ/4GlwcS50SJfYdgALYWoLsixlFrXee42l7aT2bOxyOH9AdCF1RcOmYLxr9riaapkHpnpIcHpF0mIOZ+x4rGPFrR5tUDECvA++4WrKeEFk7q40Zz/Wfak0bKF/7As/xMwWXlqhbCu73bFisTAfQAY+cTQKsG9YbjIiTAY6e5233KkXsxeiNKQQClZ/lL+gr0KqL7KkZdgxra8GBp5706CcFBxoQA5Hqjes/QPWFkARKiWGBje6HBq6BSo/aLQ3uLJwUWrqadghtm0fof65uheBfoYNqLEKhQs7dgWRDLJkoWbwGAMnOm8KdGxxJmxfuJxn7FMEbYI8nH1Vq1ZiFnGakT2oVYrCYkkA1nfpnBptAXHYEDHM1nxVEOchXwAvDha/pHD1Ly50SJYxZ6+jwmDnCsdbQ73EY1psy7D2YCR0Fb7SbqawD6kRdg+/1mM+z6ZmK5dzBW5nkFI2fW5tLbi8YHpkVryBfQ3RNmVIa6ek8HPHwfmOgX9BrcZ/NmR6fHusenxHow5gAciFuBxxsYHnvPAZrA7uqfQaEBUXvuCycWJiJi52hBVkt50zqGy+o2ixeLANoC8XDmXD1jwVABDQpWoXpd6tpagUqTUwrkZM57apDZJlRRp0ZgK4HA82opQRhArkDwYNhg0yHUWxHBEqJpu28XnPD6O5GH3IBSo3T6jAofFwJzhAvxQYwBp1HcBlO83WNkC9hKYErWSttarFIPALoK2idNi3+jivsQsQnBuwtpFiXz1YG7ZqQWsJOYgdrbMcZMmwQjr4uQAWbB4CIZivA7GPO4AJb0A1DnoLpRUwUaioFKefrCB7i9Nec4efemLJ0Pplnlj6augU+n5KFCekLmYAY7estd58F7wNiiztpIGkcmfYeBFkVhQRYEBSJSx/ut54WA8ADKhv5a8xfKZ8vnnUdsvcB6z2cIFj3ngka653Ba26eg+2GE/ik4ptb6Fuc3RlcnU3EeAkAA5bMIsjsSclqQ3Xqa6sdmBp6GS4dGpwrGfttUGk76IecE6I+kp8e8cmfGLvpZLAYA2SynAzgtiEz+h1X6T8aPTOhpkebBhi4WHxquFsF7atPtQNDr0TqbCipV9YMY8zjnNwF85sQafKZpQ1ln5C3p+p06cIHfoHN7LIpKVAt6TIsEW4eLdWFVhjVmdTDgJrRnWyfUZ9sm9UcKgaWmfJY6+pbGe0ZD5u/REKIZFySWegbop0unVAaWJjX6f7vVpnOaYscluiu7bidn+/9R5ND6wbxQGHrT8prmBOI2l6h7wCOLF/b56qZ+QWB6f2aj4eh69pcwKL6QzAfT86xmVLFkEXaXAlMQe0bjBmcIe+xmISful86XHpbB0zOJsPN4OXBCDubMjc8jqgqjwtpTjucN/SUSAMcjHWVqHpZbQCh7lWphlmh6vuaoer6WQoK+eZGXYZcYe0uHmnr+2qj62nvB549GaPump9jdvlT7a0lit2Jt0BNSj+1u7cMckGRilsZ74eaKkdRzEpbSRgXH8xxFAywaSQeH05/BfXt75lzx6eAAqWwmNzo327c6S1tswd1BJMCQxtwBYXpw5JO7FGdGxlnjObsSOwitXBc4eVI7GVk8FiTmourlpnRmkqccJ8VQaQNjWq2n6KaErA2WxVt9B6aXtdr8FiprtJa/pvYWpIYA5uNnsVsNplu7obSTmSam/1g9JtmJMGZkp0km8Luai4KiKMa2wEmBgwDz6nMnxBdXAXoBUDul5/SbZedEAbYrtkHkR9ghaADYJ3gHwCbiRJOWU5bMpnjmWAAeEdm6DCdABuVDLv2yavO6oAcWxw+trjtkO01n3cZklxaXGcatSxFm8Catlggn8yFPZ9imlMauxtpmwhcxF9bRa5rN2zqnGqG052sX50BGZ2BmnDuzZ5mnexaEe9BmjhfSFokHfZc5lgsSjbHMF24BnEuVoMHHSErJ84+j1iO0eyxJQIFlC55KWGFwYfvqkEo1ew9MN4ZTvFqAfPMfgpHHF6LYJy8iBrqdjKO6+atYJ5emNyDyJxtqG2vrZ6oKJ2syurJBSObMFtSL4oudCvPrzFGrEeVAdQFMACWAIAAVh44StgscoaHBxsFLymbaoBrchl0WphDdFzuCJsYwRqbG24Jmx6cG5sfkodtHF2l5wsMBW0b/UB3HeruYh87xZfrju9KmRgdDBh6bF0dGK22XzJbIJ/NlvUcapsyCLkCEQo1B9fEiF8mm132+zR66JR3am0QAcoCcIHqbYZJTW87m5Bq6ZjyWKBbLhrGWwebMQ9JdAZtpl7EnYpaCWrNm/RhzZlJHZmck2oHH6JsiW4CjUxGOwD+SkwDyJ1BKYlpjR+2nkAAEo+nnIlryJ+QRSgdlJ70BkSseRgkK+NLP515ni2vJ8knbRtHcBh56WGEbwK5AH8e6R8Hixod2ra0AL4a++08X/5f7h2FBAoDHCyJbGEFSRbhLGAArAWtAchaY2ipKG1sdQOymwvtb27GRmSfbIXJX19vwS8/6WgHiSlHA4Wrg2lfaF7rWxspalrKGiyMmEmuGwM6irXtmwDrBy2aT9NtabKcitFyQjnsDQaHGYoo6C3LrPKc1FxynbsHDgfRILuoAQGCAykdASmBjvvr/y1JF+kDGJE/TFlbDglyJbdBoM/wKJiAcmrVJ0L1Kl4+dnaZBwC5HmGC9kv6A/8amEE0nbkSGG7wXl2bberJnYqaTIcXC6MsOZhKGreopJjAXAsYtZoSsrWZLAbIXnEZWJtYX+OuBVjeb2Btzm5aWbiePAO4nNJb82wqROuZLFqSHOFcOFvin69viRx0bMZa8ll9b8ZZoFt6GQ4VaZwKX1iqsKmPDrENAoNfGrdWo3KlXLMBTZzKg02ft+1anv4F9auKWckF0V+gXkObmm1wBvZcMVrs75tGPJ7aDIlo+eu7qk2usV2v4AvHwYZbqcgYUBXNrOBfaadEBLItEIQKAg5fdQRyKG+u8SK5X3VN2R1la0ot/ktyAmv1+yi7BLyE+R/aAOYAcV27BuOHcBk9TvcvbAACX38dhwLgWUVMnC2CKzI3/WjAX1FH+gEWweYdBmmcZAcBIS5WB9kvH5jPr14rpwP/HkChWACWBrAFaVtaaJiRgKbzn6LWXQX1704EYu1P622eQgbzBwYGM8nez4fs1ULsTY/VxwO9BB4f0F6kmlobkAc7Re1WEC8FTruqjCP8oa/rllqYRlGY/Oo6aYBcQJkin4BedAFjyLCbGGsVkRBtk5puX5OaAOho6JlqzxhvnbPSb5+7GrJcrx+va8PtHxzW7I+rHlv0ZUGbU6van25qw5t9H0lYyInIXiipD+moal5uKirCWQABMxytrPlcDpsF6QMceYMsG45coZsQAK0YcmpQDHQZcxrm6iUZcLElHfhYIRqFm0zGoG2SW+gfrliUU5Oe0B6u6JgaIFys7GqenVgRW84bexhlUcRfiF6Eb4GbppzTG8bMZpjf7lSHOF+/ctgazBscXaegPFmxA8GGy53L6IcFb65kH14qs4ReGVqE2ushgGsT2wVvqxevYLML6OPNUSlhggIdv+rNGhYAJy/MGfyf/xjrznwDKgU4Aw4ATl6i7ICc0mpP0R0pP7FVh1jseahtWcJFJw8bGtUZwV7dQ8FeGhAhXlDH6ls3qi6fIV0LmbnCHJpwZfUd4xyb6AvAaxPYaPFP4xpPy7evjEB3qwVa7De7qNhtb21Hbflrah2uWtAcruhumtJcRBognERaFVebgaqYqm3DotmM95xC6W+f5a/umEkenwXbmFAxeu5sWfefI9SVrD0ZIB9JdWHqJlmDmoPBiHIMcBnrDHfjZoeYyhg/H5kAQ5tj74NOXVgxWIem7o+ZbL7u+6/MGAsf02/8nVFIE1hJq1cKQK2MnfSdcenhaUYFeFwLnmMcIpjPnZ2Yf2/ya/hcPAHsn51u6+iMXeSEeYJ+CEAaL5pFnmKcYVlKaPBMbporqmOhMlzqdYYT818In05VnVj7HH1ucu/LXitsBx4PmodoYmj6AAouzm2BX6+pYYLhGxkg/JqhXAhsxgVDrqLtnAW2b9DTu1wVI2TsbJ96mMFfbGml62yfalmRbs+ZZegcakBdYh5KHlAcfuz2bPYYAKqGm3CZwFy2XJteCJ+W7YBDCJxbWGVWW1u2Xucfr2hQMeWrPGnbW+9s07fjwIgeXgvZnNJu/JwJnfyZSJ+MAsIZfxh4W5Imv0rOW/OZ8p1rWLSM5ur6n8dx+pg0w/qaugAGmPjt+17tW0np4xgjR77oOcccaEWZHRv+bHevVp0qH5rtBwKxKmGblDWEGlkzT45zW/NpdRxLGvpogyBpmcKHjxpjpTQ1HV0JGyxbRVjPtkHUrm4XUZOd8Xcw7qONtMGNnBqYi13cx3ZcBmsJsuOyfFnjseWz5bRBkbvpvRn6GtFcR537GJ5aSFuvAmBcx1hwGikNE5UcXsOYWegAiKYZ4AKRL7IH7evkotnpEFstWwLwAx+nmrBuiV/alpbOlwrJ7kVHFgMMbRYfPFpaGy4lMS0Ga6cBQlkUhn4vlVoxRckv6SoNBx+sPVrZSF3QwgfxnNNpJZspaGoBj5jeAb1fW853S6ev36yqHJ+ZcpgbBKnGM8zuL29bkAIDAQkuaBhjGa0bal97WOpenZ83H2pYyZ9zBkBbGltiHpJZrQGNazZcDBgxmTZbX16VaN9cYp3wXodfy51ink4DRZkgmx1cK0PnGejuWBv1r5XiYRnsXvdcK1wkHpoK2BoPW9gaxig4HktrfRmvqAtOMEWXyXnpCSzZmuUlv6/iKUTqCgLbBQDfagPHbp8KPyxUBMJaGlw1yH/s02o1nNzpNZ2XmoVKhu27WQoBxxzA2PXqdOxsG0wUi8e5GDBBtVxUBhktf6neHvbqFuHGbaj05OxWWtUZVl7dQ1Zdc+DWX8Eepxq+ae/ppgEVgB4aeQRhTzHS4N1uGDLqCh0XWUYjUlzxHmkI+MfAX8pAOugvabsa/ah2Xfec5PfTm3ZZYei76m4XkBLfH9VD34bsWa/3v1iHaLOdp0SYazAAxAHzU1zrsJ5A3P4f022Qn5dLpO4omb1aKJy8i+RboZ6yHiycTQON6zFCNQAm6QQgcAX4LY6wGAWUNElP0SZVWO4s9Cd56CcEogecLivrgYIdj4EcV2o+6RAbHZzx64BbPp3JqaqoENj47IRaAW7YW5tZHQUsXwhfU5sBnnpfDZqg5eqZHloNbqaccZ1EBnGc91lHmBcbNp+262GEZQVoKMwqtV8/qrQfO1w9Xl0FaoWIH8wegxhFHFAYmIJabQbNXAPJgkgypZlwn2ObGN6AmpNe229nX/ReN5t0HgxeMQAvmbnEB1uSWf1fpxv9WR/om18u6YddDh2bXwENKmwyWZDftlwLWLtCB5oSnpyS1miendQEjlqXmkDeFlqk6UAC7AMsGOsEMAFXnXjZs6pazyKOzVqkR4fp9Vmm7e2rTSzAAhLovQUBi/wrkAe1gC/tIATpGAWEFFqsbVUk9iiD7Flbb2+gqHYHgp33601ufQWUKkBHVZxPm6TNV2glGC5fBlOjqkCcBp7sm8+ZBp0MW0i2HJsgbFwedh9dbYpou2szXFJZGBrMWD0lt5i/6JiTCVyVWZ0eEisXWGZvdk0y70aspwI/qoIcys2jXbKZP0EaVZSbYwd8KFicP12HXj9Ykhr3mTjYQWywGRqYuN6mnEtaQ5jxnB9syFhZ6rhtOi557u5GHa9waOGGVgf+h6mhbIjd725KhNtV6vvtzxwkihbLZ+qvW4DY9wqoaylqrkR0XXwF2gQABwQCwhxMBsQqT9UkyZfOiO5rWXtek1p9XJ2aJNouX2Ma7J3Rm/gZ2mJY2bptIGlY3xVCu23fWgiaS56aXILoA1phX9jfguo42UdYEV4rG0OYjWskbIltFhzuKDwHBgfaBqRtKV7YmyjE9irkykcahRmPSo5buNhwmylpaAN17WCe4AJDHWKJvVm5GefujAcfWmyfBZnRnurr9s6KnhJdpR/T7oxa01ochDFsml81nFzfLpwAIIVZq/RuWEaa8R9AHD1onJ/MWh1cW+w43izbrmxsWoOYeoFxmZma5ViSmZ5ayRuV6ckd7OskbTsG2wApG9QvpJ02LLyHKR2rhKkaQU6pGcWtqR+omqVMaR1VnrbFukVpGVAHaR5vB5Ce6RvkhwZJlQfpG/JGM8jaLhkezkUZHJ53H5qZG+hbdptz6qiHmRwdrFkdl8v2RJEqNsNZG6wA2RrZH+AMFClZnz+sORoRRjkesqo7qMYewtvHA0RKyCqIbegDt54CHebI8VuIc5oaPIN5GO2cRwW/GhAt+R7bB/kYn00uBk0ZCBgrbQUbdScFG4DdEAT4r5UFzKbvKpSbXlmoWS1tism4BOiDQ6gF7Tzqpm+i09LZ5INQWt6Zzl/XHXRe0ZohWuMcuOraEK5duO6J7aTc0WxzWQRcGBzY3hddtZ+6FRDaAe/Lq4QYkNwuaJgYW1nI3u5ZMyCsXfkGrFqubYkd7l9vGzzeB5xRWvJc2pnU2MhfR5mvr4YeaQl2HUgqGQJBLjApYo1HbQxs/VfmWYxvjbXMHluoflvlaLMbqAPgXzwDLBk5qGvuUF5+WefpoNhh1M/rI67i9mDaSN4xHtZfdBq3q6wGba1+bf5szN0SJ+rfG1rc3tjflNgV64dYmWwgHWpo3xtQ30EqPlQPmkpfQ1w8nP1u/W15W8fJiAUC8iWaPAPFTuNkHa40AcCrwll0B7uMCQEybXTMUBNXHpwop1vIhLrdEJo0XshuAi4sbqYsAV0sbgFds5MBWb9MgVyAAYFe6C5+KekAQVmUNptpRu92a3IfiN0bHtUZDmpWWph3bgtgjGDenBtq2OddYNozGWKx5pliGKZrKO5k28Bbl1mFWajr2NophQBFQYpTGQNaN+0tCvpuu4OS6gmXqupwSix2v+OrLXBNptgyDlyfr2uyXHAB9AMRWJFbv41yXKRabFp2XESfA5pRXvJYta6j78VdUVo8GyN2iljRX6Zc2o1lW75m7KHj7sWch2t+Gn/pl5qO7ubJj+hJrOFqDNh2bbWkKlnCbCOoC5gMAODtg9TiX8d24ljiW0mf4l2Y2EBeAuE7beddhZ61C+dYw0VI2IxkyLKXXyiHENzI25/vm1ruXw8CsZkzJNOa6puxneqaS1peYEGd9V9GyIZpZl/sWvZaHFgVGy10Mon4AI7vK18MWS1tvG1CBA6qiCIWmrxGtO+i1JfPvAa07Y6fzJ/+WsXul0cN5aErfKARBBRYv620H4yKBtt2DwIrdm4WR6GEQphNbb+tQEdQnYoFYZ0YLlTJ55+0G0Fc1ZxwWzbc/O023t1F4ltur52d+1zTXkzZX1q9rXCfklwZaazFExtk2hvtJhrxHf9v/2w9mfjuA1ws2jAb9R1qbhFbnVnyXx8cg5+2R/JdUht0avdbEpn3WajYPJrxmHzb8u+NsMrJM204GvduRR9GqywZVwk0jTqZztt/n7DcT50aaU+d1JrVHJharetJm7lY7VhfXrbd0ulQ7BddBBhhWdjYRB1GBFdfOx67nzaKv1/4n0/KmBmw7PufIQoanCaaLN9EX/ijXJsh7XuZVN/CjBNLDY9FAqDgt+hRXsZYt4M+3/Wr5Agw2jDZp27SaOzZQNpabSTI0AdA2EmrfSnq2kEBdeoya2lPWOxzG+OYNts2GroCwViyd5NYNMRTXP2GU1ic2WameVi0nxbvLpiXsWSbXNpk2mcarpnyRMAaF5mdHdRoMEda6z1o9t/zbFMa2lwK8O5ZdW7e367pJtjEWfbeulmyX5DcvfY2n+bcJJluHiSZ9lzKNeHbbgJBBEcEAAZAJBAM3wjExEcFQAC8masYpFs7mqRd8BmkW4DZwZqxjuje+U+FHzUYFIktaVYIlgGrW47yLBtMaccbiu0Qmq7eUSmu2I3vdmoRQTIoZapezjYuUpUqShlPVmi0Zd0ELQJBHRzfepsB32rcXaO+bBxoWNsjgAQY/unJmkubyZyum1hb8tv+szHaPNhHXXsbG51EWiafYVr6awNdN+k4X1/qPthIXm9sCoCS6FACu0xJCqQgnFnvbpmdzZhKX/seXVdMHPHZ4mhmHuEbDGr57S9dxh/RII6y7yxGKVRYFIOQgkce5E8JmG9aZIhjn8bvft+8BV6b1hnfacgGjYRzG9X2aduM3cmrvm83mKZuYGjYXLScyp62WdhbK52GFpDcOl9uni0Jsdr1HrucxF/1Gg0c9lgkWSScyjUDS7dDjWsJ22xmA2/IGrEd4QNHb0QpXt2PX/0azWpHG6AaQABgHXoEf+otblbeRRp+qLmaVxl5SocnterqAwCdjEYgj6ADV5ppbwzYDwAF20GtU1oMXIHbgN3waujdKt4C7wXZBduhWrHTml6LHXlE4t5pCS7LSCmrHbgrlV5Gof8BuHeXW33vhF9XdUHZxpkfHMacwduSHZueRVoEnf6aRFmOG6WuNdrvGkdbRFqZ3sLCId9rn1WsxF3XXE4ftQTFXnIKsO4LXsVYu5r6aotYlag98E2dL3GVrU0TBF+13oFre5lLno3fVapGW0HdRl113W8flmrEG9OMzgUlWmgHJVyaiE+FpVwBM4aHzd2jdbDnva+fGBjlppr/rEGaQ15BniE1d19Nn3dev1po5fUavNmW2QmoBx+W3DFfLN27BKzZdprhbhoEZiz2KtHr1Fpba+WZhwLNqCoHMwcDA2SdMKrGLXaf7d+qIS5Dm2vG7DFJZIcNXDWkigMAB3/qqWytAb1f8s2nAHDaUcOQR8ncikQp2bqeKdodmUKel2qBGRpWECsHhS4CMAbyntUZT5xI3tWd61gX6BtZLXdvxBZY/hzfbaKb6tvo7U9Yy+0g6Q1ZgYNuBXVblZixRuFBw5ZYbp8C4Y4PgNjczgeBSMbZF19I3hDfs1lSKFwHdi1uGDzcLmk/WhIAWgVdGhVWqp3vjEHe9tq6XHsaityOJRPMdowj7cHvCtvPzhmYL7Zvmejto9rCzounsln8LHJZW6sGXPIM1gNLrZ1YPBn7H3ZdYe38kz0apA0VWzjCIEzh7U2dvRplXctb+u0znkha1mw26hsGZyJ8KVurZIIx7HrbB6iMbvnsxh0HB2S0HGVL6UBlpu78BJ9sdAUl3pLq7dyHAGsV/8QbBuADuen4RJ2uqSqbg/foO14RgnAEbGSxGria/w5aHCCBm8pia2/hbAHrByGHYY5ImzXtCGjrGLMfgImEAtQFRm6i6cDqjwwc3PADNgnA3M3rwNnK33dv2EkkKwfqv5yHBpEoH5qfnwUCGF0R3g/lMnSG38d3oNg0xYbeGheG2RXeGGgEXEzarl6e3N1s31rM38oZS56d6IXehF8OGDjfSxtTGtTe2dvRXrzf1Ol773fqvZtdW77e7m+NsoUfsgW42lbZjl+hazUBu1hJqngEDum9W1vbFQCTWo4KsW1oaCTe3UcYX8d2Adg73QHZ+17smsjotJ3WXAsfUdnMw1HdKVkTh5XdzN6bXLFtc15hX9JfhdiZ2izZ4fI/jnSfoJ9U310OSyNDWA9dMGqb2TyeOdqsL2cjM+spoznuSCMVA8+rdtjlq9cHvBw5KPPtTaloA4AET1xsY9ntJdojXg1dxhw7WpuCcimJ21rfqIUZAKTvihs9WLMfCmwGgqWffQbl3QvLp9nn72cIJxyM2Ota+F6YdYzctt2CafBehfP92N1opJ1R29LozF99o9ca7DOzXcxZYphU3ROpIJ0LbgOcy25Laz9ZddoDm/2dLICIn8tZG94cWZoKD1iem9ZqbQFh3kIcNekpbDrZQKFZAvDEylsRT9DTSk/zUHJvm4IOaoBZbVzrW0mZfdrn2+tYopqlGOnapgLp376Z/u+bgh/vV+rYWN7YIFzGnFfadJgRWYNYXVg51mZb1O/lXIYc7mx83WBZBwdzcT+cyi003ScHYgYd6B2pc9pywoCiHurzcXdosh8n3DZsN9416mle42RQHWXZWFDcBSIFqt2lmq/foAGv34hpDkrwR7wBfGnI4xrMFF7P6cIC6F5/mzFHqJ9AGAvFqALNrRGbuQAfma/tBthJn7fb229n2Cd2Ll/m6WXvJNkMWKffBa2pihrZsR0zXevqucJ72FTflO/D2UVdAOr73SHZTMBEnThe+x6EbBvZEpu/XL7Yf1/3Wn9cPJzDXg9ZvBr8WxbJnizYUUAFRAEwRMfc4Rz/Gxkl1G6oKaDrjCYMKHneBADqBU5eQKJzTh1FpO6i6TqZvV6AOD3YdOrDHGev8UjWrrPr3QXmyW0Dsp8xRhoE6h0g7+4Z85XIX/kZF6r5nAIoh+z/GWdJHW2I2dvcdB0YWjoEZ1qGVmdf+ptJmZjb6ljtGpzbFd1/aS6ba9qaWOvbBFrr2IRY9tgSGsprqZtuXJXD65zGJ3Vu113I3PXe2+pOHembj3ej3brsY92K3aHYKxi/3tDcvtqeXErbnllscSQdrw3/XETsCd5kB4fbqhgnAcWpje/OSZgzOe3UH2SpghuA3b5fYJgJnUpfKt4yBHOZWFFPAMQEEJh7s3A5EJxPneFsdB8R2x7aHtjPnR7e51rwWtLvFdpfXfldiegMHBfewghQBq8AzNwcnNahMZwP32Ud2FwEmQ/fA1tF3nHcUN0kYsQYWtt9aY/aPJ5DSE/dKd3eA6adYm4QLWPaNsBwbEcBtAMNp4lduwM57imcpuxdr2IG/Ycnmegt0CzxW56O4R5JXKDo4MqJbBQtD18eLTcFWR9nTLlaVAc26rKf9gnvqdsFWWf0zraBJAYpLvxZlNgcBbboedinBIAHRq4Mni/fp2spbwkBTCnZRM7exEbO2HuzfS8WmeFrciLcCVeIElBnq9krPxGYBhTd2J9irygoXFgv6TIt7agSAvEFyBgjXmQGlCuBBZQqIilZX9Ith68vqO/eCSsnzSndmsKRL5kEna32aQFYdg+IyExGygYzzh2YfhgnGB7ZIhir3iRTFGgJ6avcXcur2magipmc33Jw8Ei+6y112ZobXxpY4DuU2uA731ngPzNZ/u8jgJ/svANSX9zYRVyN9vWZfIA6oambegOC7hneCF93nlOc4ag6XvNZED9pnn0gyDssXvvdPNkLXvpfu0X6XnrsDdvTRC4dpa4G0ippi2t76/ua9gOX2ItuodpQO2xdi1k+3j0Zt4JeUlwvKsvTTH2EqghxmbdDt+3rrkgH7VS4mWku7gNlW+oCngFt2UheQEUs2Jvf5nddWSg+z66WHGg7LV3RBOkZxh3ZhEcBUYkbABRcpfbVBPmeJgJNywDfx8q0GZIu5NhCK29tTWwjG95bR+eBL6Ybl5vZLs/qBC7v3BRY7hg5LM6cAe8hgK8vGJHx26lchaxfmwXr6s6tBzfcNYdUnHEp5+3ymJ1re1rO6tUdJxtO7upYzu99WoAYTN/VmVhdSp73H9sdb65IAF+dWFj5bRdYCilKLMDsGdgqn7VvV1pObrHaXJ4wHpnenWZ4nUTUZtgRWK3ZBmqUNkNcWtlUObxo1UoizAhpDkqQBGFrQ6kdKZAAcAP0ARNbvDo8KZ5rTVrDHChtJwQ+XHnPml4VnAcHNIngK5lAnh7QnE+a1SfW333bcmm3gWCOkdzBWTCaMuo3rrcdChtTXwg5dx8HW0qYbljQH76zsph1n2wavuu7r0kUQYXpjsqe3EdKax4OaZy7Hv6eR1ne2Hse34qp7d+OagfincHYSFhZ31/uE90W3FyWDt5MExPcotl1qr0ek9hlXZPftD+T3tFfleDlXL/ZTMPZ37AfzHA53O3b1NzF7VQeIi//2Fxb3h2gAfytAgYqSxwsoqvgKscF+AMA3Gg8763Hn/YESEbXh3AerECELqGHyGqiA+SHMo4PMmLfndxMXtOH/uho3m8BUp9sBNEC7ektbzQC3dsn6pxaw6zAJcTfMtijr5Hbfdj9pi6edhz3HenfcJ/fXRrY3BhfZcJsdJzIO5nb95iP2OriB9uZ7cBxgM6xSburDefvmeef/lqBWpbO6D3E7CXchwSczWwCRx3TAo/pBASF6J/KJ1//HkOsBoOfqMnaVxm9LUhqcCiwAVnocmPWG2o4bsky3YmeTeqY3FoCo6gYmphyGJnx6fRcXcv0XmA8eVzr6Qg401uA3iKIQAIcAwIGoV2nGWvb7e3bqwo9UBvp3QVeL0JUaWQ9Ul+zWAvHmjl9AHNd0UCWKZ4D34HD3Qidtly12s8Y9dqyXjkHW0fXXbGZrFVD7jdfr2sLWc4Ypp3dHYNefWoHbqBZFt882ArBUN+hLKjfpVu7763YZl9anG3ZQpPTH4pZHQKP2lPZSj/f755bhhxeLKFrFs5ZToMFzC6wBtiqgt+1m52r+cyEAvgpdg1ZYklYcDtyQlps85n6zGiAzGt5T+jc8DumPqdaKlh0GbNv296r26DYz5/EOroEJDj3275r59rVkr4F6AV+mNHaF19COoo9DjGbXXvYGw3kPKYEr5r23hQ8sd2oiJQ85Rs67LGcQjUK3ZOuej4XUYhcTiOIX4rYSFzQa7Q4CfIraL7YYFpCUV1b6OZMGPHekj2Sn55rF6kXmu+Z+ABdqC+smiw9Xg9NGly4WKY7Be8KaeYEAAIUAhkH41952NQGPsnO3LuxfwXE3SvbGwsPbjcahlTqXP2E0Zg3qzvd0ZmwmRbuTt0KOenc2jiKP9ODd83ubVaYi6xFrcTsh/Ma2EHcVNr4nQtBhdhlV4dR81pbWpgOzw5U2+5f1DpiO90et1rqTz7cSF9QP8489Ds2mhgyGwFE6n8EGMvHbmcjEupJbh4tz9pkSznYxh37iWzc0AZwBClpLW4JnrgFGNqAnMZomNxlmadd1xjk7qA7Seo6bh7YNMYIOV2dCDxdmWOrC5lQHwXadtvRnAFsE6lIOzGfn+1WOyxZ7lqIWGPbel4GPtBow0BK2u45vt0Tl7/fxZkx68nq2twaAjXr2D+eO6wHEurWGqlrqdnCGlWAoQE9Weo+zl0FnRRveFw19XeOMJvsP21ZadxmobbY4h2kOxtYt5sWPeIevjtzXg/YkD4K2rZko9sK2Cje05nWP50D1j7/i27rM5tx3BxekpvlX25u19sKaKo4+K7t7RZZb9s0SDmp0YBeq17oD8uO8t4L5YTFDg2notYROfYCfGndTTV3F4ll9JeJtg0lDWPll4+VtQWXNDXcDSh0ZQm5NwezrvE8CG70zgwI0deNvnPXj84JMAkIE1vxDXGI0lXza4xi9bAOYvewDxUJdbSVDnAOlQ0UbJ9cKgegOEAtoDs3HWdfcTjwtDY3KBBrgVUI6PRntfeNT2RmptZbD81ycdUJxlBeDCPRCU6qOqzGmJuQ7Zzd0eesN9tQwg8/1KBtu9oX3HbdeOoMg0udnDng2HpuiVi6Of4MfvK7NSIP7XNnEKIKiMkBCfUK/vCBDKgPFTaBD6AjV3Rah4EMuPWvjRLmQQ3Xcm+ILfHy9MEL8vJNDO+JGTghDPRSIQrNCJIOVjk9cCG1ivAtDa44SvIvyXpFgWZYtp+MWAytD1IMofWhtVgImndhCNgLF/FE9v1xYfYyC9gMap9TIeGx4V6hnjgLEQqq9eR08XFB7l316pi/jV6kTTJRCHgLi41RCVAy6vSXNfIJbF0vcrfw11G38dnWGvVdDUyiMQwEDcZed/FRWZryJlnXMEoNzdg9DbELAE0BN4QK/fM9CR5WRA1xDYBPcQ+ATPEP8DQMEF5WKgkIN9TU9zBP8KoOwTKqDIGTJArhpv0MCfF69GQPITZkDQMIifdZ2onyurV0Oa/OTzHkCmBIGa5J8bzaywfJC1lxv9kDrob07/WG95oKlA/gTcMMs3eUDJZ0VA4jCtoPom0T8yRt6Q3Sl+MNsTR0DzBLP/L6CGtnmfcZC/oN0/OwSvQJkwxwSD82M/cW9XBJ7PdwT8nH2fNTCNkPhgrZCGNUgNOrtdMKr0kISzuNGWn5sXxxUHSIS8YMzAxlciYKALBITEALsw8mCfn0pgq29dzzSlO28mhQQLEF9cAMrA2CcbawS/GbcAsNKExsDna15gygD+YOoAwO8sv3W3HL9Ntzy/P2sCv2yM8JLgQF5kdnySwGwgcSBrsHjtq+C4g8tDxGzt/MWRe860cF2gXAw9pAd0DBSb4ilsxcABAn9RWIyzGl8c6TBauZ0QeSQLTOoIO0widIApegAvbMdiQ5TCUC+U0oiUoBtVkQBF0+QgCxKPspSltyRF09eUmyKocsM0vfg906BgA9OJVPlwRka0uqWUl7K3sp5U8DTj08cAYFTQZCHwHCArPpY0e9P105VsvQjFnDhgD9PiACcIuFSQOcPThDTI6wfTpFTvHN/TtdP/0/cIX7L/sv2AQHL306gzg5THAHRy1sBMcqJUu9OkM6cI0lT+UvQzqlTMM9Azz9PaVLUABHLWwCRyyDPCM+gz8tSIcpwq9PhV08oz5DOuVP2EgjPg2egz33T6nH5UidBEM4YzgZTkcB4wHPSwTHPTo9PP09zWrVSzVPoz1jPkM8Ut6VSDVPlUijPJM6cIqbTNVNNUuTOJM7HQaDO9VL0AWTOWM/UzqTOMQCqG7TOdVL/T5DOcI8Mz7jOFM+cIjgzhM/YAeqPXdJTMWzO9AGhIZCQ9cC8QFkgnM5VMFzPU6Crw6iJxSbyYKHTSzJ7ygaBfM+iygi30AHcz4gBgs9ey9Yj4xul+iLOCBIWImLPEj10gRPBjxA30xwB1TBIk6zPkM4WIu1TMVLcy5WaLM9dU89OicoZkwFRjM4GU/wASaEvQcrPHAE+klCAEM/kz3TPr07+U9Gr3stIAFHLYcv6Ux9OXsr/K19PsmA+ykHLOs9uUr9PoVMBUjrOvLK6zwDP5ffPT8bPqWicI8DPbbtmztLOV0rgzxaznMAGzmHKJs+Gz1DP8VKnwylTqCo2zsnKus5wzwYy8M4Oz9rPBs62z6DPiM9IzxlTNQAuzzbO5s8cAajOUKMhymbPLs6ezpjPl6EOzwbKus/YzwDhOM4hUpbOus5yz3F6Acvyz4HPhs4yznoBIc+gzorO6M5Kz3ZKyoFhz5DP4c/zynZKScrgiFHOKs7cAKrPsc9qzgP73AvWzh7Ojs+Gzz5SAKRXT82TDwAtMk9O3lM4gdyAqc7Se5rP54FvTwFTGc50Z5nPn07BUmHi2c7i+/sbhs7QN2sBec6Zkg3Aac8cAKbOEVIGQPnPRc+GzhbOGc+lz50Axc5WzwQX4M+JzqXORc8Vz7bO8VLOz7HL2c7Fzk7PyVL2zrHKIVL1zsnP4cuWQBlTyM/VziCqmc+ez8HLXs9oz+XONc+pzgXO6cG+z0gBTc7YzvlSBVKdzm3OOc6CMvjP2IAEz8VS6M89z7LOlVLMzj3OFc5dzqjOpVLfASPPrc7ss/3OlM/PDhPOw88Uz/VSJyNUz9PPns/0zjMg08+jz23PTM6zzk3PC8/9z0HOsWoIgfLOc8+hzxPO1deGztHOqIFh04nLlhLLzsXOG+CJgd1Sc87qz0gAGs7rz/nPrs6XTinP3ID8K+YBsUg3T5dP3IHVc2nOz07oz0fPx882UgyBT08lz6fPus5azgFSR88SwEnixtE5z17LWs4hUvwrCXKsw3fPes+rVzfPjiPs4B9KT85fTs/P7cNlc6/Puc7fT0gBD88cj0Ig7lO/Tg/OblLYzj/PAVNXziXP6c+fzr/PkM//zqHLV87lzwAuksFlz2fBkVKnz+/OYM/Wk1bOCIDVzvwrls9gzlXO1s6QEWAvlXKcInbOdc8/zyAvoM9wLo3OMM9/zuAuDc+bwPAvAVJQL47PsLcNzrerjc9IL7AvNlPNzy8BLc9++1fObs4tzn777s99AIAvulPtz9lTz09Xzr7PQ/ogLtLORC4hU4Qvvc64zu/OmC/+zi6BAc6oLvguVbOkLyQv7AH6Acgg0s+FU/jOxVKhy6gvhs+0LoPPdC6ELuAvDC9FU+HAocoKi23ADLIjzkvOlC4IL8POT8ATz1fPpM/jzuwvz87Sz1wuZVPcL2Qu0s5Tz/POfC94LhwvFM7PDgIvrVN8LrrPNM4Tz/QuNM8zz8IuKXKYL41SDM8CLmIu9M5NU5wvTC5s55NAUi+UL4vP4i9XzivPniClKvABUi4Ms21Swc/gz/LOCi5QgEiTSi/SzmovRSLgLxvO8GIxz1Og6i+aLxHOScr8Knsy4c/vdhHPm89KzqLR1C76ATQuus46LgYukc7OIOAva89mzrlTi3L8L0IuxM9UznvO64APct/PHAH8LpYuIVO0ytKAZYOw8bWq6pMfkBM7C0GCakGAdfI1g4UXTAA3AVAACsNeQTzLYlCqIYMBW07s+9tPIAH2gAOhtatqU/F65YH7TiUqlDPkkUAQR0/KqpiQJ05wiadOrMImVudOnKq6z8nOt08azh9PYS++U9rOd06tgGfPJc6yztEuAC4vTz3ar07XzlnP986MzrDO8S65zp0yec/MzprORs7L9wkueM/Fz3UOsS4xLxwBwC7Uzh9Plc8UoAHK1c4ZLogv6C5IL8kuH0/ILkMTCVPwz6kuLM84L1gvuC7pwBkuXs8ELujOGS4kL4UuKS/kLloBFC95Lz9OzC+Dz4DOas9EzlTOdM4fTrwuE84ZLzYvtS/lLh9Ooi8CLyUu8862L40vVS6yLq1TxM4ZL3EzDaGMz5WgXDzszpWAHM/CzwgxXM7KgD0ujcC9L/5QDAB8zggT/M4FsiKggs6DL0LOPS8izhLPGmbizvJhoy7Tg5LPyyJBINLPa84ZLwou8s91SkDPCs76L9HOW87KzokuO86qzhkuVi77zhkun073zjfOSc9+z4bPyy9Pzskuqy6Gz7/PRs5+zxsvgC7pLqHL8c6ZL/HPWS9aKpAvMC4bLq7PkM65LwUvzs5xy6svoM/5LyguWy8HLw5SWC9bysjPfvvxzqUu3s7oz/HO5S+nLz7PVC7Gzj7OUy/KLyvPii/xzmYudy7GLnMum89aLlkh8c/GL88uyoCxz48uDC8qz91T8c5LLtXP8c8RLynO287JzpfO6c6hynPPyy9Zz33Ok87Fz2sub8/rL/vOZc6bLqkuAK/rz6DOQC/PTnPOmS5zznsvMVLVznPPhy/2z3XOPy4nL2guKC+ILoUuoK4Hz5DPRS/nLu7O6cBzz5cvHc6jz53Pbc/XLyiu/c7FzxUv8Sp9z2ivAK4MLwPPzC8Ez0PPMK8cLy0v8K/ArqTO48+8L+Iuc88NLgvOqK+TzuIvxM7Iri0ujS94rzXPoM7yLySuuK7KL88AKi8Ws6vOlK/qLr0Kc86vLvMuby40rwsuu840r58v+y7AruSvCK6HzuEugi7HztLO3y6wLmyuvy9nz8/PrK5hLhyuV87gLv8uCS/Pz7fO0s48rysugi6Pz9YvgK8fz/rOIC7Vwnx2fK56zkCun84SLiKu5lDrL6KuX8+xc8Quf848Lv7OUq4iL4bPYK7nz5Qusq7srrrOmS7qLpkvV86Qr9kuTK7qLkqvVc5Mr1fO0K4YL1Kutc4xy3CvRy9XzycvGq+xyuouWq+5LvCuMq+uzucu2C54Ljgveq/FLsQuus/IrtCi8q9dz7lT7C+Sryavxq69zktJlS+6rxjOty7qruauOM6Yrz1Bhi9GL1iuGWvYrkPOVq5Mztiv1S5MLpgu1S+MLujOrC5TL2wv4i7qLrUuMi8SLgSvoi+ULvUvAi9XzkSuci+CLjYvFi5krxauM860z96u/C4kr1TOXC+krx6uPq6SLsIvxM9XzhSvVM7qL6GvJC+mLvcuii/yzm6vEa4zL8GBqi69ClGuvQtXznSvBi75wZQvca8mL7ou0s8JrknKxZY0L86gnCNJr1OgMa4902Yv3FOsLz6vptIhr5YvCc/djw9yNM6+rhPOdi49wUXCue15kUABqAscgJ4qp4AkAJma2OBjYRfbTMcPAY5AUbaeKvVBTsAuEyag27P6AelmVa9QgYF7Ja+bYGnqJa9lriQWhABFr7EBmICZmtuyQ/sU06nPsQBD+iWvRa6Ut1QAICkwhmNhXQBkAX6BDa5AAJ2u6/CpkCrHMvcIIJCyIplXE+VB3dotrt2usaFhgCWu/a/YgJaOg6+jJ1wzXa/m0qUxdOsdryRHA689r7TqKTsdrtAR7IFQADSbolajr3ubra+IAGAghYfzrt2vbdPsDohqc6ohyY5B5cKFO4uv7QF2pDUBY69wZ0JAtQAAAS89r40BEIeWne0AYZuTrmNhSLt7rqeAu3LXujiTXa9kR7YOg685Ei4Ao+e+UCeuICvpdvuuR1Och2KGV1r7r8v7i678Z0eubS4OkD2BcJZlriLPQMZPVvuu/JBAD/siKgp+S8wBYMYFIo+ulUDl8mYa+69ph88OqZDnQE2u+64lJ9yy+67u7CbOp4GNwohoqZCeAdrbZWeLriXmcPO1W4gBgG7AACXGqDheAJAqY2G0AQvWRTPyoY8hWsYra4uvDS+WnReyaJamO2Bvf5PndNVh/Gdgb5QyTTqpkVO2R66Dr7QBoMB3ip4rjkDa24uu8ft50n5BqG9Wewwj/07x1oYB9mddr3ZnabNJAGIG8bo4bvHXlpxUIXH3jyFJUd02Y2DPI6Kzi67PIr2KBG5acoOvnAZz84gBnAdoAR86e8qngV3bvgAHrxRvu0DlC12vs6/wbtRuC/YTrqeBatKzCoOuGoAaEZWuY2G5K/oAG66DrswBUAA6wWzwsG6ngMwB9ZIpQVRu4gF7rg6pPG78G+WuIgEmoXWv/G7IAYw2Y2EMN6hIXG7wADEBDYKpkMFLza+WnMwBEYEPrqeBOHdUAFevkm80Qejn0/PMUltA0iaDr5DqvuPnAKmRoOt1YKhviAA6wRoHi6+NO/BvjkHCmlZAhEKKb40Ag4YabyY6kLKngcqOs6EhemNg3sCRgV2u3sCwAQpaum/WoTJup4EWW6WuqZHU212u5AD9AMNBNKMoAYMdzTOIAP0AyM9yb8Zuc5OdLsyhI66pkRYBpCNIbrZvnmAXdESa9m/8wYuuzAumcwJvlWAbogZup4DMCk5vPoCMbiEBP7KnCgRqIQFSJg2ug65J10xutm4NBleuIpg6NvcBeG/eb8or6m5jYUvDaABbrg5vYKK2b4+v75ahb5khotvAga5v/oFpQNJvPgAvAapALQERbvFg5+ahbr7ju2ZRbo9W6wGq1oOuGgGNATWup4CDInjrnm9t0Z7jZADHS8+wr6/JbsABUAEEIp5A3aapkAF7KmATt12vj1bDr4gAeW8WYRluvEG5b/6BFo+Lr+/7VLZjYKnb9ZuWnWb2yW6BYYwyqIDebqmQdhEnAFZvJW80QNaB6gG5CvRvXa/jtqendW5njq5ugWFp0pIxjkBVgnoAHIC8QKlvy0HOEBwAiwfxbotmNQCpkLUvi68FBp4qIpmnAPZXXa5TwG9BEsFabzoAExKPC99Bi69UpitrvW6IUTa2qZDj+8nWo24AAY4cAc0A1ABbr8NvRFKjb/QBzkGYbpEAJMByK+5us28SBkNu5YC1UcCjM8JjYB3Dn5aPCkzQc66jblyO69e9bllaU8tLb6jGpdObI96KgQEeYC+uIMajbqyNWgC7bwBKYof6urCqHcDIYFwA/aapb33Df6/T8xwBXDxsk316g65HbzJvjkAJZv+Oo26LgNgmV2/ElslHOgAQVqg5HACj+4uuvtJoM3Nv+IHa2hRvfZMhAL7ilW5jYR52kLOOQYq2m0CpkeeST66vbvyRXa9BKoQA7IE0b32SSaH3bpuvTW7aM3BmIOqvb2eOWgDlb7mB3lddrrmA3QDr8UpvuYBnu0paY2CjMGNhBCIYOoOuaXbpdmDudbKwAQlnlpzygFkh8M6DrtTAPXP9bkABRQfxumDvRQd3rqmQR0vs4bUAzYGpzrKijiJAIzPS+gAko+vKUKNegHChI9g8qWvS69IIk5ggkQHJjVOtTIiVyoDM5E6t8NOtVYAMMMkm873daHDXWaoikQqBSFb1QMhBQSO3w7thYGIU7tMAlO9CUJKuS9H+ZS9gIpmKS2ppqQCkC9dOxapayqOP4+2xdNTglFG9gd1oUsmwIZWwmIH9ASuXgCjjs7mbCpGfANbQ8QEsMlYVsIHEACOsgzcJbo2GeFujAUCP3JrD2i2GkmcwGtJnxzaCjl+r+Y5wTzdnWvfpDkpqt/fGt/M24Xa11/f2d7ayDtdDU5lo+pxmdBrbjj0P8g7912o2jwQu6uz6xMCWwQYBa4EeAfSMgUunizHquBanArxST2EyRSAbsmCv+m9HvGv3eqBE7usxIkvWaxsPV/JuLVAZdnSHFvbBe1pSbPvnAE/AdLZWgerb6nJ6cN2DhQBqNSeDCPdIgEx78kB6cLbusbLNJwj2HGWkq3yiESKbKw1ypGJCot+iW2PkYttjR2JAAGKi4FI0Yu7vtGI0AXRibJgMYwezh2JMYgqizTMsYkDu26vKo2digE3nY7b6Qe+XY+ziwe/XYxzij2O3YkaivmP8YhLjNBvnYlaiVOLPY39iL2Iuoz9iLuJvYzHu72PR7h9iEuJx7j9i8e4u459iLuMKY5jice8A4xMdgOKqYgziwOPw4iDjy2MaY/bjYOMQ499pKGI6Y8tjumPw43piGmPYpqejmaL2YphjHscE4pF2xe4nVrDjwuIXfKXu1uJWY5jiNmPo4hZPGOK9VPpjDmPw49bWEuPu5yjjke544u5iLhrTYgTjImNOlpljo5gZYrB6JOM+Y1HvcvUF75Vr/WPVDwLjXmNBY+n5wWJvFN5ij6QcYlOjne/MfF6xy2OY3KzjmOILoqzjQyhs41do7OOY4jdjy2Oc4q5jpe5UgyljprOpYihjDe584kXv9vlN75jjR6OC49ljtuk5Ymej+uN5YvQB+WJ10mXYhWKs466TrGrXS9JPKe8y49gBsuJr7uehzzL9DDNjP7bK47ritWO+U9Vja+6fokiAMdKNYmrjCuObwc1jmxBq4wBjV1Mx7TtRuNKdY3riu+564rrj3Gui4kdi/WPw44bjee4KNkNihNOm4whio2K+Ykhid+7IY/XvE2JTYvbjEONTY/Dj4dXoYpytl++EoFhjQKAq8gtjkUOY4j1OEuJbkcjjPVPBQAtZiWvLac0A4kTZAJKrJdEwgP0AH7OAc5KVIWAsAUkjlQD4AFnjd5yVwWrSIlZdQcJrAmqMU8qixQHKooAAAA==
\ No newline at end of file
diff --git a/artTools/vector_deepmurk_extras.svg b/artTools/vector_deepmurk_extras.svg
index 2b74000dc9ccce7d80779221d3c720c19fd82802..933a4d356a83a4da01c86b213cb4706b8315f456 100644
--- a/artTools/vector_deepmurk_extras.svg
+++ b/artTools/vector_deepmurk_extras.svg
@@ -1979,23 +1979,9 @@
    inkscape:connector-curvature="0"
    sodipodi:nodetypes="ccccc" /></g></g>
   </g>
-  <g
-   inkscape:groupmode="layer"
-   id="Arm_Outfit_"
-   inkscape:label="Arm_Outfit_"
-   style="display:none"><g
-	 inkscape:groupmode="layer"
-	 id="Cat_Tail"
-	 inkscape:label="Cat_Tail"
-	 style="display:inline"><path
-	   inkscape:connector-curvature="0"
-	   d="m 342.15888,477.17932 c 0,0 113.6156,70.85179 139.77284,-28.74333 25.05714,-95.4064 -57.66395,-93.79968 -48.14882,-165.08654 3.40586,-25.5165 38.15951,-39.43051 38.15951,-39.43051"
-	   style="display:inline;fill-opacity:1;fill:none;opacity:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-width:16;stroke:#20202c;vector-effect:none"
-	   id="path2502" /><path
-	   inkscape:connector-curvature="0"
-	   style="display:inline;fill-opacity:1;fill:none;opacity:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-width:16;stroke:#fefefe;vector-effect:none"
-	   d="m 442.29877,265.01668 c 11.34263,-13.77073 29.64364,-21.09774 29.64364,-21.09774"
-	   id="path2504-9" /></g></g>
+  <g id="Cat_Tail" style="display:none"><path d="m 342.15888,477.17932 c 0,0 113.6156,70.85179 139.77284,-28.74333 25.05714,-95.4064 -57.66395,-93.79968 -48.14882,-165.08654 3.40586,-25.5165 38.15951,-39.43051 38.15951,-39.43051" style="display:inline;fill-opacity:1;fill:none;opacity:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-width:16;stroke:#20202c;vector-effect:none" id="path2502"/><path style="display:inline;fill-opacity:1;fill:none;opacity:1;stroke-dasharray:none;stroke-dashoffset:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-width:16;stroke:#fefefe;vector-effect:none" d="m 442.29877,265.01668 c 11.34263,-13.77073 29.64364,-21.09774 29.64364,-21.09774" id="path2504-9"/></g>
+  <g id="Fox_Tail" style="display:none"><path d="M331.1 473.6c-3.7.8-4.6 2.4-2.6 5.2 2.5 1.7 4.1 4.1 6.2 6.1a32 32 0 017.1 9.2l.7 1c1.1 1.1 2.3 2.5 3.7 3.1v.2c2.2 8.5 8 17 9 24.8.7 2.6 1 5.4 2.5 7.7h1v.3c-1.6 1.7-.8 4.1-1.6 6 0 3.2-1.2 6.7.6 10l.4.3c-.7.8-.4 1.6 0 2.6l-1.3 2.3c0 2.3-.5 4.6-.5 7-.2 1.4-.4 2.7 0 4v.5c0 2.5.5 5 1 7.3-1 1.8.6 3.7-.4 5.7 2.5 4 1.2 8.7 2.5 13.1l8.5 31.8h.2a21.4 21.4 0 00.8 7.2c3.6 10.8 2.8 23 8.2 33.5 1.7 8.2 4.6 16.3 8.2 24l1.9 1.6a9.9 9.9 0 001.6 5c1.3 2.3 4.4 3.2 6.9 3.4 1 .8 2.3.8 2.6 4.1.4 3.3 3.3 4.6 7 7.7.6.4.4.7.4 1.2.2 5.2 3.3 8.4 7.6 10.7 1.5 2.6 4.2 4.9 6 4.9 1.7 2.1 4.3 2.1 6.3 3.1.5 3.3 1.6 2.8 2.1 3.8 1.2 2.3 4.3 3.3 6.6 4.7.3 2.8 3.3 2.2 4.6 3.8 2.5 1.3 4.6 3.3 7.7 2.5h.4c1.6 2.1 3.9 2.1 6.5 1.1v.5c.7 1.3 2 1.7 3.3 1.7 1 1.6 2.5 2 4.3 1.5 19.2-.9 37.8-22.7 36.6-40 .7-2.4-1.6-4-2-6l-1.6-2.3-1 .1-4.8-3.3c0-1.1 0-2.3-.6-3.2-1.5-1.5-1.2-4.3-3.5-5-.1-1.6-2-2.6-3.4-3.3-.3-1.4-1.5-2.8-.7-4.2l-.1-1.3c-2.3-2-4.6-6.6-5.5-7.1-1-1-2.4-1.8-.6-3 1.6-1.1-5.6-8.7-8.6-11 1.9-.1-.6-3.8-.6-5.2l-.7-1.7-1.8-1.6c-.8-1-.6-2.6-2.1-3.1l-1-1.5-.6-.8c-.5-1.5-.2-3.3-2-4.1-1.3-1.4 0-2.7 0-3.8-3.1-2.2-1.2-6.1-3.3-8.6l-.3-.8c-1.7-1.6-2-4.1-2.5-6.2l-.8-3c-.3-1.1-.2-2.3-.3-3.3 0-1.3-.4-2.6 0-3.8.3-1.3.3-2.4-.2-3.6v-.1c.3-.9.2-1.8 0-2.8l-1.7-5.6-1.3-6-1-.7c.4-5.3-3-10.6-3.6-15a9.4 9.4 0 00-2.8-5.6c-.6-7.2-10.8-34.5-15.6-34.5v-.5a8.2 8.2 0 00-.8-1.8c-3.3-5.6-7.5-10.5-10.2-16.4-.6-1.6-2.1-3.3-3.8-4.4a29 29 0 01-6.9-7.6c-10.3-13.5-12.6-8.9-15-13.5-3.4-4-11-8.2-12.6-8.5-3.7-.7-3-2.8-4.4-3.5-2.6-1.1-5-2.4-7.9-2.8-4.9-2-10.3-.6-15-2.4-5.3-.3-11-1.7-15.5-1.7z" fill="#863b3b"/><path d="M494 699.5l-.9.1c-1.1 2.2-3.4-.5-5 1.7 3.2 2 8 4 2.2 8.5 0 1.3-.5 1.7-1.6.7-1-.9-1.7-2.5-3.5-2.2l.7 2.7c0 .8-.5.3-.8.3-3.7 0-3.3 2.8-3.8 5 0 0-.3 0-.5-.2-4 2.2-4 2.2-2.6 4.4 1.3 2.4-.5 4-1.2 6l.2.9c-1.8.3-3.3.6-1.7 3.1 1.3 2.3-1.1 1-1.6 1.6v.5c-1.3.7-2.5-2-4-.5-.6 1-.3 1.9 0 2.8l-1 .4a5 5 0 002.9 3l2 1.2c.7 3.8-1.6 2.2-3.2 1.8l-2.1-1.3c-2.2 1-2.8 4.6-5.6 3.6-2.3-.6-3.1.7-4.3 1.9l-2 .6c1 1.7 2.7 2.1 4.5 1.7.3 3.9 4 1.4 5.6 3.2 1 .5 1.8.7 2.4.4.4.6 1.2.8 1.8 1 1.2 0 2.3-1.2 3.3-.9 0 1.2.7 2 1.7 2.8.8 1.2 4.4 2.7 5.5 1.3 1.7.5 3.2-.1 4.2-1.6.4 2.8 3.6 2.8 3.7 1.6 1 .7 2.2.5 3.3.4 1-.2 1.7-.7 2.2-1.5.4.8 1.6 0 1.8-.3 1 1.3 2.1 1.1 3 1.3l.6-.2.8.8c2.1.9 4.1 0 6-.6v.1c1.7 2.7 9.4.4 11.4-1 1-.8 2-1.8 2.1-3l1.2-.2c.7.6 1.6 1 2.3 1 4.1 0 6 .6 7.4-2.2 1.1-.3 1-.8.5-1.5.5-.1.8-.6 1-1.1 0-.7-.5-1.3-.2-2.1 1.2 0 2.3-.4 1.3-2.2-.6-1.6-3.3-2-4.4-3.3-1.8-1.6-2.2-4.6-3.8-6.4-1.3-1.3-3.3-1-4.6-2.1-1.8-1.5-2.1-7.2-5.3-6.6l-.3.2c0-1 0-2.2-.5-3.3-1.1-.3-2-.2-2.6.8-1-.1-3 1.5-2.1-1.5 0-1-.4-1.6-.9-2.4l-1.3-1.7c-1.6-.8-1.6-2.6-2-4-2 .4-4 1-4.4-1.7 1.5-1.5-3-3.5-4-3.5.6-2.4-1.7-4-2-6l-1.7-2.3z" fill="#eaeaea"/></g>
+  <g id="Cow_Tail" style="display:none"><path d="M421.12 602.38l.5 1.96c.47 3.84 4.3 13.82-4.74 15.06.55-2.29 2.45-6 2.21-7.57 0 0-.5 3.82-3.16 5.93-.72.57-1.16 2.13-.56 3.9-1.43-.52-2.62-3.79-1.53-5.34 1.03-1.46 2.62-3.16 2.3-4.99-.14 1.55-1.5 3.76-3.36 5.07-1.53 1.08-2.64 1.86-5.08 1.88 3.7-2.34 3.72-4.93 4.95-6.58a5.18 5.18 0 001.05-3.32l-1.46-4.45z" fill="#e7d0bf"/><path d="M412.19 561.3c-.88 17.5 3.89 38 3.89 38" fill="none" stroke="#ebebeb" stroke-width="5"/><path d="M321.75 480.5s89.19-57.34 90.44 80.8" fill="none" stroke="#704a2f" stroke-width="5" stroke-linecap="round"/><path d="M416.6 589.3l-4.88-.16c1.33 8.83-6.77 22.18-6.77 22.18s4.67-3.52 5.94-8.88c-.34 2.04-.79 5.73.16 7.44 1.33 2.41 2.9 4.37 2.9 4.37s-1.1-4.14-1.1-7c0-2.86 0 3.23 1.33 4.66-.78-4.74.16-4.51.16-4.51s1.17 1.43 1.01 4.29c1.1-3.84 0-5.42 0-5.42s2.36 2.4 2.2 5.72c.22-1.32.27-2.3.25-3.08.24.9.56 1.84 1 2.33 1.02 1.13.63 3.46.63 3.46s1.8-3.61.7-5.8c-1.1-2.18 0-3.8 0-3.8-.07 3.24 1.58 1.76 1.34 3.5-.2 1.4 1.13 1.58 1.88 2.94-.98-3.46 1.49-3.61-.04-6.81l-.5-1.06c.69.7 1.56 1.58 1.95 2.3.5.94 1.3 5.68 1.3 5.68s.1-1.47-.32-4.78c-.42-3.21-1.62-3.02-4.13-6.9.73-1.74.46-3.08-3.18-7.1-.93-1-1.84-3.57-1.84-3.57z" fill="#ebebeb"/></g>
   <g
    inkscape:groupmode="layer"
    id="Hair_Back_"
@@ -3238,26 +3224,10 @@
    id="path2074"
    sodipodi:nodetypes="cssssssssssssssssssssccccc" />
 	  </g>
-	</g><g
-   inkscape:groupmode="layer"
-   id="Cat_Ear_Back"
-   inkscape:label="Cat_Ear_Back"
-   style="display:none"><g
-	 style="display:inline"
-	 id="g8"
-	 transform="translate(0,-2.0000001)"><path
-	   inkscape:connector-curvature="0"
-	   style="display:inline;fill-opacity:1;fill:#ff80b2;stroke-width:1.09067011"
-	   d="m 248.73736,68.964871 c 0,0 1.69861,-0.804687 4.08156,-0.299212 2.38295,0.505475 23.75731,3.393902 29.82301,5.415802 6.06569,2.021898 7.14885,3.466112 7.14885,3.466112 L 263.21726,106.7929 c -3.84107,-5.31888 -4.93514,-8.768348 -7.63681,-17.615026 -1.84138,-6.029593 -1.55793,-8.849384 -2.81153,-12.285769 -0.74632,-2.04581 -1.39753,-4.595174 -4.03156,-7.927234 z"
-	   id="path2" /><path
-	   inkscape:connector-curvature="0"
-	   d="m 248.73736,68.964871 c 0,0 1.69861,-0.804687 4.08156,-0.299212 2.38295,0.505475 23.75731,3.393902 29.82301,5.415802 6.06569,2.021898 7.14885,3.466112 7.14885,3.466112 l -9.45442,10.405004 c -8.89399,-4.0001 -15.68619,-8.81104 -20.05716,-12.416027 -2.33857,-1.928752 -6.80539,-4.786815 -11.54184,-6.571679 z"
-	   style="display:inline;fill-opacity:1;fill:#ffaacc;stroke-width:1.09067011"
-	   id="path4" /><path
-	   inkscape:connector-curvature="0"
-	   style="fill-opacity:1;fill:#fefefe;stroke-width:1.09067011"
-	   d="m 251.82217,72.78348 c 0,0 4.58923,1.460454 7.26102,0.648083 l 19.57572,12.076963 c 0,0 -14.32239,6.372867 -17.57187,14.965934 0,0 -0.28885,-1.805263 0.1083,-3.538319 l -0.93872,3.141169 c 0,0 -0.32495,-2.166325 0.18052,-3.82717 0,0 -1.08316,-0.758212 -2.45516,1.444213 0,0 0.32494,-3.646639 1.84136,-5.307486 -1.84137,0.180528 -4.44095,2.166322 -4.44095,2.166322 0,0 -0.14441,-7.040542 4.76591,-9.062442 -4.11601,0.216633 -6.93223,3.791062 -6.93223,3.791062 0,0 -0.36105,-6.82391 3.75496,-8.015386 -2.99675,0.938738 -4.29654,3.71885 -4.29654,3.71885 0,0 -0.54157,-3.827166 0.93874,-6.246224 -0.686,-0.216632 -1.73305,0.613791 -1.73305,0.613791 0,0 0.79431,-2.419059 3.32169,-3.285586 -2.5839,-0.566619 -3.3797,-3.283774 -3.3797,-3.283774 z"
-	   id="path6" /></g></g>
+	</g>
+	<g id="Cat_Ear_Back" style="display:none"><path style="display:inline;fill-opacity:1;fill:#20202c;stroke-width:1.09067011" d="m 248.73736,68.964871 c 0,0 1.69861,-0.804687 4.08156,-0.299212 2.38295,0.505475 23.75731,3.393902 29.82301,5.415802 6.06569,2.021898 7.14885,3.466112 7.14885,3.466112 L 263.21726,106.7929 c -3.84107,-5.31888 -4.93514,-8.768348 -7.63681,-17.615026 -1.84138,-6.029593 -1.55793,-8.849384 -2.81153,-12.285769 -0.74632,-2.04581 -1.39753,-4.595174 -4.03156,-7.927234 z" id="path2"/><path d="m 248.73736,68.964871 c 0,0 1.69861,-0.804687 4.08156,-0.299212 2.38295,0.505475 23.75731,3.393902 29.82301,5.415802 6.06569,2.021898 7.14885,3.466112 7.14885,3.466112 l -9.45442,10.405004 c -8.89399,-4.0001 -15.68619,-8.81104 -20.05716,-12.416027 -2.33857,-1.928752 -6.80539,-4.786815 -11.54184,-6.571679 z" style="display:inline;fill-opacity:1;fill:#333344;stroke-width:1.09067011" id="path4"/><path style="fill-opacity:1;fill:#fefefe;stroke-width:1.09067011" d="m 251.82217,72.78348 c 0,0 4.58923,1.460454 7.26102,0.648083 l 19.57572,12.076963 c 0,0 -14.32239,6.372867 -17.57187,14.965934 0,0 -0.28885,-1.805263 0.1083,-3.538319 l -0.93872,3.141169 c 0,0 -0.32495,-2.166325 0.18052,-3.82717 0,0 -1.08316,-0.758212 -2.45516,1.444213 0,0 0.32494,-3.646639 1.84136,-5.307486 -1.84137,0.180528 -4.44095,2.166322 -4.44095,2.166322 0,0 -0.14441,-7.040542 4.76591,-9.062442 -4.11601,0.216633 -6.93223,3.791062 -6.93223,3.791062 0,0 -0.36105,-6.82391 3.75496,-8.015386 -2.99675,0.938738 -4.29654,3.71885 -4.29654,3.71885 0,0 -0.54157,-3.827166 0.93874,-6.246224 -0.686,-0.216632 -1.73305,0.613791 -1.73305,0.613791 0,0 0.79431,-2.419059 3.32169,-3.285586 -2.5839,-0.566619 -3.3797,-3.283774 -3.3797,-3.283774 z" id="path6"/></g>
+	<g id="Fox_Ear_Back" style="display:none"><path d="M260 53c-.7 0-1.3.4-1.4 1.8 0 .3.2.6.5.9l-.1 3.6c.3.7-.3 2 1.3 1.8 2.5 1 .4 3.8 1.9 5.2l-.6 3.7c1.5.7 1.2 2.2 1.7 3.4-.7.2-.7 1-1 1.6l1.2 1.3c1 1.2 1.1 2.9 2.6 3.8.5.5.6 1.2.7 2l-.1.5V84c-1 1.1-1 2.5-1.2 3.8 1.6-.3 1.9 1 2.4 2 0 1.3-2 1-1.9 2.4v.6l-.2.2c0 .1 0 .2.3.3h.6l1.3-.8v.5l1.2-.9.6.7 1.8-1.7V92l2-1.3c.4-.4 1-.8.8-1.5 1.2 0 2.1-.8 3-1.5.3-.6 1-1 .6-1.8.5-.1.9-.5 1.2-.8l.8-.8.3-.1.1-.1c.3-.2.7-.2 1-.3 1-.3 2-.6 2.5-1.6v-.6c.5-.2 1-.5 1.1-1.1.6-.1 1-.6 1.3-1l.8-.5h.6c.5 0 .8-.3 1-.7.3-.6.3-1.2.2-1.8l-.6-1.2-.8-1.3c-.4-.7-.7-1.4-1.3-2-.4-.3-.8-.7-1.4-.7l-1.2-.8-2.4-2.5-1.2-.6c-.8-.3-1-1.6-2.2-1.3-.3-1.4-1.6-2-2.3-3.1l-1.3-.1-.6-.6c0-1.3-1.4-1.6-2-2.5-.4 0-.8-.7-1.3-.2-.3-1.5-1.9-1.8-2.6-2.9-1.7-.3-2.7-2-4.2-2.6-1-.9-1-.8-1.3-.7h-.6c-.5-.3-1-.5-1.5-.5z" fill="#863b3b"/></g>
+	<g id="Cow_Ear_Back" style="display:none"><path d="M268.97 88.19c3.57 1.86 2.25 4.2 10.8 1.75l-3.88 16.12c-11.15-.78-4.86 6.7-19.13 5.86-14.26-.84-19.85-9.81-21.72-17.47 7.4-9.24 23.72-11.42 33.93-6.26z" fill="#87553a"/><path d="M255.22 99.84l3.57-.18s-.23 4.14 2.5 4.53l.55 7.45-8.2.53-.3-7.17s2.4.3 1.88-5.16z" fill="#f1ab2b"/></g>
   </g>
   <g
    inkscape:groupmode="layer"
@@ -16889,26 +16859,10 @@
    inkscape:connector-curvature="0"
    style="fill:#3f403f" />
 	  </g>
-	</g><g
-   inkscape:groupmode="layer"
-   id="Cat_Ear_Fore"
-   inkscape:label="Cat_Ear_Fore"
-   style="display:none"><g
-	 style="display:inline"
-	 transform="translate(7.2500004,-0.49999703)"
-	 id="g8-9"><path
-	   inkscape:connector-curvature="0"
-	   style="display:inline;fill:#ff80b2;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-	   d="m 308.1475,77.54163 c 0,0 12.76065,-8.72344 26.22373,-9.571872 11.01415,-0.694103 19.3005,-2.094451 19.3005,-2.094451 -1.1752,8.016637 -7.95821,31.134787 -22.41696,46.848853 0,0 1.03532,-26.317653 -23.10727,-35.18253 z"
-	   id="path2-5" /><path
-	   inkscape:connector-curvature="0"
-	   d="m 353.67173,65.875307 c -1.1752,8.016637 -7.95821,31.134787 -22.41696,46.848853 0,0 0.0174,-0.44206 -0.005,-1.23089 -0.1085,-3.84062 -1.15748,-15.901417 -9.73296,-25.185131 7.53822,-11.504443 19.52704,-16.919867 32.15481,-20.432832 z"
-	   style="display:inline;fill:#ffaacc;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-	   id="path4-7" /><path
-	   inkscape:connector-curvature="0"
-	   style="display:inline;fill:#fefefe;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-	   d="m 329.49165,100.71363 c -1.35994,-4.601307 -3.757,-9.839308 -7.97484,-14.405491 4.85489,-7.409284 11.55582,-12.292945 19.08455,-15.769361 0,0 5.17674,-0.18227 8.51755,1.867294 -0.16223,0.07853 -2.7722,0.606429 -4.0879,1.030675 2.49749,0.129635 3.54594,1.366431 3.54594,1.366431 0,0 -0.91465,0.05439 -2.3119,0.89546 2.85074,0.89458 4.63218,5.458641 4.63218,5.458641 0,0 -2.19492,-0.350727 -4.86496,0.149253 2.06512,0.935863 3.25191,4.890565 3.25191,4.890565 0,0 -2.18348,-0.526951 -6.00364,-0.793573 4.30345,1.520613 4.48699,6.023984 4.48699,6.023984 0,0 -3.83009,-2.647995 -4.31294,-3.165587 1.78858,2.77439 1.68141,5.83086 1.68141,5.83086 0,0 -1.28005,-1.529562 -3.01908,-2.13864 0.54376,1.109778 0.54477,3.262668 0.54477,3.262668 0,0 -2.12647,-1.184307 -2.69251,-1.999674 0.45817,3.293475 -0.44441,8.565455 -0.44441,8.565455 0,0 -2.3265,-3.196931 -3.16399,-5.032441 0.25185,3.018194 -0.90576,5.929071 -0.90576,5.929071 0,0 -0.0958,-4.496089 -0.9266,-5.750878 0.28951,3.866948 -0.68272,5.889828 -1.896,8.463388 0,0 -1.77802,-2.46182 -3.14077,-4.6781 z"
-	   id="path6-3" /></g></g>
+	</g>
+	<g id="Cat_Ear_Fore" style="display:none"><g style="display:inline" transform="translate(0,3e-6)" id="g8-9"><path style="display:inline;fill-opacity:1;fill:#20202c;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-width:1px;stroke:none" d="m 308.1475,77.54163 c 0,0 12.76065,-8.72344 26.22373,-9.571872 11.01415,-0.694103 19.3005,-2.094451 19.3005,-2.094451 -1.1752,8.016637 -7.95821,31.134787 -22.41696,46.848853 0,0 1.03532,-26.317653 -23.10727,-35.18253 z" id="path2-5"/><path d="m 353.67173,65.875307 c -1.1752,8.016637 -7.95821,31.134787 -22.41696,46.848853 0,0 0.0174,-0.44206 -0.005,-1.23089 -0.1085,-3.84062 -1.15748,-15.901417 -9.73296,-25.185131 7.53822,-11.504443 19.52704,-16.919867 32.15481,-20.432832 z" style="display:inline;fill-opacity:1;fill:#333344;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-width:1px;stroke:none" id="path4-7"/><path style="display:inline;fill-opacity:1;fill:#fefefe;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-width:1px;stroke:none" d="m 329.49165,100.71363 c -1.35994,-4.601307 -3.757,-9.839308 -7.97484,-14.405491 4.85489,-7.409284 11.55582,-12.292945 19.08455,-15.769361 0,0 5.17674,-0.18227 8.51755,1.867294 -0.16223,0.07853 -2.7722,0.606429 -4.0879,1.030675 2.49749,0.129635 3.54594,1.366431 3.54594,1.366431 0,0 -0.91465,0.05439 -2.3119,0.89546 2.85074,0.89458 4.63218,5.458641 4.63218,5.458641 0,0 -2.19492,-0.350727 -4.86496,0.149253 2.06512,0.935863 3.25191,4.890565 3.25191,4.890565 0,0 -2.18348,-0.526951 -6.00364,-0.793573 4.30345,1.520613 4.48699,6.023984 4.48699,6.023984 0,0 -3.83009,-2.647995 -4.31294,-3.165587 1.78858,2.77439 1.68141,5.83086 1.68141,5.83086 0,0 -1.28005,-1.529562 -3.01908,-2.13864 0.54376,1.109778 0.54477,3.262668 0.54477,3.262668 0,0 -2.12647,-1.184307 -2.69251,-1.999674 0.45817,3.293475 -0.44441,8.565455 -0.44441,8.565455 0,0 -2.3265,-3.196931 -3.16399,-5.032441 0.25185,3.018194 -0.90576,5.929071 -0.90576,5.929071 0,0 -0.0958,-4.496089 -0.9266,-5.750878 0.28951,3.866948 -0.68272,5.889828 -1.896,8.463388 0,0 -1.77802,-2.46182 -3.14077,-4.6781 z" id="path6-3"/></g></g>
+	<g id="Fox_Ear_Fore" style="display:none"><path d="M340 52.9c-.2 0-.5.3-.7.5-.5 0-1 0-1.3.6 0 0-.7 0-1 .3-.4.2-.8 1.2-.8 1.2-2 1.2-2.2 1.9-2 2.4-1.2 0-1.8 1-2.5 1.8-1-.1-1.9 1.8-2.5 2.6-.6-.5-4.5 1.6-3.3 2.8l-.5.4c-.5 0-1.2-.6-1.2-.6-.8.6-.9 1.3-.6 2.1 0 .3.2.5.4.7-1 1.2-2.8 1.6-3.1 3.4l-.7.7c-.6.7-1.7.9-2.4 1.6-.4.5-.4 1-.3 1.7-.4 2.3-.2 2.7 1.8 2.4l-.2.6v.1c-.4.6-.3 1.2 0 1.8.7 1.3 1.5 2.4 3.2 2.1h.2l.1.1.1.1c-1.2 1-1.1 2-.4 3 .8 1.2 1.1 2.4 1.4 3.7 1.2 1.5 2.2 3.1 4 4 3.2 2.1 3.5 9.1 12 10.2-.3-.8-1-1.4-.9-2l.7.6c.8.2 1.4 0 2-.5l.8-.4c.5-.3.6-.9.8-1.3l.7-.7v-1.2h.6c-.5-1-.3-3.3-.7-4.4 1.5-.5 1.2-2.6 2.6-3.1.9-.6.5-3.4.5-5.1l-.2-6v-.9s.1.4.4.5l.4-4.4c1.2-2.8 1.3-5.7 1.3-8.7 0-.7-.2-1.2-.2-1.2l-.2 1-.2-5.4-.5-.3c0-2.4-.8-5-2.6-6.2 0 0 .1-.3-.7-.7-.7-.3-4 0-4.3 0z" fill="#863b3b"/><path d="M340.4 68.9c-1.2-.2-2.1 1.3-3.4.6l-.3-.2-3 1.9-.7 2.5c.7 1.3.3 2-1.2 2v1.1c.6.5.6 1.2.5 2-1 1-.6 2.3-.7 3.4-.2 2-1 3.5-3 4.1 1.5 2.4 4.6 3.5 5.7 6.4l.7 1.8c1.3-1.5 1.9-3 1.1-5.1-.6-1.6.1-3 1.8-3.9.6 0 1.3-.3 1.7 0l.2-1.6c-1.1 0-1.2-.9-1.1-2-.4-.7-.4-1.3.6-1.3.5.3.8.8 1.2 1l.6-.3h-.2c-1-1.3-.8-2.8-.5-4 .6-2.8.5-5.6 0-8.4z"/></g>
+	<g id="Cow_Ear_Fore" style="display:none"><path d="M341.29 87.85c-4.02 2.48-4.66 5.24-10.49.95 3.7 6.63 5.61 18.01 4.8 23.83 10.25-5.13 5.33 4.15 21.96 1.98 16.62-2.18 22.4-13.14 23.95-22.26-9.43-10.2-28.7-11.38-40.22-4.5z" fill="#87553a"/><path d="M354.75 101.34l3.78.9s-1.5 4.25 1.23 5.48l-1.68 7.94-8.71-1.94 1.85-7.57s2.42 1.06 3.53-4.8z" fill="#f1ab2b"/></g>
   </g>
   <g
    inkscape:groupmode="layer"
diff --git a/devTools/types/FC/human.d.ts b/devTools/types/FC/human.d.ts
index 83a96210997b8112fe0b43b9e6c0374220173154..35c15fc8a87833628e990f537fa7e702d8b69140 100644
--- a/devTools/types/FC/human.d.ts
+++ b/devTools/types/FC/human.d.ts
@@ -12,6 +12,12 @@ declare global {
 			removedLimbs?: number[];
 		}
 
+		export interface GingeredSlave extends SlaveState {
+			// note that all members are optional...GingeredSlave and SlaveState are bidirectionally interchangable
+			gingering?: InstanceType<typeof App.Entity.GingeringParameters>;
+			beforeGingering?: SlaveState;
+		}
+
 		export type SlaveUpdate = DeepPartialSlaveState;
 
 		//#region SlaveState types
diff --git a/devTools/types/FC/misc.d.ts b/devTools/types/FC/misc.d.ts
index ffdc266b34a4ee4536ccc2c911acf4f0a428a053..1fe6353be8b83baf6118db1699b6f9ac275c4d68 100644
--- a/devTools/types/FC/misc.d.ts
+++ b/devTools/types/FC/misc.d.ts
@@ -2,7 +2,8 @@ declare namespace FC {
 	type SlaveSchoolName = "GRI" | "HA" | "NUL" | "SCP" | "TCR" | "TFS" | "TGA" | "TSS" | "LDE" | "TUO";
 	type LawlessMarkets = "generic" | "gangs and smugglers" | "heap" | "indentures" | "low tier criminals" | "military prison" | "neighbor" |
 		"wetware" | "white collar" | SlaveSchoolName;
-	type SlaveMarketName = LawlessMarkets | "corporate";
+	type OrdinaryMarkets = "kidnappers" | "trainers" | "hunters" | "raiders" | "underage raiders" | "corporate";
+	type SlaveMarketName = LawlessMarkets | OrdinaryMarkets;
 	type Gingering = Zeroable<"antidepressant" | "depressant" | "stimulant" | "vasoconstrictor" | "vasodilator" | "aphrodisiac" | "ginger">;
 	type GingeringDetection = Zeroable<"slaver" | "mercenary" | "force">;
 	type SlaveActs = "PCChildrenFathered" | "PCKnockedUp" | "anal" | "births" | "birthsTotal" | "cum" | "laborCount" | "mammary" | "milk" | "oral" | "penetrative" | "pitKills" | "miscarriages" | "publicUse" | "slavesFathered" | "slavesKnockedUp" | "vaginal" | "abortions" | "birth";
diff --git a/devTools/types/SugarCubeExtensions.d.ts b/devTools/types/SugarCubeExtensions.d.ts
index 52eaed4fd5f7094d7ace8765ef0f122992e8e563..e8709b836aec7898ad34082c2a5df7c74d817d19 100644
--- a/devTools/types/SugarCubeExtensions.d.ts
+++ b/devTools/types/SugarCubeExtensions.d.ts
@@ -26,9 +26,6 @@ declare module "twine-sugarcube" {
 		filterRegions: string[];
 		heightBoostingShoes: string[];
 		highHeels: string[];
-		humiliatingClothes: string[];
-		modestClothes: string[];
-		sluttyClothes: string[];
 
 		pregData: Record<string, FC.PregnancyData>;
 
diff --git a/devTools/types/assistant.d.ts b/devTools/types/assistant.d.ts
index d6eb8fbf6c879e98afed21be490d57c79444a4b5..717f871a2552d985ba393272e9484065b3dd2163 100644
--- a/devTools/types/assistant.d.ts
+++ b/devTools/types/assistant.d.ts
@@ -1,5 +1,5 @@
 interface assistant {
-	appearance: "normal" | "monstergirl" | "shemale" | "amazon" | "businesswoman" | "goddess" | "hypergoddess" | "schoolgirl" | "loli" | "preggololi" | "fairy" | "pregnant fairy" | "slimegirl" | "angel" | "cherub" | "imp" | "witch" | "ERROR_1606_APPEARANCE_FILE_CORRUPT" | "incubus" | "succubus";
+	appearance: "normal" | "monstergirl" | "shemale" | "amazon" | "businesswoman" | "goddess" | "hypergoddess" | "schoolgirl" | "loli" | "preggololi" | "fairy" | "pregnant fairy" | "slimegirl" | "cowgirl"| "harpygirl" | "kitsunegirl" | "lamiagirl" | "spidergirl" | "angel" | "cherub" | "imp" | "witch" | "ERROR_1606_APPEARANCE_FILE_CORRUPT" | "incubus" | "succubus";
 	fsAppearance: "default" | "paternalist" | "degradationist" | "supremacist" | "subjugationist" | "roman revivalist" | "aztec revivalist" | "egyptian revivalist" | "edo revivalist" | "arabian revivalist" | "chinese revivalist" | "chattel religionist" | "repopulation focus" | "eugenics" | "physical idealist" | "hedonistic decadence" | "gender radicalist" | "gender fundamentalist" | "asset expansionist" | "transformation fetishist" | "pastoralist" | "maturity preferentialist" | "youth preferentialist" | "slimness enthusiast" | "body purist" | "intellectual dependency" | "slave professionalism" | "petite admiration" | "statuesque glorification" | "neoimperialist";
 	personality: 1 | 0;
 	name: string;
diff --git a/js/003-data/futureSocietyData.js b/js/003-data/futureSocietyData.js
new file mode 100644
index 0000000000000000000000000000000000000000..c0983c1961684f68d8061c75650a1d3190d694c2
--- /dev/null
+++ b/js/003-data/futureSocietyData.js
@@ -0,0 +1,73 @@
+App.Data.FutureSociety = {
+	 /** Each future society contains a record here, along with a noun and adjective form for use in printed text, and the decoration string (normally also an adjective form).
+	  *  Most of the automatic mechanics for FS adoption, influence, facility decoration, etc, are handled directly from this data; flavor text is not.
+	  *  @type {Record<FC.FutureSociety, {noun: FC.FutureSocietyNoun, adj: FC.FutureSocietyAdj, deco: FC.FutureSocietyDeco, NPCOnly?: boolean}>} */
+	records: ({
+		FSSupremacist: {noun: "Racial Supremacism", adj: "Supremacist", deco: "Supremacist"},
+		FSSubjugationist: {noun: "Racial Subjugationism", adj: "Subjugationist", deco: "Subjugationist"},
+		FSGenderRadicalist: {noun: "Gender Radicalism", adj: "Gender Radicalist", deco: "Gender Radicalist"},
+		FSGenderFundamentalist: {noun: "Gender Fundamentalism", adj: "Gender Fundamentalist", deco: "Gender Fundamentalist"},
+		FSDegradationist: {noun: "Degradationism", adj: "Degradationist", deco: "Degradationist"},
+		FSPaternalist: {noun: "Paternalism", adj: "Paternalist", deco: "Paternalist"},
+		FSBodyPurist: {noun: "Body Purism", adj: "Body Purist", deco: "Body Purist"},
+		FSTransformationFetishist: {noun: "Transformation Fetishism", adj: "Transformation Fetishist", deco: "Transformation Fetishist"},
+		FSYouthPreferentialist: {noun: "Youth Preferentialism", adj: "Youth Preferentialist", deco: "Youth Preferentialist"},
+		FSMaturityPreferentialist: {noun: "Maturity Preferentialism", adj: "Maturity Preferentialist", deco: "Maturity Preferentialist"},
+		FSSlimnessEnthusiast: {noun: "Slimness Enthusiasm", adj: "Slimness Enthusiast", deco: "Slimness Enthusiast"},
+		FSAssetExpansionist: {noun: "Asset Expansionism", adj: "Asset Expansionist", deco: "Asset Expansionist"},
+		FSPastoralist: {noun: "Pastoralism", adj: "Pastoralist", deco: "Pastoralist"},
+		FSCummunism: {noun: "Cummunism", adj: "Cummunist", deco: "", NPCOnly: true},
+		FSPhysicalIdealist: {noun: "Physical Idealism", adj: "Physical Idealist", deco: "Physical Idealist"},
+		FSHedonisticDecadence: {noun: "Decadent Hedonism", adj: "Decadent Hedonist", deco: "Hedonistic"},
+		FSChattelReligionist: {noun: "Chattel Religionism", adj: "Chattel Religionist", deco: "Chattel Religionist"},
+		FSNull: {noun: "Multiculturalism", adj: "Multiculturalist", deco: ""},
+		FSIncestFetishist: {noun: "Incest Fetishism", adj: "Incest Fetishist", deco: "", NPCOnly: true},
+		FSRomanRevivalist: {noun: "Roman Revivalism", adj: "Roman Revivalist", deco: "Roman Revivalist"},
+		FSNeoImperialist: {noun: "Neo-Imperialism", adj: "Neo-Imperialist", deco: "Neo-Imperialist"},
+		FSEgyptianRevivalist: {noun: "Egyptian Revivalism", adj: "Egyptian Revivalist", deco: "Egyptian Revivalist"},
+		FSEdoRevivalist: {noun: "Edo Revivalism", adj: "Edo Revivalist", deco: "Edo Revivalist"},
+		FSArabianRevivalist: {noun: "Arabian Revivalism", adj: "Arabian Revivalist", deco: "Arabian Revivalist"},
+		FSChineseRevivalist: {noun: "Chinese Revivalism", adj: "Chinese Revivalist", deco: "Chinese Revivalist"},
+		FSAztecRevivalist: {noun: "Aztec Revivalism", adj: "Aztec Revivalist", deco: "Aztec Revivalist"},
+		FSRepopulationFocus: {noun: "Repopulation Focus", adj: "Repopulationist", deco: "Repopulationist"},
+		FSRestart: {noun: "Eugenics", adj: "Eugenics", deco: "Eugenics"},
+		FSIntellectualDependency: {noun: "Intellectual Dependency", adj: "Intellectual Dependency", deco: "Intellectual Dependency"},
+		FSSlaveProfessionalism: {noun: "Slave Professionalism", adj: "Slave Professional", deco: "Slave Professionalism"},
+		FSPetiteAdmiration: {noun: "Petite Admiration", adj: "Petite Admiration", deco: "Petite Admiration"},
+		FSStatuesqueGlorification: {noun: "Statuesque Glorification", adj: "Statuesque Glorification", deco: "Statuesque Glorification"}
+	}),
+
+	/** Each subarray in this array contains a set of Future Societies which are to be considered mutually exclusive.
+	 *  They cannot be adopted at the same time by the same arcology, and if adopted by different arcologies,
+	 *  will automatically conflict and reduce diplomatic relations. */
+	mutexGroups: ( /** @returns {FC.FutureSociety[][]} */ function() {
+		/* this tiny-but-hideous IIFE is the only way I can get typechecking to work properly here, without a JSDoc equivalent to TS "as const" to prevent literal type widening */
+		return [
+			[ "FSSupremacist" ],
+			[ "FSSubjugationist" ],
+			[ "FSGenderRadicalist", "FSGenderFundamentalist" ],
+			[ "FSDegradationist", "FSPaternalist" ],
+			[ "FSBodyPurist", "FSTransformationFetishist" ],
+			[ "FSYouthPreferentialist", "FSMaturityPreferentialist" ],
+			[ "FSSlimnessEnthusiast", "FSAssetExpansionist" ],
+			[ "FSPastoralist", "FSCummunism" ],
+			[ "FSPhysicalIdealist", "FSHedonisticDecadence" ],
+			[ "FSChattelReligionist", "FSNull" ],
+			[ "FSIncestFetishist" ],
+			[ "FSRomanRevivalist", "FSNeoImperialist", "FSEgyptianRevivalist", "FSEdoRevivalist", "FSArabianRevivalist", "FSChineseRevivalist", "FSAztecRevivalist" ],
+			[ "FSRepopulationFocus", "FSRestart" ],
+			[ "FSIntellectualDependency", "FSSlaveProfessionalism" ],
+			[ "FSPetiteAdmiration", "FSStatuesqueGlorification"]
+		];
+	})(),
+
+	/** @type {FC.FutureSociety[]} */
+	fsNames: [],
+
+	/** @type {FC.FutureSociety[]} */
+	playerFSNames: []
+};
+
+/* -- auto-populate derived lists from records -- */
+App.Data.FutureSociety.fsNames = /** @type {FC.FutureSociety[]} */ (Object.keys(App.Data.FutureSociety.records));
+App.Data.FutureSociety.playerFSNames = App.Data.FutureSociety.fsNames.filter(fs => !App.Data.FutureSociety.records[fs].NPCOnly);
diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js
index ea9907a967bfd6fd04f50546bf8307e609ec849d..4a221c0c40c032ddabde734e240fcdfe5eb53f33 100644
--- a/js/003-data/gameVariableData.js
+++ b/js/003-data/gameVariableData.js
@@ -378,28 +378,9 @@ App.Data.resetOnNGPlus = {
 	repairTime: 3,
 	arcRepairTime: 0,
 	garrison: {},
-	/* armed forces stats */
-	militiaFreeManpower: 0,
-	militiaTotalCasualties: 0,
-	slavesTotalCasualties: 0,
-	mercFreeManpower: 0,
-	mercTotalCasualties: 0,
-	createdSlavesUnits: 0,
-	createdMilitiaUnits: 0,
-	createdMercUnits: 0,
 	/* battle relevant vars */
 	attackThisWeek: 0,
 	majorBattle: 0,
-	/* units */
-	/** @type {FC.SecExp.PlayerUnitData} */
-	secBots: {},
-	/** @type {FC.SecExp.PlayerHumanUnitData[]} */
-	militiaUnits: [],
-	/** @type {FC.SecExp.PlayerHumanUnitData[]} */
-	slaveUnits: [],
-	/** @type {FC.SecExp.PlayerHumanUnitData[]} */
-	mercUnits: [],
-	/* base vars */
 	SecExp: {},
 
 	reminderEntry: "",
@@ -1029,14 +1010,6 @@ App.Data.resetOnNGPlus = {
 	mercenariesHelpCorp: 0,
 	personalArms: 0,
 
-	/** @type {FC.Gingering} */
-	gingering: 0,
-	/** @type {FC.SlaveStateOrZero} */
-	beforeGingering: 0,
-	/** @type {FC.Bool} */
-	gingeringDetected: 0,
-	/** @type {FC.GingeringDetection} */
-	gingeringDetection: 0,
 	surgeryDescription: 0,
 	encyclopedia: "How to Play",
 
diff --git a/js/003-data/miscData.js b/js/003-data/miscData.js
index 0c8a7ae7e12f768ba2ad37b6683e286ded90c31d..a79da32e166af927ed42553ce4657dad7e8fb6fd 100644
--- a/js/003-data/miscData.js
+++ b/js/003-data/miscData.js
@@ -261,9 +261,6 @@ App.Data.misc = {
 	filterRaces: ["Amerindian", "Asian", "Black", "Indo-Aryan", "Latina", "Malay", "Middle Eastern", "Mixed Race", "Pacific Islander", "Semitic", "Southern European", "White"],
 	filterRacesLowercase: ["amerindian", "asian", "black", "indo-aryan", "latina", "malay", "middle eastern", "mixed race", "pacific islander", "semitic", "southern european", "white"],
 	filterRegions: ["Africa", "Asia", "Australia", "Europe", "Middle East", "North America", "South America"],
-	naturalSkins: ["pure white", "ivory", "white", "extremely pale", "very pale", "pale", "extremely fair", "very fair", "fair", "light", "light olive", "tan", "olive", "bronze", "dark olive", "dark", "light beige", "beige", "dark beige", "light brown", "brown", "dark brown", "black", "ebony", "pure black"],
-	dyedSkins: ["camouflage patterned", "dyed blue", "dyed gray", "dyed green", "dyed pink", "dyed red", "tiger striped"],
-	naturalNippleColors: ["black", "brown", "dark brown", "ebony", "ivory", "light brown", "pale pink", "pink"],
 
 	/* START Custom Nationalities region filter */
 	/* Not currently weighted, but will accept weights */
@@ -1554,13 +1551,6 @@ App.Data.misc = {
 	fakeBellies: ["a huge empathy belly", "a large empathy belly", "a medium empathy belly", "a small empathy belly"],
 	/* lets fake bellies be separated from other .bellyAccessory */
 
-	modestClothes: ["a ball gown", "a biyelgee costume", "a bunny outfit", "a burkini", "a burqa", "a comfortable bodysuit", "a cybersuit", "a dirndl", "a gothic lolita dress", "a halter top dress", "a hanbok", "a hijab and abaya", "a hijab and blouse", "a huipil", "a kimono", "a klan robe", "a latex catsuit", "a leotard", "a long qipao", "a maternity dress", "a military uniform", "a mini dress", "a mounty outfit", "a nice maid outfit", "a nice nurse outfit", "a niqab and abaya", "a one-piece swimsuit", "a penitent nuns habit", "a police uniform", "a red army uniform", "a schoolgirl outfit", "a schutzstaffel uniform", "a slave gown", "a slutty maid outfit", "a slutty nurse outfit", "a slutty qipao", "a sweater and cutoffs", "a t-shirt and jeans", "a toga", "an oversized t-shirt and boyshorts", "battlearmor", "battledress", "conservative clothing", "cutoffs and a t-shirt", "leather pants and a tube top", "lederhosen", "nice business attire", "restrictive latex", "slutty business attire", "spats and a tank top", "sport shorts and a sports bra", "sport shorts and a t-shirt", "stretch pants and a crop-top", "Imperial Plate"],
-
-	sluttyClothes: ["a bimbo outfit", "a chattel habit", "a cheerleader outfit", "a fallen nuns habit", "a schoolgirl outfit", "a skimpy loincloth", "a slutty klan robe", "a slutty maid outfit", "a slutty nurse outfit", "a slutty outfit", "a slutty pony outfit", "a slutty qipao", "a slutty schutzstaffel uniform", "a string bikini", "a succubus outfit", "a t-shirt and panties", "a t-shirt and thong", "a tank-top and panties", "a tube top and thong", "attractive lingerie", "attractive lingerie for a pregnant woman", "clubslut netting", "kitty lingerie", "leather pants and a tube top", "leather pants and pasties", "panties and pasties", "pasties", "slutty business attire", "slutty jewelry", "sport shorts and a sports bra", "striped underwear", "a tight Imperial bodysuit"],
-
-	/* stuff that reveals genitals */
-	humiliatingClothes: ["a bra", "a button-up shirt", "a chattel habit", "a fallen nuns habit", "a skimpy loincloth", "a sports bra", "a string bikini", "a striped bra", "a succubus outfit", "a sweater", "a t-shirt", "a tank-top", "a thong", "a tube top", "clubslut netting", "pasties", "restrictive latex", "shibari ropes", "slutty jewelry", "uncomfortable straps", "Western clothing"],
-
 	highHeels: ["boots", "extreme heels", "extreme platform heels", "heels", "platform heels"],
 	heightBoostingShoes: ["extreme heels", "extreme platform heels", "heels", "platform heels", "platform shoes", "pumps"],
 
@@ -1830,8 +1820,6 @@ App.Data.misc = {
 		"Vatican": 1
 	},
 
-	FutureSocieties: ["FSArabianRevivalist", "FSAssetExpansionist", "FSAztecRevivalist", "FSBodyPurist", "FSChattelReligionist", "FSChineseRevivalist", "FSDegradationist", "FSEdoRevivalist", "FSEgyptianRevivalist", "FSGenderFundamentalist", "FSGenderRadicalist", "FSHedonisticDecadence", "FSIntellectualDependency", "FSMaturityPreferentialist", "FSNeoImperialist", "FSNull", "FSPastoralist", "FSPaternalist", "FSPetiteAdmiration", "FSPhysicalIdealist", "FSRepopulationFocus", "FSRestart", "FSRomanRevivalist", "FSSlaveProfessionalism", "FSSlimnessEnthusiast", "FSStatuesqueGlorification", "FSSubjugationist", "FSSupremacist", "FSTransformationFetishist", "FSYouthPreferentialist"],
-
 	badWords: ["anus", "ass", "bitch", "boob", "butt", "cock", "crap", "cum", "cunny", "cunt", "dick", "fuck", "jizz", "junk", "piss", "prick", "pussy", "shit", "slave", "slut", "tit", "trash", "whore"],
 
 	badNames: ["Ass Kisser", "Ass Licker", "Ass", "Assfucker", "Asshole", "Ballsack", "Bastard", "Beta", "Bitch", "Cock", "Cocksucker", "Coward", "Creep", "Cum Rag", "Cunt", "Degenerate", "Despoiler", "Dick", "Dickhead", "Dicksucker", "Dickweed", "Dipshit", "Douchebag", "Dumbass", "DumbFuck", "Dunderfuck", "Dyke", "Faggot", "Fucker", "Fuckface", "Fuckhead", "Fucko", "Fucktard", "Fuckwit", "Idiot", "Inbred", "Jackass", "Jerk", "Jizz Stain", "Loser", "Moron", "Motherfucker", "Nutsack", "Pissbaby", "Prick", "Pussy", "Rapist", "Ratfuck", "Retard", "Ruiner", "Schmuck", "Scumbag", "Shitbird", "Shithead", "Slave", "Slaver", "Sleazeball", "Slut", "Sodomite", "Thundercunt", "Traitor", "Trash", "Whore", "Wimp"],
diff --git a/js/003-data/slaveMods.js b/js/003-data/slaveMods.js
index 4f5deee28451931127bc72def9764c48bea0f140..70e41dc98207ee1a087d7d818a4444a53e2896be 100644
--- a/js/003-data/slaveMods.js
+++ b/js/003-data/slaveMods.js
@@ -392,16 +392,6 @@ App.Medicine.Modification.hairStyles = {
 			title: "Very long",
 			hLength: 100
 		},
-		{
-			title: "Apply hair growth stimulating treatment",
-			hLength: 0,
-			requirements: slave => !slave.bald
-		},
-		{
-			title: "Apply extensions",
-			onApplication: function(slave) { slave.hLength += 10; },
-			requirements: slave => !slave.bald && slave.hLength < 150
-		},
 	]
 };
 
@@ -438,3 +428,12 @@ App.Medicine.Modification.eyeShape = [
 	{value: "vacant"},
 	{value: "wide-eyed"}
 ];
+
+App.Medicine.Modification.naturalSkins = ["pure white", "ivory", "white", "extremely pale", "very pale", "pale", "extremely fair", "very fair", "fair", "light", "light olive", "tan", "olive", "bronze", "dark olive", "dark", "light beige", "beige", "dark beige", "light brown", "brown", "dark brown", "black", "ebony", "pure black"];
+App.Medicine.Modification.dyedSkins = ["camouflage patterned", "dyed blue", "dyed gray", "dyed green", "dyed pink", "dyed red", "tiger striped"];
+App.Medicine.Modification.naturalNippleColors = ["black", "brown", "dark brown", "ebony", "ivory", "light brown", "pale pink", "pink"];
+App.Medicine.Modification.eyebrowStyles = new Set(["shaved", "straight", "rounded", "natural", "slanted inwards", "slanted outwards", "high-arched", "elongated", "shortened", "curved"]);
+App.Medicine.Modification.eyebrowFullness = new Set(["pencil-thin", "thin", "threaded", "natural", "tapered", "thick", "bushy"]);
+App.Medicine.Modification.pubicStyles = new Set(["waxed", "in a strip", "neat", "bushy", "bushy in the front and neat in the rear", "very bushy"]);
+App.Medicine.Modification.armpitStyles = new Set(["waxed", "shaved", "neat", "bushy"]);
+App.Medicine.Modification.hornColor = new Set(["golden", "copper", "red", "deep red", "green", "pink", "dark brown", "brown", "burgundy", "jet black", "black", "grey", "silver", "white", "blue-violet", "purple", "dark orchid", "sea green", "green-yellow", "dark blue", "blazing red", "neon green", "neon blue", "neon pink"]);
diff --git a/js/003-data/slaveWearData.js b/js/003-data/slaveWearData.js
index 8777cf308c604a65c8988b57a1ce849836c03372..6065c8ee0de396a9999afdb4a8c0210d4a27f0fc 100644
--- a/js/003-data/slaveWearData.js
+++ b/js/003-data/slaveWearData.js
@@ -1,633 +1,1285 @@
 /**
- * @typedef {object} slaveWear
+ * @typedef {object} clothes
  * @property {string} name
- * @property {string} value
- * @property {string} [fs]
+ * @property {FC.FutureSociety} [fs] Automatically unlocked with this FS.
  * @property {boolean} [requirements]
+ * @property {0|1|2|3|4} [exposure] 0: Modest, 1: Acceptable, 2: Slutty, 3: Humiliating (exposes genitals), 4: Might as well be nude
+ * @property {boolean} [harsh]
+ * @property {boolean} [topless]
  */
 
 /**
- * @typedef {Array<slaveWear>|Array<slaveWearChastity>} slaveWearCategory
+ * @type {Map.<string, clothes>} The string here will be what is applied to the relevant slave property.  Slave.clothes = "a bunny outfit", not "Bunny outfit".
  */
-
-/** @type {Object.<string, slaveWearCategory>} */
-App.Data.slaveWear = {
-
-	niceClothes: [
+App.Data.clothes = new Map([
+	["attractive lingerie for a pregnant woman",
 		{
 			name: "Maternity lingerie",
-			value: "attractive lingerie for a pregnant woman",
 			fs: "FSRepopulationFocus",
-			get requirements() { return V.boughtItem.clothing.maternityLingerie === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.maternityLingerie === 1; },
+			exposure: 2
+		}
+	],
+	["a bunny outfit",
 		{
 			name: "Bunny outfit",
-			value: "a bunny outfit",
 			fs: "FSGenderFundamentalist",
-			get requirements() { return V.boughtItem.clothing.bunny === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.bunny === 1; },
+			exposure: 1
+		}
+	],
+	["body oil",
 		{
 			name: "Body oil",
-			value: "body oil",
 			fs: "FSPhysicalIdealist",
-			get requirements() { return V.boughtItem.clothing.oil === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.oil === 1; },
+			exposure: 4
+		}
+	],
+	["a chattel habit",
 		{
 			name: "Chattel habit",
-			value: "a chattel habit",
 			fs: "FSChattelReligionist",
-			get requirements() { return V.boughtItem.clothing.habit === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.habit === 1; },
+			exposure: 3
+		}
+	],
+	["conservative clothing",
 		{
 			name: "Conservative clothing",
-			value: "conservative clothing",
 			fs: "FSPaternalist",
-			get requirements() { return V.boughtItem.clothing.conservative === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.conservative === 1; },
+			exposure: 0
+		}
+	],
+	["harem gauze",
 		{
 			name: "Harem gauze",
-			value: "harem gauze",
 			fs: "FSArabianRevivalist",
-			get requirements() { return V.boughtItem.clothing.harem === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.harem === 1; },
+			exposure: 1
+		}
+	],
+	["a huipil",
 		{
 			name: "Huipil",
-			value: "a huipil",
 			fs: "FSAztecRevivalist",
-			get requirements() { return V.boughtItem.clothing.huipil === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.huipil === 1; },
+			exposure: 0
+		}
+	],
+	["a kimono",
 		{
 			name: "Kimono",
-			value: "a kimono",
 			fs: "FSEdoRevivalist",
-			get requirements() { return (V.boughtItem.clothing.kimono === 1 || V.continent === "Japan"); }
-		},
+			get requirements() { return (V.boughtItem.clothing.kimono === 1 || V.continent === "Japan"); },
+			exposure: 0
+		}
+	],
+	["a maternity dress",
 		{
 			name: "Maternity dress",
-			value: "a maternity dress",
 			fs: "FSRepopulationFocus",
-			get requirements() { return V.boughtItem.clothing.maternityDress === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.maternityDress === 1; },
+			exposure: 0,
+		}
+	],
+	["a slutty qipao",
 		{
 			name: "Qipao (slutty)",
-			value: "a slutty qipao",
 			fs: "FSChineseRevivalist",
-			get requirements() { return V.boughtItem.clothing.qipao === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.qipao === 1; },
+			exposure: 2
+		}
+	],
+	["a long qipao",
 		{
 			name: "Qipao (long)",
-			value: "a long qipao",
 			fs: "FSChineseRevivalist",
-			get requirements() { return V.boughtItem.clothing.cultural === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.cultural === 1; },
+			exposure: 0
+		}
+	],
+	["Imperial Plate",
 		{
 			name: "Imperial Plate",
-			value: "Imperial Plate",
 			fs: "FSNeoImperialist",
-			get requirements() { return V.boughtItem.clothing.imperialarmor === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.imperialarmor === 1; },
+			exposure: 0
+		}
+	],
+	["a tight Imperial bodysuit",
 		{
 			name: "Imperial Bodysuit",
-			value: "a tight Imperial bodysuit",
 			fs: "FSNeoImperialist",
-			get requirements() { return V.boughtItem.clothing.imperialsuit === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.imperialsuit === 1; },
+			exposure: 2
+		}
+	],
+	["stretch pants and a crop-top",
 		{
 			name: "Stretch pants and a crop-top",
-			value: "stretch pants and a crop-top",
 			fs: "FSHedonisticDecadence",
-			get requirements() { return V.boughtItem.clothing.lazyClothes === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.lazyClothes === 1; },
+			exposure: 0
+		}
+	],
+	["a toga",
 		{
 			name: "Toga",
-			value: "a toga",
 			fs: "FSRomanRevivalist",
-			get requirements() { return V.boughtItem.clothing.toga === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.toga === 1; },
+			exposure: 1
+		}
+	],
+	["Western clothing",
 		{
 			name: "Western clothing",
-			value: "Western clothing",
 			fs: "FSPastoralist",
-			get requirements() { return V.boughtItem.clothing.western === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.western === 1; },
+			exposure: 3
+		}
+	],
+	["a courtesan dress",
 		{
 			name: "Courtesan dress",
-			value: "a courtesan dress",
 			fs: "FSSlaveProfessionalism",
-			get requirements() { return V.boughtItem.clothing.courtesan === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.courtesan === 1; },
+			exposure: 1
+		}
+	],
+	["a bimbo outfit",
 		{
 			name: "Bimbo outfit",
-			value: "a bimbo outfit",
 			fs: "FSIntellectualDependency",
-			get requirements() { return V.boughtItem.clothing.bimbo === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.bimbo === 1; },
+			exposure: 2
+		}
+	],
+	["petite admi outfit",
 		{
 			name: "Petite admi outfit",
-			value: "petite admi outfit",
 			fs: "FSPetiteAdmiration",
-			get requirements() { return V.boughtItem.clothing.petite === 1; }
-		},
-		{name: "Battlearmor", value: "battlearmor", get requirements() { return V.boughtItem.clothing.military === 1; }},
-		{name: "Military uniform", value: "a military uniform", get requirements() { return V.boughtItem.clothing.military === 1; }},
-		{name: "Red Army uniform", value: "a red army uniform", get requirements() { return V.boughtItem.clothing.military === 1; }},
-		{name: "Battledress", value: "battledress", get requirements() { return V.boughtItem.clothing.military === 1; }},
-		{name: "Biyelgee costume", value: "a biyelgee costume", get requirements() { return V.boughtItem.clothing.cultural === 1; }},
-		{name: "Dirndl", value: "a dirndl", get requirements() { return V.boughtItem.clothing.cultural === 1; }},
-		{name: "Lederhosen", value: "lederhosen", get requirements() { return V.boughtItem.clothing.cultural === 1; }},
-		{name: "Mounty outfit", value: "a mounty outfit", get requirements() { return V.boughtItem.clothing.cultural === 1; }},
-		{name: "Hanbok", value: "a hanbok", get requirements() { return V.boughtItem.clothing.cultural === 1; }},
+			get requirements() { return V.boughtItem.clothing.petite === 1; },
+			exposure: 0
+		}
+	],
+	["battlearmor",
+		{
+			name: "Battlearmor",
+			get requirements() { return V.boughtItem.clothing.military === 1; },
+			exposure: 0
+		}
+	],
+	["a military uniform",
+		{
+			name: "Military uniform",
+			get requirements() { return V.boughtItem.clothing.military === 1; },
+			exposure: 0
+		}
+	],
+	["a red army uniform",
+		{
+			name: "Red Army uniform",
+			get requirements() { return V.boughtItem.clothing.military === 1; },
+			exposure: 0
+		}
+	],
+	["battledress",
+		{
+			name: "Battledress",
+			get requirements() { return V.boughtItem.clothing.military === 1; },
+			exposure: 0
+		}
+	],
+	["a biyelgee costume",
+		{
+			name: "Biyelgee costume",
+			get requirements() { return V.boughtItem.clothing.cultural === 1; },
+			exposure: 0
+		}
+	],
+	["a dirndl",
+		{
+			name: "Dirndl",
+			get requirements() { return V.boughtItem.clothing.cultural === 1; },
+			exposure: 0
+		}
+	],
+	["lederhosen",
+		{
+			name: "Lederhosen",
+			get requirements() { return V.boughtItem.clothing.cultural === 1; },
+			exposure: 0
+		}
+	],
+	["a mounty outfit",
+		{
+			name: "Mounty outfit",
+			get requirements() { return V.boughtItem.clothing.cultural === 1; },
+			exposure: 0
+		}
+	],
+	["a hanbok",
+		{
+			name: "Hanbok",
+			get requirements() { return V.boughtItem.clothing.cultural === 1; },
+			exposure: 0
+		}
+	],
+	["a burqa",
 		{
 			name: "Burqa",
-			value: "a burqa",
-			get requirements() { return V.boughtItem.clothing.middleEastern === 1 || V.continent === "the Middle East"; }
-		},
+			get requirements() { return V.boughtItem.clothing.middleEastern === 1 || V.continent === "the Middle East"; },
+			exposure: 0
+		}
+	],
+	["a niqab and abaya",
 		{
 			name: "Niqab and abaya",
-			value: "a niqab and abaya",
-			get requirements() { return V.boughtItem.clothing.middleEastern === 1 || V.continent === "the Middle East"; }
-		},
+			get requirements() { return V.boughtItem.clothing.middleEastern === 1 || V.continent === "the Middle East"; },
+			exposure: 0
+		}
+	],
+	["a hijab and blouse",
 		{
 			name: "Hijab and blouse",
-			value: "a hijab and blouse",
-			get requirements() { return (V.boughtItem.clothing.conservative === 1 || V.continent === "the Middle East"); }
-		},
+			get requirements() { return (V.boughtItem.clothing.conservative === 1 || V.continent === "the Middle East"); },
+			exposure: 0
+		}
+	],
+	["a burkini",
 		{
 			name: "Burkini",
-			value: "a burkini",
-			get requirements() { return V.boughtItem.clothing.swimwear === 1 && (V.boughtItem.clothing.swimwear === 1 || V.continent === "the Middle East"); }
-		},
-		{name: "Santa dress", value: "a Santa dress", get requirements() { return V.boughtItem.clothing.costume === 1; }},
-
-		{name: "Klan robe", value: "a klan robe", get requirements() { return V.boughtItem.clothing.pol === 1; }},
-		{name: "Slutty klan robe", value: "a slutty klan robe", get requirements() { return V.boughtItem.clothing.pol === 1; }},
-		{name: "Schutzstaffel uniform", value: "a schutzstaffel uniform", get requirements() { return V.boughtItem.clothing.pol === 1; }},
-		{name: "Slutty schutzstaffel uniform", value: "a slutty schutzstaffel uniform", get requirements() { return V.boughtItem.clothing.pol === 1; }},
-
-		{name: "Nice business attire", value: "nice business attire", get requirements() { return V.boughtItem.clothing.career === 1; }},
-		{name: "Nurse (nice)", value: "a nice nurse outfit", get requirements() { return V.boughtItem.clothing.career === 1; }},
-		{name: "Police uniform", value: "a police uniform", get requirements() { return V.boughtItem.clothing.career === 1; }},
+			get requirements() { return V.boughtItem.clothing.swimwear === 1 && (V.boughtItem.clothing.swimwear === 1 || V.continent === "the Middle East"); },
+			exposure: 1
+		}
+	],
+	["a Santa dress",
+		{
+			name: "Santa dress",
+			get requirements() { return V.boughtItem.clothing.costume === 1; },
+			exposure: 2
+		}
+	],
+	["a klan robe",
+		{
+			name: "Klan robe",
+			get requirements() { return V.boughtItem.clothing.pol === 1; },
+			exposure: 0
+		}
+	],
+	["a slutty klan robe",
+		{
+			name: "Slutty klan robe",
+			get requirements() { return V.boughtItem.clothing.pol === 1; },
+			exposure: 2
+		}
+	],
+	["a schutzstaffel uniform",
+		{
+			name: "Schutzstaffel uniform",
+			get requirements() { return V.boughtItem.clothing.pol === 1; },
+			exposure: 0
+		}
+	],
+	["a slutty schutzstaffel uniform",
+		{
+			name: "Slutty schutzstaffel uniform",
+			get requirements() { return V.boughtItem.clothing.pol === 1; },
+			exposure: 2
+		}
+	],
+	["nice business attire",
+		{
+			name: "Nice business attire",
+			get requirements() { return V.boughtItem.clothing.career === 1; },
+			exposure: 0
+		}
+	],
+	["a nice nurse outfit",
+		{
+			name: "Nurse (nice)",
+			get requirements() { return V.boughtItem.clothing.career === 1; },
+			exposure: 0
+		}
+	],
+	["a police uniform",
+		{
+			name: "Police uniform",
+			get requirements() { return V.boughtItem.clothing.career === 1; },
+			exposure: 0
+		}
+	],
+	["a nice maid outfit",
 		{
 			name: "Maid (nice)",
-			value: "a nice maid outfit",
-			get requirements() { return V.boughtItem.clothing.career === 1 || V.PC.career === "servant"; }
-		},
-
-		{name: "Ballgown", value: "a ball gown", get requirements() { return V.boughtItem.clothing.dresses === 1; }},
-		{name: "Gothic lolita dress", value: "a gothic lolita dress", get requirements() { return V.boughtItem.clothing.dresses === 1; }},
-
-		{name: "Cybersuit", value: "a cybersuit", get requirements() { return V.boughtItem.clothing.bodysuits === 1; }},
-		{name: "Latex catsuit", value: "a latex catsuit", get requirements() { return V.boughtItem.clothing.bodysuits === 1; }},
-
-		{name: "Button-up shirt and panties", value: "a button-up shirt and panties", get requirements() { return V.boughtItem.clothing.casual === 1; }},
-		{name: "Button-up shirt", value: "a button-up shirt", get requirements() { return V.boughtItem.clothing.casual === 1; }},
-		{name: "Cutoffs", value: "cutoffs", get requirements() { return V.boughtItem.clothing.casual === 1; }},
-		{name: "Jeans", value: "jeans", get requirements() { return V.boughtItem.clothing.casual === 1; }},
-		{name: "Leather pants and a tube top", value: "leather pants and a tube top", get requirements() { return V.boughtItem.clothing.casual === 1; }},
-		{name: "Leather pants", value: "leather pants", get requirements() { return V.boughtItem.clothing.casual === 1; }},
-		{name: "Oversized t-shirt", value: "an oversized t-shirt", get requirements() { return V.boughtItem.clothing.casual === 1; }},
-		{name: "Sweater and cutoffs", value: "a sweater and cutoffs", get requirements() { return V.boughtItem.clothing.casual === 1; }},
-		{name: "Sweater and panties", value: "a sweater and panties", get requirements() { return V.boughtItem.clothing.casual === 1; }},
-		{name: "Sweater", value: "a sweater", get requirements() { return V.boughtItem.clothing.casual === 1; }},
-		{name: "T-shirt and jeans", value: "a t-shirt and jeans", get requirements() { return V.boughtItem.clothing.casual === 1; }},
-		{name: "T-shirt and panties", value: "a t-shirt and panties", get requirements() { return V.boughtItem.clothing.casual === 1; }},
-		{name: "T-shirt", value: "a t-shirt", get requirements() { return V.boughtItem.clothing.casual === 1; }},
-		{name: "Tank-top and panties", value: "a tank-top and panties", get requirements() { return V.boughtItem.clothing.casual === 1; }},
-		{name: "Tank-top", value: "a tank-top", get requirements() { return V.boughtItem.clothing.casual === 1; }},
-		{name: "Tube top", value: "a tube top", get requirements() { return V.boughtItem.clothing.casual === 1; }},
-
-		{name: "Boyshorts", value: "boyshorts", get requirements() { return V.boughtItem.clothing.underwear === 1; }},
-		{name: "Bra", value: "a bra", get requirements() { return V.boughtItem.clothing.underwear === 1; }},
-		{name: "Kitty lingerie", value: "kitty lingerie", get requirements() { return V.boughtItem.clothing.underwear === 1; }},
-		{name: "Panties and pasties", value: "panties and pasties", get requirements() { return V.boughtItem.clothing.underwear === 1; }},
-		{name: "Skimpy loincloth", value: "a skimpy loincloth", get requirements() { return V.boughtItem.clothing.underwear === 1; }},
-		{name: "Thong", value: "a thong", get requirements() { return V.boughtItem.clothing.underwear === 1; }},
-		{name: "Pasties", value: "pasties", get requirements() { return V.boughtItem.clothing.underwear === 1; }},
-
+			get requirements() { return V.boughtItem.clothing.career === 1 || V.PC.career === "servant" || V.PC.career === "handmaiden" || V.PC.career === "child servant"; },
+			exposure: 0
+		}
+	],
+	["a ball gown",
+		{
+			name: "Ballgown",
+			get requirements() { return V.boughtItem.clothing.dresses === 1; },
+			exposure: 0
+		}
+	],
+	["a gothic lolita dress",
+		{
+			name: "Gothic lolita dress",
+			get requirements() { return V.boughtItem.clothing.dresses === 1; },
+			exposure: 0
+		}
+	],
+	["a cybersuit",
+		{
+			name: "Cybersuit",
+			get requirements() { return V.boughtItem.clothing.bodysuits === 1; },
+			exposure: 0
+		}
+	],
+	["a latex catsuit",
+		{
+			name: "Latex catsuit",
+			get requirements() { return V.boughtItem.clothing.bodysuits === 1; },
+			exposure: 1
+		}
+	],
+	["a button-up shirt and panties",
+		{
+			name: "Button-up shirt and panties",
+			get requirements() { return V.boughtItem.clothing.casual === 1; },
+			exposure: 2
+		}
+	],
+	["a button-up shirt",
+		{
+			name: "Button-up shirt",
+			get requirements() { return V.boughtItem.clothing.casual === 1; },
+			exposure: 3
+		}
+	],
+	["cutoffs",
+		{
+			name: "Cutoffs",
+			get requirements() { return V.boughtItem.clothing.casual === 1; },
+			exposure: 2
+		}
+	],
+	["jeans",
+		{
+			name: "Jeans",
+			get requirements() { return V.boughtItem.clothing.casual === 1; },
+			exposure: 2,
+			topless: true
+		}
+	],
+	["leather pants and a tube top",
+		{
+			name: "Leather pants and a tube top",
+			get requirements() { return V.boughtItem.clothing.casual === 1; },
+			exposure: 1
+		}
+	],
+	["leather pants",
+		{
+			name: "Leather pants",
+			get requirements() { return V.boughtItem.clothing.casual === 1; },
+			exposure: 2,
+			topless: true
+		}
+	],
+	["an oversized t-shirt",
+		{
+			name: "Oversized t-shirt",
+			get requirements() { return V.boughtItem.clothing.casual === 1; },
+			exposure: 3
+		}
+	],
+	["a sweater and cutoffs",
+		{
+			name: "Sweater and cutoffs",
+			get requirements() { return V.boughtItem.clothing.casual === 1; },
+			exposure: 0
+		}
+	],
+	["a sweater and panties",
+		{
+			name: "Sweater and panties",
+			get requirements() { return V.boughtItem.clothing.casual === 1; },
+			exposure: 2
+		}
+	],
+	["a sweater",
+		{
+			name: "Sweater",
+			get requirements() { return V.boughtItem.clothing.casual === 1; },
+			exposure: 3
+		}
+	],
+	["a t-shirt and jeans",
+		{
+			name: "T-shirt and jeans",
+			get requirements() { return V.boughtItem.clothing.casual === 1; },
+			exposure: 0
+		}
+	],
+	["a t-shirt and panties",
+		{
+			name: "T-shirt and panties",
+			get requirements() { return V.boughtItem.clothing.casual === 1; },
+			exposure: 2
+		}
+	],
+	["a t-shirt",
+		{
+			name: "T-shirt",
+			get requirements() { return V.boughtItem.clothing.casual === 1; },
+			exposure: 3
+		}
+	],
+	["a tank-top and panties",
+		{
+			name: "Tank-top and panties",
+			get requirements() { return V.boughtItem.clothing.casual === 1; },
+			exposure: 2
+		}
+	],
+	["a tank-top",
+		{
+			name: "Tank-top",
+			get requirements() { return V.boughtItem.clothing.casual === 1; },
+			exposure: 3
+		}
+	],
+	["a tube top",
+		{
+			name: "Tube top",
+			get requirements() { return V.boughtItem.clothing.casual === 1; },
+			exposure: 3
+		}
+	],
+	["boyshorts",
+		{
+			name: "Boyshorts",
+			get requirements() { return V.boughtItem.clothing.underwear === 1; },
+			exposure: 2,
+			topless: true
+		}
+	],
+	["a bra",
+		{
+			name: "Bra",
+			get requirements() { return V.boughtItem.clothing.underwear === 1; },
+			exposure: 3
+		}
+	],
+	["kitty lingerie",
+		{
+			name: "Kitty lingerie",
+			get requirements() { return V.boughtItem.clothing.underwear === 1; },
+			exposure: 2
+		}
+	],
+	["panties and pasties",
+		{
+			name: "Panties and pasties",
+			get requirements() { return V.boughtItem.clothing.underwear === 1; },
+			exposure: 2
+		}
+	],
+	["a skimpy loincloth",
+		{
+			name: "Skimpy loincloth",
+			get requirements() { return V.boughtItem.clothing.underwear === 1; },
+			exposure: 3
+		}
+	],
+	["a thong",
+		{
+			name: "Thong",
+			get requirements() { return V.boughtItem.clothing.underwear === 1; },
+			exposure: 3,
+			topless: true
+		}
+	],
+	["pasties",
+		{
+			name: "Pasties",
+			get requirements() { return V.boughtItem.clothing.underwear === 1; },
+			exposure: 3
+		}
+	],
+	["leather pants and pasties",
 		{
 			name: "Leather pants and pasties",
-			value: "leather pants and pasties",
-			get requirements() { return V.boughtItem.clothing.underwear === 1 && V.boughtItem.clothing.casual === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.underwear === 1 && V.boughtItem.clothing.casual === 1; },
+			exposure: 2,
+		}
+	],
+	["a t-shirt and thong",
 		{
 			name: "T-shirt and thong",
-			value: "a t-shirt and thong",
-			get requirements() { return V.boughtItem.clothing.underwear === 1 && V.boughtItem.clothing.casual === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.underwear === 1 && V.boughtItem.clothing.casual === 1; },
+			exposure: 3,
+		}
+	],
+	["a tube top and thong",
 		{
 			name: "Tube top and thong",
-			value: "a tube top and thong",
-			get requirements() { return V.boughtItem.clothing.underwear === 1 && V.boughtItem.clothing.casual === 1; }
-		},
+			get requirements() { return V.boughtItem.clothing.underwear === 1 && V.boughtItem.clothing.casual === 1; },
+			exposure: 3,
+		}
+	],
+	["an oversized t-shirt and boyshorts",
 		{
 			name: "Oversized t-shirt and boyshorts",
-			value: "an oversized t-shirt and boyshorts",
-			get requirements() { return V.boughtItem.clothing.underwear === 1 && V.boughtItem.clothing.casual === 1; }
-		},
-		{name: "Sport shorts and a sports bra", value: "sport shorts and a sports bra", get requirements() { return V.boughtItem.clothing.sports === 1; }},
-		{name: "Sport shorts", value: "sport shorts", get requirements() { return V.boughtItem.clothing.sports === 1; }},
-		{name: "Sports bra", value: "a sports bra", get requirements() { return V.boughtItem.clothing.sports === 1; }},
+			get requirements() { return V.boughtItem.clothing.underwear === 1 && V.boughtItem.clothing.casual === 1; },
+			exposure: 0,
+		}
+	],
+	["sport shorts and a sports bra",
+		{
+			name: "Sport shorts and a sports bra",
+			get requirements() { return V.boughtItem.clothing.sports === 1; },
+			exposure: 1,
+		}
+	],
+	["sport shorts",
+		{
+			name: "Sport shorts",
+			get requirements() { return V.boughtItem.clothing.sports === 1; },
+			exposure: 2,
+			topless: true
+		}
+	],
+	["a sports bra",
+		{
+			name: "Sports bra",
+			get requirements() { return V.boughtItem.clothing.sports === 1; },
+			exposure: 3
+		}
+	],
+	["sport shorts and a t-shirt",
 		{
 			name: "Sport shorts and a t-shirt",
-			value: "sport shorts and a t-shirt",
-			get requirements() { return V.boughtItem.clothing.sports === 1 && V.boughtItem.clothing.casual === 1; }
-		},
-		{name: "Pony outfit (nice)", value: "a nice pony outfit", get requirements() { return V.boughtItem.clothing.pony === 1; }},
-		{name: "Pony outfit (slutty)", value: "a slutty pony outfit", get requirements() { return V.boughtItem.clothing.pony === 1; }},
-
-		{name: "Monokini", value: "a monokini", get requirements() { return V.boughtItem.clothing.swimwear === 1; }},
-		{name: "One-piece swimsuit", value: "a one-piece swimsuit", get requirements() { return V.boughtItem.clothing.swimwear === 1; }},
-
+			get requirements() { return V.boughtItem.clothing.sports === 1 && V.boughtItem.clothing.casual === 1; },
+			exposure: 0
+		}
+	],
+	["a nice pony outfit",
+		{
+			name: "Pony outfit (nice)",
+			get requirements() { return V.boughtItem.clothing.pony === 1; },
+			exposure: 1
+		}
+	],
+	["a slutty pony outfit",
+		{
+			name: "Pony outfit (slutty)",
+			get requirements() { return V.boughtItem.clothing.pony === 1; },
+			exposure: 2
+		}
+	],
+	["a monokini",
+		{
+			name: "Monokini",
+			get requirements() { return V.boughtItem.clothing.swimwear === 1; },
+			exposure: 3
+		}
+	],
+	["a one-piece swimsuit",
+		{
+			name: "One-piece swimsuit",
+			get requirements() { return V.boughtItem.clothing.swimwear === 1; },
+			exposure: 1
+		}
+	],
+	["a striped bra",
 		{
 			name: "Striped bra",
-			value: "a striped bra",
-			get requirements() { return V.boughtItem.clothing.pantsu === 1 || V.continent === "Japan"; }
-		},
+			get requirements() { return V.boughtItem.clothing.pantsu === 1 || V.continent === "Japan"; },
+			exposure: 3
+		}
+	],
+	["striped panties",
 		{
 			name: "Striped panties",
-			value: "striped panties",
-			get requirements() { return V.boughtItem.clothing.pantsu === 1 || V.continent === "Japan"; }
-		},
+			get requirements() { return V.boughtItem.clothing.pantsu === 1 || V.continent === "Japan"; },
+			exposure: 2,
+			topless: true
+		}
+	],
+	["striped underwear",
 		{
 			name: "Striped underwear",
-			value: "striped underwear",
-			get requirements() { return V.boughtItem.clothing.pantsu === 1 || V.continent === "Japan"; }
-		},
-
-		// "Normal" things:
-		{name: "Apron", value: "an apron"},
-		{name: "Bangles", value: "slutty jewelry"},
-		{name: "Clubslut netting", value: "clubslut netting"},
-		{name: "Cutoffs and a t-shirt", value: "cutoffs and a t-shirt"},
-		{name: "Bodysuit", value: "a comfortable bodysuit"},
-		{name: "Cheerleader", value: "a cheerleader outfit"},
-		{name: "Fallen nun", value: "a fallen nuns habit"},
-		{name: "Hijab and abaya", value: "a hijab and abaya"},
-		{name: "Leotard", value: "a leotard"},
-		{name: "Maid (slutty)", value: "a slutty maid outfit"},
-		{name: "Mini dress", value: "a mini dress"},
-		{name: "Nice lingerie", value: "attractive lingerie"},
-		{name: "Nurse (slutty)", value: "a slutty nurse outfit"},
-		{name: "Overalls", value: "overalls"},
-		{name: "Panties", value: "panties"},
-		{name: "Scalemail bikini", value: "a scalemail bikini"},
-		{name: "Schoolgirl", value: "a schoolgirl outfit"},
-		{name: "Slutty outfit", value: "a slutty outfit"},
-		{name: "Spats and a tank top", value: "spats and a tank top"},
-		{name: "String bikini", value: "a string bikini"},
-		{name: "Succubus costume", value: "a succubus outfit"},
-		{name: "Suit (slutty)", value: "slutty business attire"},
-
-		// {name: "Let them choose", value: "choosing her own clothes"},
-		{name: "Haltertop dress", value: "a halter top dress"},
-		{name: "Slave gown", value: "a slave gown"}
+			get requirements() { return V.boughtItem.clothing.pantsu === 1 || V.continent === "Japan"; },
+			exposure: 2,
+			topless: true
+		}
 	],
 
-	harshClothes: [
+	// "Normal" things:
+	["an apron",
 		{
-			name: "Chains",
-			value: "chains",
-			fs: "FSDegradationist",
-			get requirements() { return V.boughtItem.clothing.chains === 1; }
-		},
-		{name: "Go naked", value: "no clothing"},
-		{name: "Penitent nun", value: "a penitent nuns habit"},
-		{name: "Restrictive latex", value: "restrictive latex"},
-		{name: "Shibari ropes", value: "shibari ropes"},
-		{name: "Uncomfortable straps", value: "uncomfortable straps"}
+			name: "Apron",
+			exposure: 2,
+		}
 	],
-
-	niceCollars: [
-		{name: "Stylish leather", value: "stylish leather"},
-		{name: "Satin choker", value: "satin choker"},
-		{name: "Silken ribbon", value: "silk ribbon"},
-		{name: "Heavy gold", value: "heavy gold"},
-		{name: "Pretty jewelry", value: "pretty jewelry"},
-		{name: "Nice retirement counter", value: "nice retirement counter", get requirements() { return V.seeAge === 1; }},
-		{name: "Pregnancy biometrics", value: "preg biometrics", get requirements() { return V.seePreg === 1; }},
-		{name: "Bell", value: "bell collar"},
-		{name: "Cowbell", value: "leather with cowbell"},
-		{
-			name: "Bowtie collar",
-			value: "bowtie",
-			fs: "FSGenderFundamentalist",
-			get requirements() { return V.boughtItem.clothing.bunny === 1; }
-		},
+	["slutty jewelry",
 		{
-			name: "Neck tie",
-			value: "neck tie",
-			fs: "FSPaternalist",
-			get requirements() { return V.boughtItem.clothing.conservative === 1; }
-		},
-		{
-			name: "Ancient Egyptian",
-			value: "ancient Egyptian",
-			fs: "FSEgyptianRevivalist",
-			get requirements() { return V.boughtItem.clothing.egypt === 1; }
-		},
+			name: "Bangles",
+			exposure: 3
+		}
 	],
-
-	harshCollars: [
-		{name: "Tight steel", value: "tight steel"},
-		{name: "Cruel retirement counter", value: "cruel retirement counter", get requirements() { return V.seeAge === 1; }},
-		{name: "Uncomfortable leather", value: "uncomfortable leather"},
-		{name: "Shock punishment", value: "shock punishment"},
-		{name: "Neck corset", value: "neck corset"},
+	["clubslut netting",
+		{
+			name: "Clubslut netting",
+			exposure: 3
+		}
 	],
-
-	faceAccessory: [
-		{name: "Porcelain mask", value: "porcelain mask"},
-		{name: "Cat ears", value: "cat ears"},
+	["cutoffs and a t-shirt",
+		{
+			name: "Cutoffs and a t-shirt",
+			exposure: 0
+		}
 	],
-
-	mouthAccessory: [
-		{name: "Ball gag", value: "ball gag"},
-		{name: "Bit gag", value: "bit gag"},
-		{name: "Ring gag", value: "ring gag"},
+	["a comfortable bodysuit",
 		{
-			name: "Massive dildo gag",
-			value: "massive dildo gag",
-			get requirements() { return V.boughtItem.toys.gags === 1; }
-		},
-		{name: "Dildo gag", value: "dildo gag"},
+			name: "Bodysuit",
+			exposure: 1
+		}
 	],
-
-	shoes: [
-		{name: "Barefoot", value: "none"},
-		{name: "Flats", value: "flats"},
-		{name: "Heels", value: "heels"},
-		{name: "Pumps", value: "pumps"},
-		{name: "Thigh boots", value: "boots"},
-		{name: "Painfully extreme heels", value: "extreme heels"},
-		{
-			name: "Platforms",
-			value: "platform shoes",
-			fs: "FSStatuesqueGlorification",
-			get requirements() { return (V.boughtItem.shoes.heels === 1); }
-		},
-		{
-			name: "Platform heels",
-			value: "platform heels",
-			fs: "FSStatuesqueGlorification",
-			get requirements() { return (V.boughtItem.shoes.heels === 1); }
-		},
-		{
-			name: "Painfully extreme platform heels",
-			value: "extreme platform heels",
-			fs: "FSStatuesqueGlorification",
-			get requirements() { return (V.boughtItem.shoes.heels === 1); }
+	["a cheerleader outfit",
+		{
+			name: "Cheerleader",
+			exposure: 2
 		}
 	],
-
-	bellyAccessories: [
-		{name: "None", value: "none"},
-		{name: "Tight corset", value: "a corset"},
-		{name: "Extreme corset", value: "an extreme corset"},
-		{name: "Supportive band", value: "a support band"},
-		{
-			name: "1st Trimester belly",
-			value: "a small empathy belly",
-			fs: "FSRepopulationFocus",
-			get requirements() { return V.boughtItem.clothing.belly === 1; }
-		},
+	["a fallen nuns habit",
 		{
-			name: "2nd Trimester belly",
-			value: "a medium empathy belly",
-			fs: "FSRepopulationFocus",
-			get requirements() { return V.boughtItem.clothing.belly === 1; }
-		},
+			name: "Fallen nun",
+			exposure: 3
+		}
+	],
+	["a hijab and abaya",
 		{
-			name: "3rd Trimester belly",
-			value: "a large empathy belly",
-			fs: "FSRepopulationFocus",
-			get requirements() { return V.boughtItem.clothing.belly === 1; }
-		},
+			name: "Hijab and abaya",
+			exposure: 0
+		}
+	],
+	["a leotard",
 		{
-			name: "3rd Trimester twins belly",
-			value: "a huge empathy belly",
-			fs: "FSRepopulationFocus",
-			get requirements() { return V.boughtItem.clothing.belly === 1; }
+			name: "Leotard",
+			exposure: 1
 		}
 	],
-
-	vaginalAccessories: [
+	["a slutty maid outfit",
 		{
-			name: "None",
-			value: "none"
-		},
+			name: "Maid (slutty)",
+			exposure: 2
+		}
+	],
+	["a mini dress",
 		{
-			name: "Bullet vibrator",
-			value: "bullet vibrator"
-		},
+			name: "Mini dress",
+			exposure: 2
+		}
+	],
+	["attractive lingerie",
 		{
-			name: "Smart bullet vibrator",
-			value: "smart bullet vibrator",
-			get requirements() { return V.boughtItem.toys.smartVibes === 1; }
-		},
+			name: "Nice lingerie",
+			exposure: 2
+		}
+	],
+	["a slutty nurse outfit",
 		{
-			name: "Dildo",
-			value: "dildo"
-		},
+			name: "Nurse (slutty)",
+			exposure: 2
+		}
+	],
+	["overalls",
 		{
-			name: "Long dildo",
-			value: "long dildo",
-			get requirements() { return V.boughtItem.toys.dildos === 1; }
-		},
+			name: "Overalls",
+			exposure: 1
+		}
+	],
+	["panties",
 		{
-			name: "Large dildo",
-			value: "large dildo"
-		},
+			name: "Panties",
+			exposure: 2,
+			topless: true
+		}
+	],
+	["a scalemail bikini",
 		{
-			name: "Long, large dildo",
-			value: "long, large dildo",
-			get requirements() { return V.boughtItem.toys.dildos === 1; }
-		},
+			name: "Scalemail bikini",
+			exposure: 2
+		}
+	],
+	["a schoolgirl outfit",
 		{
-			name: "Huge dildo",
-			value: "huge dildo",
-			get requirements() { return V.boughtItem.toys.dildos === 1; }
-		},
+			name: "Schoolgirl",
+			exposure: 1
+		}
+	],
+	["a slutty outfit",
 		{
-			name: "Long, huge dildo",
-			value: "long, huge dildo",
-			get requirements() { return V.boughtItem.toys.dildos === 1; }
+			name: "Slutty outfit",
+			exposure: 2
 		}
 	],
-
-	vaginalAttachments: [
-		{name: "None", value: "none"},
+	["spats and a tank top",
 		{
-			name: "Vibrating attachment",
-			value: "vibrator",
-			get requirements() { return V.boughtItem.toys.vaginalAttachments === 1; }
-		},
+			name: "Spats and a tank top",
+			exposure: 0
+		}
+	],
+	["a string bikini",
 		{
-			name: "Smart vibrating attachment",
-			value: "smart vibrator",
-			get requirements() { return V.boughtItem.toys.smartVaginalAttachments === 1; }
+			name: "String bikini",
+			exposure: 3
 		}
 	],
-
-	dickAccessories: [
-		{name: "None", value: "none"},
+	["a succubus outfit",
 		{
-			name: "Bullet vibrator",
-			value: "bullet vibrator"
-		},
+			name: "Succubus costume",
+			exposure: 3
+		}
+	],
+	["slutty business attire",
 		{
-			name: "Smart bullet vibrator",
-			value: "smart bullet vibrator",
-			get requirements() { return V.boughtItem.toys.smartVibes === 1; }
+			name: "Suit (slutty)",
+			exposure: 2,
 		}
 	],
 
-	buttplugs: [
-		{
-			name: "None",
-			value: "none"
-		},
+	/*
+	["choosing her own clothes",
+{
+		name: "Let them choose",
+	}
+],
+	*/
+	["a halter top dress",
+		{
+			name: "Haltertop dress",
+			exposure: 0
+		}
+	],
+	["a slave gown",
 		{
-			name: "Standard plug",
-			value: "plug"
-		},
+			name: "Slave gown",
+			exposure: 0
+		}
+	],
+	["chains",
 		{
-			name: "Long plug",
-			value: "long plug",
-			get requirements() { return V.boughtItem.toys.buttPlugs === 1; }
-		},
+			name: "Chains",
+			fs: "FSDegradationist",
+			get requirements() { return V.boughtItem.clothing.chains === 1; },
+			exposure: 3,
+			harsh: true
+		}
+	],
+	["no clothing",
 		{
-			name: "Large plug",
-			value: "large plug"
-		},
+			name: "Go naked",
+			exposure: 4,
+			harsh: true
+		}
+	],
+	["a penitent nuns habit",
 		{
-			name: "Long, large plug",
-			value: "long, large plug",
-			get requirements() { return V.boughtItem.toys.buttPlugs === 1; }
-		},
+			name: "Penitent nun",
+			exposure: 0,
+			harsh: true
+		}
+	],
+	["restrictive latex",
 		{
-			name: "Huge plug",
-			value: "huge plug",
-		},
+			name: "Restrictive latex",
+			exposure: 3
+		}
+	],
+	["shibari ropes",
 		{
-			name: "Long, huge plug",
-			value: "long, huge plug",
-			get requirements() { return V.boughtItem.toys.buttPlugs === 1; }
+			name: "Shibari ropes",
+			exposure: 3,
+			harsh: true
 		}
 	],
+	["uncomfortable straps",
+		{
+			name: "Uncomfortable straps",
+			exposure: 3,
+			harsh: true
+		}
+	]
+]);
+/**
+ * @typedef {object} slaveWear
+ * @property {string} name
+ * @property {FC.FutureSociety} [fs] Automatically unlocked with this FS.
+ * @property {boolean} [requirements]
+ * @property {boolean} [harsh]
+ */
+
+/**
+ * @typedef {Map<string, slaveWear|slaveWearChastity>} slaveWearCategory
+ */
+
+/** @type {Object.<string, slaveWearCategory>} */
+App.Data.slaveWear = {
+	collars: new Map([
+		["stylish leather", {name: "Stylish leather"}],
+		["satin choker", {name: "Satin choker"}],
+		["silk ribbon", {name: "Silken ribbon"}],
+		["heavy gold", {name: "Heavy gold"}],
+		["pretty jewelry", {name: "Pretty jewelry"}],
+		["nice retirement counter",
+			{
+				name: "Nice retirement counter",
+				get requirements() {
+					return V.seeAge === 1;
+				}
+			}
+		],
+		["preg biometrics",
+			{
+				name: "Pregnancy biometrics",
+				get requirements() {
+					return V.seePreg === 1;
+				}
+			}
+		],
+		["bell collar", {name: "Bell"}],
+		["leather with cowbell", {name: "Cowbell"}],
+		["bowtie",
+			{
+				name: "Bowtie collar",
+				fs: "FSGenderFundamentalist",
+				get requirements() {
+					return V.boughtItem.clothing.bunny === 1;
+				}
+			}
+		],
+		["neck tie",
+			{
+				name: "Neck tie",
+				fs: "FSPaternalist",
+				get requirements() {
+					return V.boughtItem.clothing.conservative === 1;
+				}
+			}
+		],
+		["ancient Egyptian",
+			{
+				name: "Ancient Egyptian",
+				fs: "FSEgyptianRevivalist",
+				get requirements() {
+					return V.boughtItem.clothing.egypt === 1;
+				}
+			}
+		],
+		["tight steel",
+			{
+				name: "Tight steel",
+				harsh: true
+			}
+		],
+		["cruel retirement counter",
+			{
+				name: "Cruel retirement counter",
+				get requirements() {
+					return V.seeAge === 1;
+				},
+				harsh: true
+			}
+		],
+		["uncomfortable leather",
+			{
+				name: "Uncomfortable leather",
+				harsh: true
+			}
+		],
+		["shock punishment",
+			{
+				name: "Shock punishment",
+				harsh: true
+			}
+		],
+		["neck corset",
+			{
+				name: "Neck corset",
+				harsh: true
+			}
+		],
+	]),
+
+	faceAccessory: new Map([
+		["porcelain mask", {name: "Porcelain mask"}],
+		["cat ears", {name: "Cat ears"}],
+	]),
 
-	buttplugAttachments: [
-		{name: "None", value: "none"},
-		{name: "Tail", value: "tail", get requirements() { return V.boughtItem.toys.buttPlugTails === 1; }},
-		{name: "Fox tail", value: "fox tail", get requirements() { return V.boughtItem.toys.buttPlugTails === 1; }},
-		{name: "Cat tail", value: "cat tail", get requirements() { return V.boughtItem.toys.buttPlugTails === 1; }},
-		{name: "Cow tail", value: "cow tail", get requirements() { return V.boughtItem.toys.buttPlugTails === 1; }}
-	],
-	/**
-	 * @typedef {object} slaveWearChastity
-	 * @property {string} name
-	 * @property {string} value
-	 * @property {object} updateSlave
-	 * @property {string} [fs]
-	 */
+	mouthAccessory: new Map([
+		["ball gag", {name: "Ball gag"}],
+		["bit gag", {name: "Bit gag"}],
+		["ring gag", {name: "Ring gag"}],
+		["massive dildo gag",
+			{
+				name: "Massive dildo gag",
+				get requirements() {
+					return V.boughtItem.toys.gags === 1;
+				}
+			}
+		],
+		["dildo gag", {name: "Dildo gag"}
+		],
+	]),
+
+	shoes: new Map([
+		["none", {name: "Barefoot"}],
+		["flats", {name: "Flats"}],
+		["heels", {name: "Heels"}],
+		["pumps", {name: "Pumps"}],
+		["boots", {name: "Thigh boots"}],
+		["extreme heels", {name: "Painfully extreme heels"}],
+		["platform shoes",
+			{
+				name: "Platforms",
+				fs: "FSStatuesqueGlorification",
+				get requirements() {
+					return (V.boughtItem.shoes.heels === 1);
+				}
+			}
+		],
+		["platform heels",
+			{
+				name: "Platform heels",
+				fs: "FSStatuesqueGlorification",
+				get requirements() {
+					return (V.boughtItem.shoes.heels === 1);
+				}
+			}
+		],
+		["extreme platform heels",
+			{
+				name: "Painfully extreme platform heels",
+				fs: "FSStatuesqueGlorification",
+				get requirements() {
+					return (V.boughtItem.shoes.heels === 1);
+				}
+			}
+		],
+	]),
 
-	/** @type {Array<slaveWearChastity>} */
-	chastityDevices: [
-		// '.value' must be a string, so using update slave so I can update multiple values.
+	bellyAccessories: new Map([
+		["none", {name: "None"}],
+		["a corset", {name: "Tight corset"}],
+		["an extreme corset", {name: "Extreme corset"}],
+		["a support band", {name: "Supportive band"}],
+		["a small empathy belly",
+			{
+				name: "1st Trimester belly",
+				fs: "FSRepopulationFocus",
+				get requirements() {
+					return V.boughtItem.clothing.belly === 1;
+				}
+			}
+		],
+		["a medium empathy belly",
+			{
+				name: "2nd Trimester belly",
+				fs: "FSRepopulationFocus",
+				get requirements() {
+					return V.boughtItem.clothing.belly === 1;
+				}
+			}
+		],
+		["a large empathy belly",
+			{
+				name: "3rd Trimester belly",
+				fs: "FSRepopulationFocus",
+				get requirements() {
+					return V.boughtItem.clothing.belly === 1;
+				}
+			}
+		],
+		["a huge empathy belly",
+			{
+				name: "3rd Trimester twins belly",
+				fs: "FSRepopulationFocus",
+				get requirements() {
+					return V.boughtItem.clothing.belly === 1;
+				}
+			}
+		]
+	]),
+
+	vaginalAccessories: new Map([
+		["none", {name: "None"}],
+		["bullet vibrator", {name: "Bullet vibrator"}],
+		["smart bullet vibrator",
+			{
+				name: "Smart bullet vibrator",
+				get requirements() {
+					return V.boughtItem.toys.smartVibes === 1;
+				}
+			}
+		],
+		["dildo", {name: "Dildo"}],
+		["long dildo",
+			{
+				name: "Long dildo",
+				get requirements() {
+					return V.boughtItem.toys.dildos === 1;
+				}
+			}
+		],
+		["large dildo", {name: "Large dildo"}],
+		["long, large dildo",
+			{
+				name: "Long, large dildo",
+				get requirements() {
+					return V.boughtItem.toys.dildos === 1;
+				}
+			}
+		],
+		["huge dildo",
+			{
+				name: "Huge dildo",
+				get requirements() {
+					return V.boughtItem.toys.dildos === 1;
+				}
+			}
+		],
+		["long, huge dildo",
+			{
+				name: "Long, huge dildo",
+				get requirements() {
+					return V.boughtItem.toys.dildos === 1;
+				}
+			}
+		]
+	]),
+
+	vaginalAttachments: new Map([
+		["none", {name: "None"}],
+		["vibrator",
+			{
+				name: "Vibrating attachment",
+				get requirements() {
+					return V.boughtItem.toys.vaginalAttachments === 1;
+				}
+			}
+		],
+		["smart vibrator",
+			{
+				name: "Smart vibrating attachment",
+				get requirements() {
+					return V.boughtItem.toys.smartVaginalAttachments === 1;
+				}
+			}
+		]
+	]),
+
+	dickAccessories: new Map([
+		["none", {name: "None"}],
+		["bullet vibrator", {name: "Bullet vibrator"}],
+		["smart bullet vibrator",
+			{
+				name: "Smart bullet vibrator",
+				get requirements() {
+					return V.boughtItem.toys.smartVibes === 1;
+				}
+			}
+		]
+	]),
+
+	buttplugs: new Map([
+		["none", {name: "None"}],
+		["plug", {name: "Standard plug"}],
+		["long plug",
+			{
+				name: "Long plug",
+				get requirements() {
+					return V.boughtItem.toys.buttPlugs === 1;
+				}
+			}
+		],
+		["large plug", {name: "Large plug"}],
+		["long, large plug",
+			{
+				name: "Long, large plug",
+				get requirements() {
+					return V.boughtItem.toys.buttPlugs === 1;
+				}
+			}
+		],
+		["huge plug", {name: "Huge plug"}],
+		["long, huge plug",
+			{
+				name: "Long, huge plug",
+				get requirements() {
+					return V.boughtItem.toys.buttPlugs === 1;
+				}
+			}
+		]
+	]),
+
+	buttplugAttachments: new Map([
+		["none", {name: "None"}],
+		["tail",
+			{
+				name: "Tail",
+				get requirements() {
+					return V.boughtItem.toys.buttPlugTails === 1;
+				}
+			}
+		],
+		["fox tail",
+			{
+				name: "Fox tail",
+				get requirements() {
+					return V.boughtItem.toys.buttPlugTails === 1;
+				}
+			}
+		],
+		["cat tail",
+			{
+				name: "Cat tail",
+				get requirements() {
+					return V.boughtItem.toys.buttPlugTails === 1;
+				}
+			}
+		],
+		["cow tail",
+			{
+				name: "Cow tail",
+				get requirements() {
+					return V.boughtItem.toys.buttPlugTails === 1;
+				}
+			}
+		]
+	]),
+};
+/**
+ * @typedef {object} slaveWearChastity
+ * @property {string} name
+ * @property {string} value
+ * @property {object} updateSlave
+ * @property {FC.FutureSociety} [fs]
+ */
+
+/** @type {Map<string, slaveWearChastity>} */
+App.Data.slaveWear.chastityDevices = new Map([
+	// '.value' must be a string, so using update slave so I can update multiple values.
+	["none",
 		{
 			name: "None",
-			value: "none",
 			updateSlave: {
 				choosesOwnChastity: 0,
 				chastityAnus: 0,
 				chastityPenis: 0,
 				chastityVagina: 0
 			},
-		},
+		}
+	],
+	["anal chastity",
 		{
 			name: "Anal chastity",
-			value: "anal chastity",
 			updateSlave: {
 				choosesOwnChastity: 0,
 				chastityAnus: 1,
 				chastityPenis: 0,
 				chastityVagina: 0
 			}
-		},
+		}
+	],
+	["chastity belt",
 		{
 			name: "Chastity belt",
-			value: "chastity belt",
 			updateSlave: {
 				choosesOwnChastity: 0,
 				chastityAnus: 0,
 				chastityPenis: 0,
 				chastityVagina: 1
 			},
-		},
+		}
+	],
+	["combined chastity belt",
 		{
 			name: "Combined chastity belt",
-			value: "combined chastity belt",
 			updateSlave: {
 				choosesOwnChastity: 0,
 				chastityAnus: 1,
 				chastityPenis: 0,
 				chastityVagina: 1
 			},
-		},
+		}
+	],
+	["chastity cage",
 		{
 			name: "Chastity cage",
-			value: "chastity cage",
 			updateSlave: {
 				choosesOwnChastity: 0,
 				chastityAnus: 0,
 				chastityPenis: 1,
 				chastityVagina: 0
 			},
-		},
+		}
+	],
+	["combined chastity cage",
 		{
 			name: "Combined chastity cage",
-			value: "combined chastity cage",
 			updateSlave: {
 				choosesOwnChastity: 0,
 				chastityAnus: 1,
 				chastityPenis: 1,
 				chastityVagina: 0
 			},
-		},
+		}
+	],
+	["genital chastity",
 		{
 			name: "Genital chastity",
-			value: "genital chastity",
 			updateSlave: {
 				choosesOwnChastity: 0,
 				chastityAnus: 0,
 				chastityPenis: 1,
 				chastityVagina: 1
 			},
-		},
+		}
+	],
+	["full chastity",
 		{
 			name: "Full chastity",
-			value: "full chastity",
 			updateSlave: {
 				choosesOwnChastity: 0,
 				chastityAnus: 1,
 				chastityPenis: 1,
 				chastityVagina: 1
 			},
-		},
+		}
+	],
+	["choose own chastity",
 		{
 			name: "Choose own chastity",
-			value: "choose own chastity",
 			fs: "FSRestart",
 			updateSlave: {
 				choosesOwnChastity: 1
 			},
-		},
+		}
+	],
+	["revoke choosing own chastity",
 		{
 			name: "Revoke choosing own chastity",
-			value: "revoke choosing own chastity",
 			fs: "FSRestart",
 			updateSlave: {
 				choosesOwnChastity: 0
 			},
-		},
-	],
-};
+		}
+	]
+]);
diff --git a/player variables documentation - Pregmod.txt b/player variables documentation - Pregmod.txt
index 4c807878d05c1ed972b4056f57403773e7a1fa2d..1eddbc1385ad5c208599a727f86fa3316b49d45d 100644
--- a/player variables documentation - Pregmod.txt	
+++ b/player variables documentation - Pregmod.txt	
@@ -91,6 +91,10 @@ Your career before becoming owner
 "rising star"
 "celebrity"
 
+"script kiddy"
+"hacker"
+"BlackHat"
+
 "child prostitute"
 "prostitute"
 "escort"
@@ -103,10 +107,6 @@ Your career before becoming owner
 "hoodlum"
 "gang"
 
-"script kiddy"
-"hacker"
-"BlackHat"
-
 "arcology owner"
 
 rumor:
diff --git a/sanityCheck.sh b/sanityCheck.sh
index 432ed76ab3ae7566992ed9361a46220bafe6db4a..cbe5b51291def7d2035d9bdc930dd0bc100dfa10 100755
--- a/sanityCheck.sh
+++ b/sanityCheck.sh
@@ -40,7 +40,7 @@ $GREP -e "<<.*[(][^<>)]*[(][^<>)]*)\?[^<>)]*>>" -- "src/*" | myprint "MissingClo
 # Check for too many >>>.  e.g.: <</if>>>
 $GREP "<<[^<>]*[<>]\?[^<>]*>>>" -- "src/*.tw" | myprint "TooManyAngleBrackets"
 # Check for wrong capitalization on 'activeslave' and other common typos
-$GREP -e "\$act" --and --not -e "\$\(activeSlave\|activeChild\|activeArcology\|activeOrgan\|activeLimbs\|activeUnits\|activeLurcher\|active.\)" -- "src/*" | myprint "WrongCapitalization"
+$GREP -e "\$act" --and --not -e "\$\(activeSlave\|activeChild\|activeArcology\|activeOrgan\|activeLimbs\|activeLurcher\|active.\)" -- "src/*" | myprint "WrongCapitalization"
 # Check for strange spaces e.g.  $slaves[$i]. lips
 $GREP "\$slaves\[\$i\]\. " -- 'src/*' | myprint "MissingPropertyAfterSlaves"
 # Check using refreshmentType instead of refreshment
diff --git a/src/002-config/fc-version.js b/src/002-config/fc-version.js
index 94bbfb53d2899effb9214edd17e2c244f9762b7c..8b0e2e6e9c100f67e366ad226e2021756dcb5d7d 100644
--- a/src/002-config/fc-version.js
+++ b/src/002-config/fc-version.js
@@ -1,6 +1,6 @@
 App.Version = {
 	base: "0.10.7.1", // The vanilla version the mod is based off of, this should never be changed.
-	pmod: "3.8.2",
+	pmod: "3.8.3",
 	commitHash: null,
-	release: 1111 // When getting close to 2000,  please remove the check located within the onLoad() function defined at line five of src/js/eventHandlers.js.
+	release: 1112 // When getting close to 2000,  please remove the check located within the onLoad() function defined at line five of src/js/eventHandlers.js.
 };
diff --git a/src/002-config/mousetrapConfig.js b/src/002-config/mousetrapConfig.js
index da2641fb38a03b0b3aae3041456e9e0b7a941f50..dd39ff0c3d8b77d5ca4062e99907c29746b1c5b6 100644
--- a/src/002-config/mousetrapConfig.js
+++ b/src/002-config/mousetrapConfig.js
@@ -255,11 +255,43 @@ App.UI.Hotkeys = (function() {
 		}
 	}
 
+	function settingsPage() {
+		const f = document.createDocumentFragment();
+
+		App.UI.DOM.appendNewElement("h1", f, "Hotkey Settings");
+
+		const p = document.createElement("p");
+		const ul = document.createElement("ul");
+
+		let li = document.createElement("li");
+		li.append("On keyboard layouts other than the ");
+		const a = document.createElement("a");
+		a.href = "https://en.wikipedia.org/wiki/File:KB_United_States.svg";
+		a.target = "_blank";
+		a.append("US-QWERTY layout");
+		li.append(a,
+			"there may be keys or combinations of keys where the recorded key is different from the key used to listen to key events. You will have to find these keys yourself through trial and error.");
+		ul.append(li);
+
+		App.UI.DOM.appendNewElement("li", ul, "Custom hotkeys are browser specific and are not part of your save.");
+
+		li = document.createElement("li");
+		li.append("While we try not to overwrite browser or OS level key combinations it is possible to do so with custom hotkeys. This also means that during recording of custom hotkeys no browser or OS level key combinations are available. There are however keys that cannot be overwritten, the ",
+			App.UI.DOM.makeElement("code", "Win key"), " on Windows is an example for this.");
+		ul.append(li);
+
+		p.append(ul);
+		f.append(p);
+
+		f.append(settingsMenu());
+		return f;
+	}
+
 	return {
 		add: addDefault,
 		hotkeys: hotkeysForAction,
 		init: init,
-		settings: settingsMenu,
+		settings: settingsPage,
 	};
 })();
 
diff --git a/src/003-assets/CSS/gridTemplates.css b/src/003-assets/CSS/gridTemplates.css
index 87763df8e8ace21100c398ba5f1789e5a3bec787..bdc2adf2e7f4ce6c1b970d3059b45c2dcb7cf382 100644
--- a/src/003-assets/CSS/gridTemplates.css
+++ b/src/003-assets/CSS/gridTemplates.css
@@ -24,15 +24,16 @@ div.eyeContainer {
 	grid-template-columns: 80px 50px 70px 50px;
 }
 
-div.buyProsthetics {
+div.buy-prosthetics {
 	display: grid;
-	grid-template-columns: 300px 140px 150px 150px;
+	grid-template-columns: repeat(4, max-content);
+	grid-column-gap: 40px;
 }
-div.buyProsthetics div.full {
+div.buy-prosthetics div.full {
 	grid-column-start: 2;
 	grid-column-end: 5;
 }
-div.buyProsthetics div.research {
+div.buy-prosthetics div.research {
 	grid-column-start: 3;
 	grid-column-end: 5;
 	text-align: center;
diff --git a/src/004-base/domPassage.js b/src/004-base/domPassage.js
new file mode 100644
index 0000000000000000000000000000000000000000..441a8a87ef71ae7eaec796f7b57030bc4ce44811
--- /dev/null
+++ b/src/004-base/domPassage.js
@@ -0,0 +1,26 @@
+/**
+ * A pure DOM Passage, the SugarCube Wikifier never gets invoked.
+ */
+App.DomPassage = class extends Passage {
+	/**
+	 * @param {string} title
+	 * @param {function():DocumentFragment|function():HTMLElement} callback
+	 * @param {string[]} tags
+	 */
+	constructor(title, callback, tags = []) {
+		super(title, {
+			hasAttribute: a => a === "tags",
+			getAttribute: () => tags.join(" ")
+		});
+		this.callback = callback;
+
+		Story.add(this);
+	}
+
+	/**
+	 * @returns {DocumentFragment|HTMLElement}
+	 */
+	render() {
+		return this.callback();
+	}
+};
diff --git a/src/005-passages/options.js b/src/005-passages/options.js
new file mode 100644
index 0000000000000000000000000000000000000000..ec6cf6a86d09225e9cc68b31c654cfde8b48b2de
--- /dev/null
+++ b/src/005-passages/options.js
@@ -0,0 +1,59 @@
+new App.DomPassage("Options",
+	() => {
+		if (lastVisited("Slave Interact") === 1) {
+			V.storedLink = "Slave Interact";
+		} else {
+			V.storedLink = "Main";
+		}
+
+		V.nextButton = "Back";
+		V.nextLink = V.storedLink;
+		V.encyclopedia = "How to Play";
+
+		return App.UI.optionsPassage();
+	}, ["jump-to-safe", "jump-from-safe"]
+);
+
+new App.DomPassage("Description Options",
+	() => {
+		V.nextButton = "Back";
+		if (V.storedLink !== "Slave Interact") {
+			if (lastVisited("Slave Interact") === 1) {
+				V.storedLink = "Slave Interact";
+			} else {
+				V.storedLink = "Options";
+			}
+		}
+		V.nextLink = V.storedLink;
+
+		return App.UI.descriptionOptions();
+	},
+	["jump-to-safe", "jump-from-safe"]
+);
+
+new App.DomPassage("Summary Options",
+	() => {
+		V.nextButton = "Back";
+		if (V.storedLink !== "Slave Interact" && V.storedLink !== "Main") {
+			if (lastVisited("Main") === 1) {
+				V.storedLink = "Main";
+			} else {
+				V.storedLink = "Options";
+			}
+		}
+		V.nextLink = V.storedLink;
+		V.passageSwitchHandler = App.EventHandlers.optionsChanged;
+
+		return App.UI.summaryOptions();
+	},
+	["jump-to-safe", "jump-from-safe"]
+);
+
+new App.DomPassage("Hotkey Settings",
+	() => {
+		V.nextButton = "Back";
+		V.nextLink = "Main";
+
+		return App.UI.Hotkeys.settings();
+	}, ["jump-to-safe", "jump-from-safe"]
+);
diff --git a/src/Mods/SecExp/SecExpBackwardCompatibility.tw b/src/Mods/SecExp/SecExpBackwardCompatibility.tw
deleted file mode 100644
index e0d720c1eb0d5ca07480f07b2676534d96483e26..0000000000000000000000000000000000000000
--- a/src/Mods/SecExp/SecExpBackwardCompatibility.tw
+++ /dev/null
@@ -1,4 +0,0 @@
-:: SecExpBackwardCompatibility [nobr]
-
-<<run App.SecExp.generalBC()>> /* base stats */
-<<fixBrokenStats>> /* recalculation widgets */
\ No newline at end of file
diff --git a/src/Mods/SecExp/attackHandler.tw b/src/Mods/SecExp/attackHandler.tw
index 38c12b64779114bfe94dc2e46bdba3155c97385a..00a77c7bad8aa0f7657dee2f355749c3874a8732 100644
--- a/src/Mods/SecExp/attackHandler.tw
+++ b/src/Mods/SecExp/attackHandler.tw
@@ -85,9 +85,11 @@
 		<<elseif $SecExp.core.authority >= 15000>>
 			<<set _slaveMod += 0.25>>
 		<</if>>
-		<<if $PC.career == "escort" || $PC.career == "servant">>
+		<<if $PC.career == "escort" || $PC.career == "prostitute" || $PC.career == "servant">>
 			<<set _slaveMod += 0.10>>
-		<<elseif $PC.career == "slaver">>
+		<<elseif $PC.career == "child prostitute" && $PC.visualAge >= $minimumSlaveAge>>
+			<<set _slaveMod += 0.05>>
+		<<elseif $PC.career == "slaver" || $PC.career == "slave overseer" || $PC.career == "slave tender">>
 			<<set _slaveMod -= 0.10>>
 		<</if>>
 		<<if $rep <= 2500 && $rep > 1000>>
@@ -820,24 +822,24 @@
 		<<set _defense += _unit.defense * _defMod>>
 		<<set _hp += _unit.hp>>
 	<</if>>
-	<<for _i = 0; _i < $militiaUnits.length; _i++>>
-		<<if $militiaUnits[_i].isDeployed == 1>>
+	<<for _i = 0; _i < $SecExp.units.militia.squads.length; _i++>>
+		<<if $SecExp.units.militia.squads[_i].isDeployed == 1>>
 			<<set _unit = App.SecExp.getUnit("Militia", _i)>>
 			<<set _attack += _unit.attack * _atkMod>>
 			<<set _defense += _unit.defense * _defMod>>
 			<<set _hp += _unit.hp>>
 		<</if>>
 	<</for>>
-	<<for _i = 0; _i < $slaveUnits.length; _i++>>
-		<<if $slaveUnits[_i].isDeployed == 1>>
+	<<for _i = 0; _i < $SecExp.units.slaves.squads.length; _i++>>
+		<<if $SecExp.units.slaves.squads[_i].isDeployed == 1>>
 			<<set _unit = App.SecExp.getUnit("Slaves", _i)>>
 			<<set _attack += _unit.attack * _atkMod>>
 			<<set _defense += _unit.defense * _defMod>>
 			<<set _hp += _unit.hp>>
 		<</if>>
 	<</for>>
-	<<for _i = 0; _i < $mercUnits.length; _i++>>
-		<<if $mercUnits[_i].isDeployed == 1>>
+	<<for _i = 0; _i < $SecExp.units.mercs.squads.length; _i++>>
+		<<if $SecExp.units.mercs.squads[_i].isDeployed == 1>>
 			<<set _unit = App.SecExp.getUnit("Mercs", _i)>>
 			<<set _attack += _unit.attack * _atkMod>>
 			<<set _defense += _unit.defense * _defMod>>
@@ -877,12 +879,12 @@
 
 	<<set _moraleTroopMod = Math.clamp(App.SecExp.battle.troopCount() / 100,1,5)>>
 
-	<<set _morale = (App.SecExp.BaseDroneUnit.morale * $secBots.isDeployed + App.SecExp.BaseMilitiaUnit.morale * _militiaMod * App.SecExp.battle.deployedUnits('militia') + App.SecExp.BaseSlaveUnit.morale * _slaveMod * App.SecExp.battle.deployedUnits('slaves') + App.SecExp.BaseMercUnit.morale * _mercMod * App.SecExp.battle.deployedUnits('mercs') + App.SecExp.BaseSpecialForcesUnit.morale * $SecExp.war.deploySF * _SFMod) / ($secBots.isDeployed + App.SecExp.battle.deployedUnits('militia') + App.SecExp.battle.deployedUnits('slaves') + App.SecExp.battle.deployedUnits('mercs') + $SecExp.war.deploySF)>>
+	<<set _morale = (App.SecExp.BaseDroneUnit.morale * $SecExp.units.bots.isDeployed + App.SecExp.BaseMilitiaUnit.morale * _militiaMod * App.SecExp.battle.deployedUnits('militia') + App.SecExp.BaseSlaveUnit.morale * _slaveMod * App.SecExp.battle.deployedUnits('slaves') + App.SecExp.BaseMercUnit.morale * _mercMod * App.SecExp.battle.deployedUnits('mercs') + App.SecExp.BaseSpecialForcesUnit.morale * $SecExp.war.deploySF * _SFMod) / ($SecExp.units.bots.isDeployed + App.SecExp.battle.deployedUnits('militia') + App.SecExp.battle.deployedUnits('slaves') + App.SecExp.battle.deployedUnits('mercs') + $SecExp.war.deploySF)>>
 	<<if $SecExp.buildings.barracks>>
 		<<set _morale = _morale + _morale * $SecExp.buildings.barracks.luxury * 0.05>>	/* barracks bonus */
 	<</if>>
 	<<set _morale *= _moraleTroopMod>>
-	<<set _baseHp = (App.SecExp.BaseDroneUnit.hp * $secBots.isDeployed + App.SecExp.BaseMilitiaUnit.hp * App.SecExp.battle.deployedUnits('militia') + App.SecExp.BaseSlaveUnit.hp * App.SecExp.battle.deployedUnits('slaves') + App.SecExp.BaseMercUnit.hp * App.SecExp.battle.deployedUnits('mercs') + App.SecExp.BaseSpecialForcesUnit.hp * $SecExp.war.deploySF) / ($secBots.isDeployed + App.SecExp.battle.deployedUnits('militia') + App.SecExp.battle.deployedUnits('slaves') + App.SecExp.battle.deployedUnits('mercs') + $SecExp.war.deploySF)>>
+	<<set _baseHp = (App.SecExp.BaseDroneUnit.hp * $SecExp.units.bots.isDeployed + App.SecExp.BaseMilitiaUnit.hp * App.SecExp.battle.deployedUnits('militia') + App.SecExp.BaseSlaveUnit.hp * App.SecExp.battle.deployedUnits('slaves') + App.SecExp.BaseMercUnit.hp * App.SecExp.battle.deployedUnits('mercs') + App.SecExp.BaseSpecialForcesUnit.hp * $SecExp.war.deploySF) / ($SecExp.units.bots.isDeployed + App.SecExp.battle.deployedUnits('militia') + App.SecExp.battle.deployedUnits('slaves') + App.SecExp.battle.deployedUnits('mercs') + $SecExp.war.deploySF)>>
 
 	/* calculates enemy army stats */
 	<<if $week <= 30>>
diff --git a/src/Mods/SecExp/attackOptions.tw b/src/Mods/SecExp/attackOptions.tw
index 8c358d9abc96fd3b6c62da750be4888a7de0e294..2cea6dd306e743612ec7b3df962245c957db6754 100644
--- a/src/Mods/SecExp/attackOptions.tw
+++ b/src/Mods/SecExp/attackOptions.tw
@@ -93,7 +93,7 @@
 		<br>Old world expeditions are usually sent to secure resources and trade routes for their nation or, more often, to provide their citizens with a bogeyman to be scared of. They are usually decently equipped and trained, which together with their generous numbers make them a tough nut to crack. However, they often lack in mobility.
 	<</if>>
 <</if>>
-<br><br>__Recon__:
+<br><br>__Recon__: (AO: $terrain)
 <<set _estimatedMen = $SecExp.war.estimatedMen>>
 <<set _expectedEquip = $SecExp.war.expectedEquip>>
 <br>It seems your troops and your adversary will fight
@@ -241,23 +241,11 @@ approximately <strong>_estimatedMen men</strong> are coming, they seem to be
 	<<link "Restore saved roster" "attackOptions">>
 		<<for _i = 0; _i < $SecExp.battles.lastSelection.length; _i++>>
 			<<if $SecExp.battles.lastSelection[_i] == -1>>
-				<<set $secBots.isDeployed = 1>>
+				<<set $SecExp.units.bots.isDeployed = 1>>
 			<<else>>
-				<<for _unit range $militiaUnits>>
-					<<if $SecExp.battles.lastSelection[_i] === _unit.ID>>
-						<<set _unit.isDeployed = 1>>
-						<<break>>
-					<</if>>
-				<</for>>
-				<<for _unit range $slaveUnits>>
-					<<if $SecExp.battles.lastSelection[_i] === _unit.ID>>
-						<<set _unit.isDeployed = 1>>
-						<<break>>
-					<</if>>
-				<</for>>
-				<<for _unit range  $mercUnits>>
-					<<if $SecExp.battles.lastSelection[_i] === _unit.ID>>
-						<<set _unit.isDeployed = 1>>
+				<<for _squad range App.SecExp.unit.humanSquads()>>
+					<<if $SecExp.battles.lastSelection[_i] === _squad.ID>>
+						<<set _squad.isDeployed = 1>>
 						<<break>>
 					<</if>>
 				<</for>>
@@ -275,19 +263,9 @@ approximately <strong>_estimatedMen men</strong> are coming, they seem to be
 			<<set _tmp = -1>>
 			<<set $SecExp.battles.lastSelection.push(_tmp)>>
 		<</if>>
-		<<for _unit range $militiaUnits>>
-			<<if _unit.isDeployed === 1>>
-				<<set $SecExp.battles.lastSelection.push(_unit.ID)>>
-			<</if>>
-		<</for>>
-		<<for _unit range $slaveUnits>>
-			<<if _unit.isDeployed === 1>>
-				<<set $SecExp.battles.lastSelection.push(_unit.ID)>>
-			<</if>>
-		<</for>>
-		<<for _unit range  $mercUnits>>
-			<<if _unit.isDeployed === 1>>
-				<<set $SecExp.battles.lastSelection.push(_unit.ID)>>
+		<<for _squad range App.SecExp.unit.humanSquads()>>
+			<<if _squad.isDeployed === 1>>
+				<<set $SecExp.battles.lastSelection.push(_squad.ID)>>
 			<</if>>
 		<</for>>
 		<<set $SecExp.war.saveValid = 1, $SecExp.battles.saved.commander = $SecExp.war.commander, $SecExp.battles.saved.sfSupport = $SecExp.war.deploySF>>
@@ -298,15 +276,9 @@ approximately <strong>_estimatedMen men</strong> are coming, they seem to be
 |
 <<if App.SecExp.battle.deployedUnits() > 0>>
 	<<link "Clear current roster" "attackOptions">>
-		<<set $secBots.isDeployed = 0>>
-		<<for _unit range $militiaUnits>>
-			<<set _unit.isDeployed = 0>>
-		<</for>>
-		<<for _unit range $slaveUnits>>
-			<<set _unit.isDeployed = 0>>
-		<</for>>
-		<<for _unit range $mercUnits>>
-			<<set _unit.isDeployed = 0>>
+		<<set $SecExp.units.bots.isDeployed = 0>>
+		<<for _squad range App.SecExp.unit.humanSquads()>>
+			<<set _squad.isDeployed = 0>>
 		<</for>>
 		<<set $SecExp.war.saveValid = 0>>
 	<</link>>
@@ -324,15 +296,15 @@ approximately <strong>_estimatedMen men</strong> are coming, they seem to be
 <<if App.SecExp.battle.deployableUnits() > 0>>
 	With your current readiness level you can send an additional <strong><<print App.SecExp.battle.deployableUnits()>></strong> units.
 <</if>>
-<<replenishAllUnits>>
-<<set _mL = $militiaUnits.length>>
-<<set _sL = $slaveUnits.length>>
-<<set _meL = $mercUnits.length>>
+<<includeDOM App.SecExp.unit.replenishAll()>>
+<<set _mL = $SecExp.units.militia.squads.length>>
+<<set _sL = $SecExp.units.slaves.squads.length>>
+<<set _meL = $SecExp.units.mercs.squads.length>>
 
 <<run App.UI.tabBar.handlePreSelectedTab($tabChoice.Options)>>
 
 <<if App.SecExp.battle.deployableUnits() === 0>> <strong>Unit roster full.</strong> <</if>>
-<br> <<includeDOM App.SecExp.deployUnitMenu($secBots, "bots")>>
+<br> <<includeDOM App.SecExp.unit.deployMenu($SecExp.units.bots, "bots")>>
 <<if _mL > 0>>
 	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'militia')" id="tab militia">Militia: (_mL)</button>
 <</if>>
@@ -346,21 +318,21 @@ approximately <strong>_estimatedMen men</strong> are coming, they seem to be
 <div id="militia" class="tab-content">
 	<div class="content">
 		<<for _i = 0; _i < _mL; _i++>>
-			<<includeDOM App.SecExp.deployUnitMenu($militiaUnits[_i], "militia", _i)>>
+			<<includeDOM App.SecExp.unit.deployMenu($SecExp.units.militia.squads[_i], "militia", _i)>>
 		<</for>>
 	</div>
 </div>
 <div id="slaves" class="tab-content">
 	<div class="content">
 		<<for _i = 0; _i < _sL; _i++>>
-			<<includeDOM App.SecExp.deployUnitMenu($slaveUnits[_i], "slaves", _i)>>
+			<<includeDOM App.SecExp.unit.deployMenu($SecExp.units.slaves.squads[_i], "slaves", _i)>>
 		<</for>>
 	</div>
 </div>
 <div id="mercs" class="tab-content">
 	<div class="content">
 		<<for _i = 0; _i < _meL; _i++>>
-			<<includeDOM App.SecExp.deployUnitMenu($mercUnits[_i], "mercs", _i)>>
+			<<includeDOM App.SecExp.unit.deployMenu($SecExp.units.mercs.squads[_i], "mercs", _i)>>
 		<</for>>
 	</div>
-</div>
+</div>
\ No newline at end of file
diff --git a/src/Mods/SecExp/attackReport.tw b/src/Mods/SecExp/attackReport.tw
index 066f182b2c11dba6cdce401a346cf6e0daae7ba8..70533971f5f184b21495ea550d13412b251706b3 100644
--- a/src/Mods/SecExp/attackReport.tw
+++ b/src/Mods/SecExp/attackReport.tw
@@ -1509,13 +1509,7 @@
 /* resets variables */
 <<set $attackThisWeek = 0>>
 <<set $majorBattle = 0>>
-<<set $secBots.isDeployed = 0>>
-<<for _i = 0; _i < $militiaUnits.length; _i++>>
-	<<set $militiaUnits[_i].isDeployed = 0>>
-<</for>>
-<<for _i = 0; _i < $slaveUnits.length; _i++>>
-	<<set $slaveUnits[_i].isDeployed = 0>>
-<</for>>
-<<for _i = 0; _i < $mercUnits.length; _i++>>
-	<<set $mercUnits[_i].isDeployed = 0>>
+<<set $SecExp.units.bots.isDeployed = 0>>
+<<for _squad range App.SecExp.unit.humanSquads()>>
+	<<set _squad.isDeployed = 0>>
 <</for>>
\ No newline at end of file
diff --git a/src/Mods/SecExp/buildings/secBarracks.tw b/src/Mods/SecExp/buildings/secBarracks.tw
index 3b5378c87a25ea870f4221273f144138e4aff72a..7a4a5b2b715a5bfd3e9a342a2736e9cc68b6ac4a 100644
--- a/src/Mods/SecExp/buildings/secBarracks.tw
+++ b/src/Mods/SecExp/buildings/secBarracks.tw
@@ -133,7 +133,7 @@ While this a sore sight for many citizens of $arcologies[0].name, the barracks s
 <</if>>
 
 <hr>__Units__<br>
-Your current maximum number of units is <<print App.SecExp.battle.maxUnits()>> (<<print num($secBots.maxTroops+(50*App.SecExp.battle.maxUnits()))>> troops), <<print App.SecExp.battle.activeUnits()>> (<<print num($secBots.troops+App.SecExp.Manpower.employedOverall)>> troops) are active and <<print (2 * App.SecExp.battle.deploySpeed())>> units can be deployed. <<if $SecExp.buildings.barracks.luxury > 0>>The barracks provides <<print $SecExp.buildings.barracks.luxury * 5>>% bonus morale when battle occurs.<</if>> <<if $SecExp.buildings.barracks.training > 0>>The training facility will increase the effectiveness of your units with time.<</if>>
+Your current maximum number of units is <<print App.SecExp.battle.maxUnits()>> (<<print num($SecExp.units.bots.maxTroops+(50*App.SecExp.battle.maxUnits()))>> troops), <<print App.SecExp.battle.activeUnits()>> (<<print num($SecExp.units.bots.troops+App.SecExp.Manpower.employedOverall)>> troops) are active and <<print (2 * App.SecExp.battle.deploySpeed())>> units can be deployed. <<if $SecExp.buildings.barracks.luxury > 0>>The barracks provides <<print $SecExp.buildings.barracks.luxury * 5>>% bonus morale when battle occurs.<</if>> <<if $SecExp.buildings.barracks.training > 0>>The training facility will increase the effectiveness of your units with time.<</if>>
 <br>
 <<set _options = new App.UI.OptionsGroup()>>
 <<run _options.addOption("Unit descriptions are", "unitDescriptions", $SecExp.settings)
@@ -142,7 +142,7 @@ Your current maximum number of units is <<print App.SecExp.battle.maxUnits()>> (
 <<if App.SecExp.battle.activeUnits() >= App.SecExp.battle.maxUnits()>>
 	<br>You have reached the maximum number of units. You'll have to disband one or enlarge the barracks before forming a new unit.
 <</if>>
-<<replenishAllUnits>>
+<<includeDOM App.SecExp.unit.replenishAll()>>
 
 <<if $arcologyUpgrade.drones === 0>>
 	You have not yet installed a drone security system in your arcology, you will not be able to form a unit of drones.
@@ -158,51 +158,51 @@ Your current maximum number of units is <<print App.SecExp.battle.maxUnits()>> (
 		<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Bots')" id="tab Bots">Security Drones</button>
 	<</if>>
 	<<if $SecExp.edicts.defense.militia >= 1>>
-		<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Militia')" id="tab Militia">Militia: ($militiaUnits.length)</button>
+		<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Militia')" id="tab Militia">Militia: ($SecExp.units.militia.squads.length)</button>
 	<</if>>
 	<<if $mercenaries >= 1>>
-		<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Mercs')" id="tab Mercs">Mercenaries: ($mercUnits.length)</button>
+		<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Mercs')" id="tab Mercs">Mercenaries: ($SecExp.units.mercs.squads.length)</button>
 	<</if>>
-	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Slaves')" id="tab Slaves">Slaves: ($slaveUnits.length)</button>
+	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Slaves')" id="tab Slaves">Slaves: ($SecExp.units.slaves.squads.length)</button>
 </div>
 <<run App.UI.tabBar.handlePreSelectedTab($tabChoice.secBarracks)>>
 <div id="Bots" class="tab-content">
 	<div class="content">
 		<<set _secBotsCost = 500, _secBotsUpgradeCost = 250>>
 		<<= App.SecExp.getUnit("Bots").describe()>> <br>
-		<<if $secBots.active == 1>>
-			<<if $secBots.maxTroops > $secBots.troops>>
+		<<if $SecExp.units.bots.active == 1>>
+			<<if $SecExp.units.bots.maxTroops > $SecExp.units.bots.troops>>
 				<<link "Replenish the unit" "secBarracks">>
-					<<run cashX(forceNeg(($secBots.maxTroops - $secBots.troops) * _secBotsCost), "securityExpansion")>>
-					<<set $secBots.troops = $secBots.maxTroops>>
+					<<run cashX(forceNeg(($SecExp.units.bots.maxTroops - $SecExp.units.bots.troops) * _secBotsCost), "securityExpansion")>>
+					<<set $SecExp.units.bots.troops = $SecExp.units.bots.maxTroops>>
 				<</link>>
 			<</if>>
-			<<if $secBots.maxTroops < 80>> <br>
+			<<if $SecExp.units.bots.maxTroops < 80>> <br>
 				<<link "Improve the digital control matrix" "secBarracks">>
-					<<set $secBots.maxTroops += 10>>
+					<<set $SecExp.units.bots.maxTroops += 10>>
 					<<run cashX(-5000, "securityExpansion")>>
 				<</link>>
 				Invest in the development of more refined controls for your drones to increase the maximum number of drones in the unit.
 				<br>//Costs <<print cashFormat(5000)>> per upgrade and each will increase the max by 10//
-			<<elseif $SF.Toggle && $SF.Active >= 1 && $secBots.maxTroops < 100 && $SecExp.edicts.SFSupportLevel >= 1>> <br>
+			<<elseif $SF.Toggle && $SF.Active >= 1 && $SecExp.units.bots.maxTroops < 100 && $SecExp.edicts.SFSupportLevel >= 1>> <br>
 				<<link "Refine the drone network with $SF.Lower assistance" "secBarracks">>
-				<<set $secBots.maxTroops += 10>>
-					<<run cashX(forceNeg(5000 + 10 * _secBotsUpgradeCost * $secBots.equip), "securityExpansion")>>
+				<<set $SecExp.units.bots.maxTroops += 10>>
+					<<run cashX(forceNeg(5000 + 10 * _secBotsUpgradeCost * $SecExp.units.bots.equip), "securityExpansion")>>
 				<</link>>
 				Utilize the technological developments made by $SF.Lower to further improve the control matrix of the security drones.
-				<br>//Costs <<print cashFormat(5000 + 10 * _secBotsUpgradeCost * $secBots.equip)>> and will increase the max by 10//
+				<br>//Costs <<print cashFormat(5000 + 10 * _secBotsUpgradeCost * $SecExp.units.bots.equip)>> and will increase the max by 10//
 			<<elseif $SF.Toggle && $SF.Active >= 1 && $SecExp.edicts.SFSupportLevel === 0>>
 				There's little left to improve in the matrix. However support from $SF.Lower might give some more room from improvement, if an assistance contract is signed.
 			<<else>>
 				There's little left to improve in the matrix. Your control systems are at top capacity and won't be able to handle a bigger drone unit.
 			<</if>>
-			<<if $secBots.equip < 3>> <br>
+			<<if $SecExp.units.bots.equip < 3>> <br>
 				<<link "Improve drone weaponry and armor" "secBarracks">>
-					<<set $secBots.equip += 1>>
-					<<run cashX(forceNeg((_secBotsUpgradeCost * $secBots.maxTroops) + 1000), "securityExpansion")>>
+					<<set $SecExp.units.bots.equip += 1>>
+					<<run cashX(forceNeg((_secBotsUpgradeCost * $SecExp.units.bots.maxTroops) + 1000), "securityExpansion")>>
 				<</link>>
 				Invest in better equipment for your drones to increase their battle effectiveness.
-				<br>//Costs <<print cashFormat((_secBotsUpgradeCost * $secBots.maxTroops) + 1000)>> and will increase attack and defense value of the unit by 15% for every upgrade.//
+				<br>//Costs <<print cashFormat((_secBotsUpgradeCost * $SecExp.units.bots.maxTroops) + 1000)>> and will increase attack and defense value of the unit by 15% for every upgrade.//
 			<<else>>
 				<br>Your drones are equipped with top tier weaponry and armor.
 			<</if>>
@@ -211,23 +211,23 @@ Your current maximum number of units is <<print App.SecExp.battle.maxUnits()>> (
 			<</if>>
 		<<else>>
 			<<link "Rebuild the unit" "secBarracks">>
-				<<run cashX(forceNeg(($secBots.maxTroops - $secBots.troops) * _secBotsCost), "securityExpansion")>>
-				<<set $secBots.troops = $secBots.maxTroops>>
-				<<set $secBots.active = 1>>
+				<<run cashX(forceNeg(($SecExp.units.bots.maxTroops - $SecExp.units.bots.troops) * _secBotsUpgradeCost), "securityExpansion")>>
+				<<set $SecExp.units.bots.troops = $SecExp.units.bots.maxTroops>>
+				<<set $SecExp.units.bots.active = 1>>
 			<</link>>
 		<</if>>
 	</div>
 </div>
 <div id="Slaves" class="tab-content">
 	<div class="content">
-		You are free to organize your menial slaves into fighting units. Currently you have <<print num($menials)>> slaves available, while <<print num(App.SecExp.Manpower.employedSlave)>> are already employed as soldiers. During all your battles you lost a total of <<print num($slavesTotalCasualties)>>.
-		<br>Default unit name: <<textbox "$SecExp.defaultNames.slaves" $SecExp.defaultNames.slaves "secBarracks">> |
-		<<if $menials > 0 && App.SecExp.battle.activeUnits() < App.SecExp.battle.maxUnits()>>
+		You are free to organize your menial slaves into fighting units. Currently you have <<print num($menials)>> slaves available, while <<print num(App.SecExp.Manpower.employedSlave)>> are already employed as soldiers. During all your battles you lost a total of <<print num($SecExp.units.slaves.dead)>>.
+		<br>Default unit name: <<textbox "$SecExp.units.slaves.defaultName" $SecExp.units.slaves.defaultName "secBarracks">> |
+		<<if $menials > 0 && App.SecExp.battle.activeUnits() < App.SecExp.battle.maxUnits()>> 
 			<<link "Form a new unit" "secBarracks">>
-				<<set $slaveUnits.push(App.SecExp.generateUnit("slaves"))>>
+				<<set $SecExp.units.slaves.squads.push(App.SecExp.unit.gen("slaves"))>>
 			<</link>> |
 		<</if>>
-		<<includeDOM App.SecExp.bulkUpgradeUnit($slaveUnits)>>
+		<<includeDOM App.SecExp.unit.bulkUpgrade($SecExp.units.slaves.squads)>>
 
 		<<set _popCap = menialPopCap()>>
 		<<set _menialPrice = menialSlaveCost()>>
@@ -249,28 +249,28 @@ Your current maximum number of units is <<print App.SecExp.battle.maxUnits()>> (
 			<</if>>
 		<</if>>
 		<br>
-		<<set _sL = $slaveUnits.length>>
+		<<set _sL = $SecExp.units.slaves.squads.length>>
 		<<for _i = 0; _i < _sL; _i++>>
 			<<capture _i>>
 			<<= App.SecExp.getUnit("Slaves", _i).describe()>> <br>
-			Rename unit <<textbox "$slaveUnits[_i].platoonName" $slaveUnits[_i].platoonName "secBarracks">>
+			Rename unit <<textbox "$SecExp.units.slaves.squads[_i].platoonName" $SecExp.units.slaves.squads[_i].platoonName "secBarracks">>
 			 | <<link "Disband the unit" "secBarracks">>
-				<<set $menials += $slaveUnits[_i].troops>>
-				<<set $slaveUnits.deleteAt(_i)>>
+				<<set $menials += $SecExp.units.slaves.squads[_i].troops>>
+				<<set $SecExp.units.slaves.squads.deleteAt(_i)>>
 			<</link>>
-			<<if $slaveUnits[_i].active == 1>>
-				<<if $slaveUnits[_i].troops < $slaveUnits[_i].maxTroops && $menials > 0>>
+			<<if $SecExp.units.slaves.squads[_i].active == 1>>
+				<<if $SecExp.units.slaves.squads[_i].troops < $SecExp.units.slaves.squads[_i].maxTroops && $menials > 0>>
 					|
 					<<link "Replenish unit" "secBarracks">>
-						<<if $menials >= $slaveUnits[_i].maxTroops - $slaveUnits[_i].troops>>
-							<<set $menials -= $slaveUnits[_i].maxTroops - $slaveUnits[_i].troops>>
-							<<set _expLoss = ($slaveUnits[_i].maxTroops - $slaveUnits[_i].troops) / $slaveUnits[_i].troops>>
-							<<set $slaveUnits[_i].training -= $slaveUnits[_i].training * _expLoss>>
-							<<set $slaveUnits[_i].troops = $slaveUnits[_i].maxTroops>>
+						<<if $menials >= $SecExp.units.slaves.squads[_i].maxTroops - $SecExp.units.slaves.squads[_i].troops>>
+							<<set $menials -= $SecExp.units.slaves.squads[_i].maxTroops - $SecExp.units.slaves.squads[_i].troops>>
+							<<set _expLoss = ($SecExp.units.slaves.squads[_i].maxTroops - $SecExp.units.slaves.squads[_i].troops) / $SecExp.units.slaves.squads[_i].troops>>
+							<<set $SecExp.units.slaves.squads[_i].training -= $SecExp.units.slaves.squads[_i].training * _expLoss>>
+							<<set $SecExp.units.slaves.squads[_i].troops = $SecExp.units.slaves.squads[_i].maxTroops>>
 						<<else>>
-							<<set _expLoss = $menials / $slaveUnits[_i].troops>>
-							<<set $slaveUnits[_i].training -= $slaveUnits[_i].training * _expLoss>>
-							<<set $slaveUnits[_i].troops += $menials>>
+							<<set _expLoss = $menials / $SecExp.units.slaves.squads[_i].troops>>
+							<<set $SecExp.units.slaves.squads[_i].training -= $SecExp.units.slaves.squads[_i].training * _expLoss>>
+							<<set $SecExp.units.slaves.squads[_i].troops += $menials>>
 							<<set $menials = 0>>
 						<</if>>
 					<</link>>
@@ -279,22 +279,22 @@ Your current maximum number of units is <<print App.SecExp.battle.maxUnits()>> (
 				<<if $menials > 0>>
 					|
 					<<link "Reform the unit" "secBarracks">>
-						<<if $menials >= $slaveUnits[_i].maxTroops>>
-							<<set $menials -= $slaveUnits[_i].maxTroops>>
-							<<set $slaveUnits[_i].troops = $slaveUnits[_i].maxTroops>>
-							<<set $slaveUnits[_i].training = 0>>
+						<<if $menials >= $SecExp.units.slaves.squads[_i].maxTroops>>
+							<<set $menials -= $SecExp.units.slaves.squads[_i].maxTroops>>
+							<<set $SecExp.units.slaves.squads[_i].troops = $SecExp.units.slaves.squads[_i].maxTroops>>
+							<<set $SecExp.units.slaves.squads[_i].training = 0>>
 						<<else>>
-							<<set $slaveUnits[_i].troops += $menials>>
+							<<set $SecExp.units.slaves.squads[_i].troops += $menials>>
 							<<set $menials = 0>>
-							<<set $slaveUnits[_i].training = 0>>
+							<<set $SecExp.units.slaves.squads[_i].training = 0>>
 						<</if>>
-						<<set $slaveUnits[_i].active = 1>>
+						<<set $SecExp.units.slaves.squads[_i].active = 1>>
 					<</link>>
 				<</if>>
 			<</if>>
-			| <<includeDOM App.SecExp.bulkUpgradeUnit($slaveUnits[_i])>>
+			| <<includeDOM App.SecExp.unit.bulkUpgrade($SecExp.units.slaves.squads[_i])>>
 			<<if $SecExp.settings.showStats == 1>> <<= App.SecExp.getUnit("Slaves", _i).printStats()>> <</if>>
-			<<includeDOM App.SecExp.humanUnitUpgradeList($slaveUnits[_i])>>
+			<<includeDOM App.SecExp.unit.humanUpgradeList($SecExp.units.slaves.squads[_i])>>
 			<</capture>>
 		<</for>>
 	</div>
@@ -311,62 +311,62 @@ Your current maximum number of units is <<print App.SecExp.battle.maxUnits()>> (
 		<<elseif $SecExp.edicts.defense.militia === 5>>
 			With the adoption of a militarized society, your available manpower has swelled to be <<= num(App.SecExp.militiaCap()*100)>>% of the arcology's citizens population.
 		<</if>>
-		Your current total manpower is <<print num(App.SecExp.Manpower.totalMilitia)>>, of which <<print num(App.SecExp.Manpower.employedMilitia)>> is in active duty. You lost in total <<print num($militiaTotalCasualties)>> citizens, leaving you with <<print num($militiaFreeManpower)>> available citizens.
-		<br>Default unit name: <<textbox "$SecExp.defaultNames.militia" $SecExp.defaultNames.militia "secBarracks">> |
-		<<if $militiaFreeManpower > 0 && App.SecExp.battle.activeUnits() < App.SecExp.battle.maxUnits()>>
+		Your current total manpower is <<print num(App.SecExp.Manpower.totalMilitia)>>, of which <<print num(App.SecExp.Manpower.employedMilitia)>> is in active duty. You lost in total <<print num($SecExp.units.militia.dead)>> citizens, leaving you with <<print num($SecExp.units.militia.free)>> available citizens.
+		<br>Default unit name: <<textbox "$SecExp.units.militia.defaultName" $SecExp.units.militia.defaultName "secBarracks">> |
+		<<if $SecExp.units.militia.free > 0 && App.SecExp.battle.activeUnits() < App.SecExp.battle.maxUnits()>>
 			<<link "Form a new unit" "secBarracks">>
-				<<set $militiaUnits.push(App.SecExp.generateUnit("militia"))>>
+				<<set $SecExp.units.militia.squads.push(App.SecExp.unit.gen("militia"))>>
 			<</link>> |
 		<</if>>
-		<<includeDOM App.SecExp.bulkUpgradeUnit($militiaUnits)>>
+		<<includeDOM App.SecExp.unit.bulkUpgrade($SecExp.units.militia.squads)>>
 
 		<br>
-		<<set _mL = $militiaUnits.length>>
+		<<set _mL = $SecExp.units.militia.squads.length>>
 		<<for _i = 0; _i < _mL; _i++>>
 			<<capture _i>>
 			<<= App.SecExp.getUnit("Militia", _i).describe()>> <br>
-			Rename unit <<textbox "$militiaUnits[_i].platoonName" $militiaUnits[_i].platoonName "secBarracks">>
+			Rename unit <<textbox "$SecExp.units.militia.squads[_i].platoonName" $SecExp.units.militia.squads[_i].platoonName "secBarracks">>
 			 | <<link "Disband the unit" "secBarracks">>
-				<<set $militiaFreeManpower += $militiaUnits[_i].troops>>
-				<<set $militiaUnits.deleteAt(_i)>>
+				<<set $SecExp.units.militia.free += $SecExp.units.militia.squads[_i].troops>>
+				<<set $SecExp.units.militia.squads.deleteAt(_i)>>
 			<</link>>
-			<<if $militiaUnits[_i].active == 1>>
-				<<if $militiaUnits[_i].troops < $militiaUnits[_i].maxTroops && $militiaFreeManpower > 0>>
+			<<if $SecExp.units.militia.squads[_i].active == 1>>
+				<<if $SecExp.units.militia.squads[_i].troops < $SecExp.units.militia.squads[_i].maxTroops && $SecExp.units.militia.free > 0>>
 					|
 					<<link "Replenish unit" "secBarracks">>
-						<<if $militiaFreeManpower >= $militiaUnits[_i].maxTroops - $militiaUnits[_i].troops>>
-							<<set $militiaFreeManpower -= $militiaUnits[_i].maxTroops - $militiaUnits[_i].troops>>
-							<<set _expLoss = ($militiaUnits[_i].maxTroops - $militiaUnits[_i].troops) / $militiaUnits[_i].troops>>
-							<<set $militiaUnits[_i].training -= $militiaUnits[_i].training * _expLoss>>
-							<<set $militiaUnits[_i].troops = $militiaUnits[_i].maxTroops>>
+						<<if $SecExp.units.militia.free >= $SecExp.units.militia.squads[_i].maxTroops - $SecExp.units.militia.squads[_i].troops>>
+							<<set $SecExp.units.militia.free -= $SecExp.units.militia.squads[_i].maxTroops - $SecExp.units.militia.squads[_i].troops>>
+							<<set _expLoss = ($SecExp.units.militia.squads[_i].maxTroops - $SecExp.units.militia.squads[_i].troops) / $SecExp.units.militia.squads[_i].troops>>
+							<<set $SecExp.units.militia.squads[_i].training -= $SecExp.units.militia.squads[_i].training * _expLoss>>
+							<<set $SecExp.units.militia.squads[_i].troops = $SecExp.units.militia.squads[_i].maxTroops>>
 						<<else>>
-							<<set _expLoss = $militiaFreeManpower / $militiaUnits[_i].troops>>
-							<<set $militiaUnits[_i].training -= $militiaUnits[_i].training * _expLoss>>
-							<<set $militiaUnits[_i].troops += $militiaFreeManpower>>
-							<<set $militiaFreeManpower = 0>>
+							<<set _expLoss = $SecExp.units.militia.free / $SecExp.units.militia.squads[_i].troops>>
+							<<set $SecExp.units.militia.squads[_i].training -= $SecExp.units.militia.squads[_i].training * _expLoss>>
+							<<set $SecExp.units.militia.squads[_i].troops += $SecExp.units.militia.free>>
+							<<set $SecExp.units.militia.free = 0>>
 						<</if>>
 					<</link>>
 				<</if>>
 			<<else>>
-				<<if $militiaFreeManpower > 0>>
+				<<if $SecExp.units.militia.free > 0>>
 					|
 					<<link "Reform the unit" "secBarracks">>
-						<<if $militiaFreeManpower >= $militiaUnits[_i].maxTroops>>
-							<<set $militiaFreeManpower -= $militiaUnits[_i].maxTroops>>
-							<<set $militiaUnits[_i].troops = $militiaUnits[_i].maxTroops>>
-							<<set $militiaUnits[_i].training = 0>>
+						<<if $SecExp.units.militia.free >= $SecExp.units.militia.squads[_i].maxTroops>>
+							<<set $SecExp.units.militia.free -= $SecExp.units.militia.squads[_i].maxTroops>>
+							<<set $SecExp.units.militia.squads[_i].troops = $SecExp.units.militia.squads[_i].maxTroops>>
+							<<set $SecExp.units.militia.squads[_i].training = 0>>
 						<<else>>
-							<<set $militiaUnits[_i].troops += $militiaFreeManpower>>
-							<<set $militiaFreeManpower = 0>>
-							<<set $militiaUnits[_i].training = 0>>
+							<<set $SecExp.units.militia.squads[_i].troops += $SecExp.units.militia.free>>
+							<<set $SecExp.units.militia.free = 0>>
+							<<set $SecExp.units.militia.squads[_i].training = 0>>
 						<</if>>
-						<<set $militiaUnits[_i].active = 1>>
+						<<set $SecExp.units.militia.squads[_i].active = 1>>
 					<</link>>
 				<</if>>
 			<</if>>
-			| <<includeDOM App.SecExp.bulkUpgradeUnit($militiaUnits[_i])>>
+			| <<includeDOM App.SecExp.unit.bulkUpgrade($SecExp.units.militia.squads[_i])>>
 			<<if $SecExp.settings.showStats == 1>> <<= App.SecExp.getUnit("Militia", _i).printStats()>> <</if>>
-			<<includeDOM App.SecExp.humanUnitUpgradeList($militiaUnits[_i])>>
+			<<includeDOM App.SecExp.unit.humanUpgradeList($SecExp.units.militia.squads[_i])>>
 			<</capture>>
 		<</for>>
 	</div>
@@ -374,62 +374,62 @@ Your current maximum number of units is <<print App.SecExp.battle.maxUnits()>> (
 <div id="Mercs" class="tab-content">
 	<div class="content">
 		With the installation of a mercenary company in the arcology, many other are attracted to your free city, hoping to land a contract with you.
-		You are able to organize them in units to use in the defense of the arcology. Excluding the defense force you set up, there are <<print num(App.SecExp.Manpower.totalMerc)>> mercenaries in your arcology, of which <<print num(App.SecExp.Manpower.employedMerc)>> actively employed and <<print num($mercFreeManpower)>> not yet under contract. In total <<print num($mercTotalCasualties)>> mercenaries have died defending your arcology.
-		<br>Default unit name: <<textbox "$SecExp.defaultNames.mercs" $SecExp.defaultNames.mercs "secBarracks">> |
-		<<if $mercFreeManpower > 0 && App.SecExp.battle.activeUnits() < App.SecExp.battle.maxUnits()>>
+		You are able to organize them in units to use in the defense of the arcology. Excluding the defense force you set up, there are <<print num(App.SecExp.Manpower.totalMerc)>> mercenaries in your arcology, of which <<print num(App.SecExp.Manpower.employedMerc)>> actively employed and <<print num($SecExp.units.mercs.free)>> not yet under contract. In total <<print num($SecExp.units.mercs.dead)>> mercenaries have died defending your arcology.
+		<br>Default unit name: <<textbox "$SecExp.units.mercs.defaultName" $SecExp.units.mercs.defaultName "secBarracks">> |
+		<<if $SecExp.units.mercs.free > 0 && App.SecExp.battle.activeUnits() < App.SecExp.battle.maxUnits()>>
 			<<link "Form a new unit" "secBarracks">>
-				<<set $mercUnits.push(App.SecExp.generateUnit("mercs"))>>
+				<<set $SecExp.units.mercs.squads.push(App.SecExp.unit.gen("mercs"))>>
 			<</link>> |
 		<</if>>
-		<<includeDOM App.SecExp.bulkUpgradeUnit($mercUnits)>>
+		<<includeDOM App.SecExp.unit.bulkUpgrade($SecExp.units.mercs.squads)>>
 
 		<br>
-		<<set _meL = $mercUnits.length>>
+		<<set _meL = $SecExp.units.mercs.squads.length>>
 		<<for _i = 0; _i < _meL; _i++>>
 			<<capture _i>>
 			<<= App.SecExp.getUnit("Mercs", _i).describe()>> <br>
-			Rename unit <<textbox "$mercUnits[_i].platoonName" $mercUnits[_i].platoonName "secBarracks">>
+			Rename unit <<textbox "$SecExp.units.mercs.squads[_i].platoonName" $SecExp.units.mercs.squads[_i].platoonName "secBarracks">>
 			 | <<link "Disband the unit" "secBarracks">>
-				<<set $mercFreeManpower += $mercUnits[_i].troops>>
-				<<set $mercUnits.deleteAt(_i)>>
+				<<set $SecExp.units.mercs.free += $SecExp.units.mercs.squads[_i].troops>>
+				<<set $SecExp.units.mercs.squads.deleteAt(_i)>>
 			<</link>>
-			<<if $mercUnits[_i].active == 1>>
-				<<if $mercUnits[_i].troops < $mercUnits[_i].maxTroops && $mercFreeManpower > 0>>
+			<<if $SecExp.units.mercs.squads[_i].active == 1>>
+				<<if $SecExp.units.mercs.squads[_i].troops < $SecExp.units.mercs.squads[_i].maxTroops && $SecExp.units.mercs.free > 0>>
 					|
 					<<link "Replenish unit" "secBarracks">>
-						<<if $mercFreeManpower >= $mercUnits[_i].maxTroops - $mercUnits[_i].troops>>
-							<<set $mercFreeManpower -= $mercUnits[_i].maxTroops - $mercUnits[_i].troops>>
-							<<set _expLoss = ($mercUnits[_i].maxTroops - $mercUnits[_i].troops) / $mercUnits[_i].troops>>
-							<<set $mercUnits[_i].training -= $mercUnits[_i].training * _expLoss>>
-							<<set $mercUnits[_i].troops = $mercUnits[_i].maxTroops>>
+						<<if $SecExp.units.mercs.free >= $SecExp.units.mercs.squads[_i].maxTroops - $SecExp.units.mercs.squads[_i].troops>>
+							<<set $SecExp.units.mercs.free -= $SecExp.units.mercs.squads[_i].maxTroops - $SecExp.units.mercs.squads[_i].troops>>
+							<<set _expLoss = ($SecExp.units.mercs.squads[_i].maxTroops - $SecExp.units.mercs.squads[_i].troops) / $SecExp.units.mercs.squads[_i].troops>>
+							<<set $SecExp.units.mercs.squads[_i].training -= $SecExp.units.mercs.squads[_i].training * _expLoss>>
+							<<set $SecExp.units.mercs.squads[_i].troops = $SecExp.units.mercs.squads[_i].maxTroops>>
 						<<else>>
-							<<set _expLoss = $mercFreeManpower / $mercUnits[_i].troops>>
-							<<set $mercUnits[_i].training -= $mercUnits[_i].training * _expLoss>>
-							<<set $mercUnits[_i].troops += $mercFreeManpower>>
-							<<set $mercFreeManpower = 0>>
+							<<set _expLoss = $SecExp.units.mercs.free / $SecExp.units.mercs.squads[_i].troops>>
+							<<set $SecExp.units.mercs.squads[_i].training -= $SecExp.units.mercs.squads[_i].training * _expLoss>>
+							<<set $SecExp.units.mercs.squads[_i].troops += $SecExp.units.mercs.free>>
+							<<set $SecExp.units.mercs.free = 0>>
 						<</if>>
 					<</link>>
 				<</if>>
 			<<else>>
-				<<if $mercFreeManpower > 0>>
+				<<if $SecExp.units.mercs.free > 0>>
 					|
 					<<link "Reform the unit" "secBarracks">>
-						<<if $mercFreeManpower >= $mercUnits[_i].maxTroops>>
-							<<set $mercFreeManpower -= $mercUnits[_i].maxTroops>>
-							<<set $mercUnits[_i].troops = $mercUnits[_i].maxTroops>>
-							<<set $mercUnits[_i].training = 0>>
+						<<if $SecExp.units.mercs.free >= $SecExp.units.mercs.squads[_i].maxTroops>>
+							<<set $SecExp.units.mercs.free -= $SecExp.units.mercs.squads[_i].maxTroops>>
+							<<set $SecExp.units.mercs.squads[_i].troops = $SecExp.units.mercs.squads[_i].maxTroops>>
+							<<set $SecExp.units.mercs.squads[_i].training = 0>>
 						<<else>>
-							<<set $mercUnits[_i].troops += $mercFreeManpower>>
-							<<set $mercFreeManpower = 0>>
-							<<set $mercUnits[_i].training = 0>>
+							<<set $SecExp.units.mercs.squads[_i].troops += $SecExp.units.mercs.free>>
+							<<set $SecExp.units.mercs.free = 0>>
+							<<set $SecExp.units.mercs.squads[_i].training = 0>>
 						<</if>>
-						<<set $mercUnits[_i].active = 1>>
+						<<set $SecExp.units.mercs.squads[_i].active = 1>>
 					<</link>>
 				<</if>>
 			<</if>>
-			| <<includeDOM App.SecExp.bulkUpgradeUnit($mercUnits[_i])>>
+			| <<includeDOM App.SecExp.unit.bulkUpgrade($SecExp.units.mercs.squads[_i])>>
 			<<if $SecExp.settings.showStats == 1>> <<= App.SecExp.getUnit("Mercs", _i).printStats()>> <</if>>
-			<<includeDOM App.SecExp.humanUnitUpgradeList($mercUnits[_i])>>
+			<<includeDOM App.SecExp.unit.humanUpgradeList($SecExp.units.mercs.squads[_i])>>
 			<</capture>>
 		<</for>>
 	</div>
diff --git a/src/Mods/SecExp/buildings/weaponsManufacturing.tw b/src/Mods/SecExp/buildings/weaponsManufacturing.tw
index 2b3727df17bfdfcf44a6174feeaf820b0dcdedb5..f7b69551f60bc78188d964c5b2ceee618b8dba9f 100644
--- a/src/Mods/SecExp/buildings/weaponsManufacturing.tw
+++ b/src/Mods/SecExp/buildings/weaponsManufacturing.tw
@@ -3,8 +3,8 @@
 <<set $nextButton = "Back", $nextLink = "Main", _baseUpgradeTime = App.SecExp.weapManuUpgrade.baseTime()>>
 
 This sector of the arcology has been dedicated to weapons manufacturing. These factories supply
-<<if $militiaUnits.length > 0>> your militia and<</if>>
-<<if $slaveUnits.length > 0>> your slave soldiers and<</if>>
+<<if $SecExp.units.militia.squads.length > 0>> your militia and<</if>>
+<<if $SecExp.units.slaves.squads.length > 0>> your slave soldiers and<</if>>
 <<if $mercenaries > 0>> your mercenaries and<</if>>
 many small old world nations as the advanced technology that Free Cities have available is hard to come by otherwise.
 <<if $SecExp.buildings.weapManu.productivity == 1>>
diff --git a/src/Mods/SecExp/js/Unit.js b/src/Mods/SecExp/js/Unit.js
index 16c83ff058a0716ca4040056da926aded5d9dc1d..4796eff75d3cbea54eb6b55f4baf8814bfe09209 100644
--- a/src/Mods/SecExp/js/Unit.js
+++ b/src/Mods/SecExp/js/Unit.js
@@ -1,328 +1,419 @@
-/** Creates a bulk upgrade link for the unit that is passed.
- * @param {object} [unit] the unit to be checked.
- */
-App.SecExp.bulkUpgradeUnit = function(unit) {
-	unit = Array.isArray(unit) ? unit : [unit];
-	let el = document.createElement("a");
+App.SecExp.unit = (function() {
+	return {
+		list,
+		bulkUpgrade,
+		humanLoyaltyChanges,
+		fixBroken,
+		gen:generate,
+		deployMenu,
+		humanUpgradeList,
+		genID,
+		replenishAll,
+		isDeployed,
+		humanSquads
+	};
+
+	/** Lists all potential military units as an array.
+	 *
+	 */
+	 function list() {
+		return ['bots', 'slaves', 'militia', 'mercs'];
+	 }
 
-	function upgradeUnit(x) {
-		Object.assign(x, {
-			maxTroops: 50, equip: 3, commissars: 2,
-			cyber: 1, medics: 1, SF: 1
-		});
+	/** Creates a bulk upgrade link for the unit that is passed.
+	 * @param {object} [unit] the unit to be checked.
+	 */
+	function bulkUpgrade(unit) {
+		unit = Array.isArray(unit) ? unit : [unit];
+		let el = document.createElement("a");
+
+		function upgradeUnit(x) {
+			Object.assign(x, {
+				maxTroops: 50, equip: 3, commissars: 2,
+				cyber: 1, medics: 1, SF: 1
+			});
+		}
+
+		function getCost(x) {
+			let cost = 0;
+			const equipUpgradeCost = 250;
+			if (x.maxTroops < 50) {
+				cost += 5000 + (((50 - x.maxTroops) /10) * equipUpgradeCost * (x.equip + x.commissars + x.cyber + x.SF));
+			}
+			if (x.equip < 3) {
+				cost += (equipUpgradeCost * x.maxTroops + 1000) * (3 - x.equip);
+			}
+			if (x.commissars < 2) {
+				cost += (equipUpgradeCost * x.maxTroops + 1000) * (2 - x.commissars);
+			}
+			if ((V.prostheticsUpgrade >= 2 || V.researchLab.advCombatPLimb === 1) && x.cyber === 0) {
+				cost += equipUpgradeCost * x.maxTroops + 2000;
+			}
+			if (x.medics === 0) {
+				cost += equipUpgradeCost * x.maxTroops + 1000;
+			}
+			if (V.SF.Toggle && V.SF.Active >= 1 && x.SF === 0) {
+				cost += equipUpgradeCost * x.maxTroops + 5000;
+			}
+			return Math.ceil(cost *= 1.1);
+		}
+
+		const price = unit.map(getCost).reduce((acc, cur) => acc + cur, 0);
+		if (price > 0) {
+			el.append(App.UI.DOM.link(`Bulk upgrade for ${cashFormat(price)}`, () => {
+				unit.map(upgradeUnit).reduce((acc, cur) => acc + cur, 0);
+				cashX(-price, "securityExpansion");
+			},
+			[], passage()
+			));
+		}
+		return el;
 	}
 
-	function getCost(x) {
-		let cost = 0;
-		const equipUpgradeCost = 250;
-		if (x.maxTroops < 50) {
-			cost += 5000 + (((50 - x.maxTroops) /10) * equipUpgradeCost * (x.equip + x.commissars + x.cyber + x.SF));
+	/** Reports changes to the supplied unit's loyalty.
+	 * @param {FC.SecExp.PlayerHumanUnitData} input the unit type to be checked.
+	 * @param {FC.SecExp.PlayerHumanUnitType} type
+	 * @returns {HTMLDivElement}
+	 */
+	function humanLoyaltyChanges(input, type) {
+		let loyaltyChange = 0, el = document.createElement("div");
+
+		el.append(`${input.platoonName}: `);
+		if (V.SecExp.buildings.barracks && V.SecExp.buildings.barracks.loyaltyMod >= 1) {
+			el.append("is periodically sent to the indoctrination facility in the barracks for thought correction therapy. ");
+			loyaltyChange += 2 * V.SecExp.buildings.barracks.loyaltyMod;
 		}
-		if (x.equip < 3) {
-			cost += (equipUpgradeCost * x.maxTroops + 1000) * (3 - x.equip);
+		if (input.commissars >= 1) {
+			el.append("The commissars attached to the unit carefully monitor the officers and grunts for signs of insubordination. ");
+			loyaltyChange += 2 * input.commissars;
 		}
-		if (x.commissars < 2) {
-			cost += (equipUpgradeCost * x.maxTroops + 1000) * (2 - x.commissars);
+		if (V.SecExp.edicts.defense.soldierWages === 2) {
+			if (type === 'slaves') {
+				el.append("The slaves greatly appreciate the generous wage given to them for their service as soldiers. Occasions to earn money for a slave are scarce after all. ");
+			} else if (type === 'militia') {
+				el.append("The soldiers greatly appreciate the generous wage given to them for their service. They are proud to defend their homes while making a small fortune out of it. ");
+			} else if (type === 'mercs') {
+				el.append("The mercenaries greatly appreciate the generous wage given to them for their service. After all coin is the fastest way to reach their hearts. ");
+			}
+			loyaltyChange += random(5, 10);
+		} else if (V.SecExp.edicts.defense.soldierWages === 1) {
+			if (type === 'slaves') {
+				el.append("The slaves appreciate the wage given to them for their service as soldiers, despite it being just adequate. Occasions to earn money for a slave are scarce after all. ");
+			} else if (type === 'militia') {
+				el.append("The soldiers appreciate the wage given to them for their service, despite it being just adequate. They are proud to defend their homes, though at the cost of possible financial gains. ");
+			} else if (type === 'mercs') {
+				el.append("The mercenaries do not appreciate the barely adequate wage given to them for their service. Still their professionalism keeps them determined to finish their contract. ");
+			}
+			loyaltyChange += random(-5, 5);
+		} else {
+			if (type === 'slaves') {
+				el.append("The slaves do not appreciate the low wage given to them for their service as soldiers, but occasions to earn money for a slave are scarce, so they're not too affected by it. ");
+			} else if (type === 'militia') {
+				el.append("The soldiers do not appreciate the low wage given to them for their service. Their sense of duty keeps them proud of their role as defenders of the arcology, but many do feel its financial weight. ");
+			} else if (type === 'mercs') {
+				el.append("The mercenaries do not appreciate the low wage given to them for their service. Their skill would be better served by a better contract and this world does not lack demand for guns for hire. ");
+			}
+			loyaltyChange -= random(5, 10);
 		}
-		if ((V.prostheticsUpgrade >= 2 || V.researchLab.advCombatPLimb === 1) && x.cyber === 0) {
-			cost += equipUpgradeCost * x.maxTroops + 2000;
+		if (type === 'slaves' && V.SecExp.edicts.defense.privilege.slaveSoldier) {
+			el.append("Allowing them to hold material possessions earns you their devotion and loyalty. ");
+			loyaltyChange += random(1, 2);
 		}
-		if (x.medics === 0) {
-			cost += equipUpgradeCost * x.maxTroops + 1000;
+		if (type === 'militia' && V.SecExp.edicts.defense.privilege.militiaSoldier) {
+			el.append("Allowing them to avoid rent payment for their military service earns you their happiness and loyalty. ");
+			loyaltyChange += random(1, 2);
 		}
-		if (V.SF.Toggle && V.SF.Active >= 1 && x.SF === 0) {
-			cost += equipUpgradeCost * x.maxTroops + 5000;
+		if (type === 'mercs' && V.SecExp.edicts.defense.privilege.mercSoldier) {
+			el.append("Allowing them to keep part of the loot gained from your enemies earns you their trust and loyalty. ");
+			loyaltyChange += random(1, 2);
 		}
-		return Math.ceil(cost *= 1.1);
-	}
-
-	const price = unit.map(getCost).reduce((acc, cur) => acc + cur, 0);
-	if (price > 0) {
-		el.append(App.UI.DOM.link(`Bulk upgrade for ${cashFormat(price)}`, () => {
-			unit.map(upgradeUnit).reduce((acc, cur) => acc + cur);
-			cashX(-price, "securityExpansion");
-		},
-		[], passage()
-		));
-	}
-	return el;
-};
 
-/** Reports changes to the supplied unit's loyalty.
- * @param {FC.SecExp.PlayerHumanUnitData} input the unit type to be checked.
- * @param {FC.SecExp.PlayerHumanUnitType} type
- * @returns {HTMLDivElement}
- */
-App.SecExp.humanUnitLoyaltyChanges = function(input, type) {
-	let loyaltyChange = 0, el = document.createElement("div");
-
-	el.append(`${input.platoonName}: `);
-	if (V.SecExp.buildings.barracks && V.SecExp.buildings.barracks.loyaltyMod >= 1) {
-		el.append("is periodically sent to the indoctrination facility in the barracks for thought correction therapy. ");
-		loyaltyChange += 2 * V.SecExp.buildings.barracks.loyaltyMod;
-	}
-	if (input.commissars >= 1) {
-		el.append("The commissars attached to the unit carefully monitor the officers and grunts for signs of insubordination. ");
-		loyaltyChange += 2 * input.commissars;
-	}
-	if (V.SecExp.edicts.defense.soldierWages === 2) {
-		if (type === 'slave') {
-			el.append("The slaves greatly appreciate the generous wage given to them for their service as soldiers. Occasions to earn money for a slave are scarce after all. ");
-		} else if (type === 'citizens') {
-			el.append("The soldiers greatly appreciate the generous wage given to them for their service. They are proud to defend their homes while making a small fortune out of it. ");
-		} else if (type === 'mercenary') {
-			el.append("The mercenaries greatly appreciate the generous wage given to them for their service. After all coin is the fastest way to reach their hearts. ");
+		el.append("This week, the loyalty of this unit ");
+		if (loyaltyChange > 0) {
+			 App.UI.DOM.appendNewElement("span", el, "increased.", "green");
+		} else if (loyaltyChange === 0) {
+			App.UI.DOM.appendNewElement("span", el, "did not change.", "yellow");
+		} else {
+			App.UI.DOM.appendNewElement("span", el, "decreased.", "red");
 		}
-		loyaltyChange += random(5, 10);
-	} else if (V.SecExp.edicts.defense.soldierWages === 1) {
-		if (type === 'slave') {
-			el.append("The slaves appreciate the wage given to them for their service as soldiers, despite it being just adequate. Occasions to earn money for a slave are scarce after all. ");
-		} else if (type === 'citizens') {
-			el.append("The soldiers appreciate the wage given to them for their service, despite it being just adequate. They are proud to defend their homes, though at the cost of possible financial gains. ");
-		} else if (type === 'mercenary') {
-			el.append("The mercenaries do not appreciate the barely adequate wage given to them for their service. Still their professionalism keeps them determined to finish their contract. ");
+		input.loyalty = Math.clamp(input.loyalty + loyaltyChange, 0, 100);
+		if (input.training < 100 && V.SecExp.buildings && V.SecExp.buildings.barracks.training >= 1) {
+			let options = document.createElement("div");
+			options.append("The unit is able to make use of the training facilities to better prepare its soldiers, slowly increasing their experience level. ");
+			el.append(options);
+			input.training += random(2, 4) * 1.5 * V.SecExp.buildings.barracks.training;
 		}
-		loyaltyChange += random(-5, 5);
-	} else {
-		if (type === 'slave') {
-			el.append("The slaves do not appreciate the low wage given to them for their service as soldiers, but occasions to earn money for a slave are scarce, so they're not too affected by it. ");
-		} else if (type === 'citizens') {
-			el.append("The soldiers do not appreciate the low wage given to them for their service. Their sense of duty keeps them proud of their role as defenders of the arcology, but many do feel its financial weight. ");
-		} else if (type === 'mercenary') {
-			el.append("The mercenaries do not appreciate the low wage given to them for their service. Their skill would be better served by a better contract and this world does not lack demand for guns for hire. ");
-		}
-		loyaltyChange -= random(5, 10);
-	}
-	if (type === 'slave' && V.SecExp.edicts.defense.privilege.slaveSoldier) {
-		el.append("Allowing them to hold material possessions earns you their devotion and loyalty. ");
-		loyaltyChange += random(1, 2);
-	}
-	if (type === 'citizens' && V.SecExp.edicts.defense.privilege.militiaSoldier) {
-		el.append("Allowing them to avoid rent payment for their military service earns you their happiness and loyalty. ");
-		loyaltyChange += random(1, 2);
-	}
-	if (type === 'mercenary' && V.SecExp.edicts.defense.privilege.mercSoldier) {
-		el.append("Allowing them to keep part of the loot gained from your enemies earns you their trust and loyalty. ");
-		loyaltyChange += random(1, 2);
-	}
 
-	el.append("This week, the loyalty of this unit ");
-	if (loyaltyChange > 0) {
-		 App.UI.DOM.appendNewElement("span", el, "increased.", "green");
-	} else if (loyaltyChange === 0) {
-		App.UI.DOM.appendNewElement("span", el, "did not change.", "yellow");
-	} else {
-		App.UI.DOM.appendNewElement("span", el, "decreased.", "red");
+		return el;
 	}
-	input.loyalty = Math.clamp(input.loyalty + loyaltyChange, 0, 100);
-	if (input.training < 100 && V.SecExp.buildings && V.SecExp.buildings.barracks.training >= 1) {
-		let options = document.createElement("div");
-		options.append("The unit is able to make use of the training facilities to better prepare its soldiers, slowly increasing their experience level.");
-		el.append(options);
-		input.training += random(2, 4) * 1.5 * V.SecExp.buildings.barracks.training;
+
+	/** Repairs unit if needed.
+	 * @param {object} [input] the unit to be checked.
+	 */
+	function fixBroken(input) {
+		input.SF = input.SF || 0;
+		if (!jsDef(input.ID)) {
+			input.ID = genID();
+		}
+		input.cyber = input.cyber || 0;
+		input.commissars = input.commissars || 0;
+		input.maxTroops = Math.min(30, input.maxTroops);
+		input.troops = Math.clamp(input.troops, 0, input.maxTroops);
 	}
 
-	return el;
-};
+	/** Creates the requested unit object.
+	 * @param {string} [type] the unit type to be created.
+	 * @param {arrary} [updater] previous variables to check against.
+	 */
+	function generate(type, updater = {}) {
+		if (!jsDef(V.SecExp.units[type]) || Object.entries(updater).length > 0) {
+			V.SecExp.units[type] = V.SecExp.units[type] || {};
+			if (type !== "bots") {
+				V.SecExp.units[type].created = V.SecExp.units[type].created || updater.count || 0;
+				V.SecExp.units[type].dead = V.SecExp.units[type].dead || updater.killed ||0;
+				V.SecExp.units[type].squads = V.SecExp.units[type].squads || updater.squads ||[];
+				if (type !== 'slaves') {
+					V.SecExp.units[type].free = V.SecExp.units[type].free || updater.free || 0;
+				}
+			}
+			return;
+		}
 
-/** Repairs unit if needed.
- * @param {object} [input] the unit to be checked.
- */
-App.SecExp.fixBrokenUnit = function(input) {
-	input.SF = input.SF || 0;
-	if (!jsDef(input.ID)) {
-		input.ID = App.SecExp.generateUnitID();
-	}
-	input.cyber = input.cyber || 0;
-	input.commissars = input.commissars || 0;
-	input.maxTroops = Math.min(30, input.maxTroops);
-	Math.clamp(input.troops, 0, input.maxTroops);
-};
+		let newUnit = {
+			ID: -1, equip: 0, active: 1, isDeployed: 0, maxTroops: 30, troops: 30
+		};
+		if (type !== "bots") {
+			Object.assign(newUnit, {
+				training: 0, cyber: 0, medics: 0,
+				SF: 0, commissars: 0, battlesFought: 0,
+				loyalty: jsRandom(40, 60),
+				ID: genID(),
+				platoonName: `${ordinalSuffix(++V.SecExp.units[type].created)} ` + V.SecExp.units[type].defaultName
+			});
+
+			if (type === "slaves") {
+				newUnit.troops = Math.min(newUnit.maxTroops, V.menials);
+				V.menials -= newUnit.troops;
+			} else {
+				newUnit.troops = Math.min(newUnit.maxTroops, V.SecExp.units[type].free);
+				V.SecExp.units[type].free -= newUnit.troops;
+			}
+		}
+		return newUnit;
+	}
 
-/** Creates the requested unit object.
- * @param {string} [type] the unit type to be created.
- */
-App.SecExp.generateUnit = function(type) {
-	let newUnit = {
-		ID: -1, equip: 0, active: 1, isDeployed: 0, maxTroops:30, troops: 30
-	};
-	if (type !== "bots") {
-		Object.assign(newUnit, {
-			training: 0, cyber: 0, medics: 0,
-			SF: 0, commissars: 0, battlesFought: 0,
-			loyalty: jsRandom(40, 60),
-			ID: App.SecExp.generateUnitID()
-		});
-
-		if (type === "slaves") {
-			newUnit.platoonName = `${ordinalSuffix(++V.createdSlavesUnits)} ` + V.SecExp.defaultNames[type];
-			newUnit.troops = Math.min(newUnit.maxTroops, V.menials);
-			V.menials -= newUnit.troops;
-		} else if (type === "militia") {
-			newUnit.platoonName = `${ordinalSuffix(++V.createdMilitiaUnits)} ` + V.SecExp.defaultNames[type];
-			newUnit.troops = Math.min(newUnit.maxTroops, V.militiaFreeManpower);
-			V.militiaFreeManpower -= newUnit.troops;
-		} else if (type === "mercs") {
-			newUnit.platoonName = `${ordinalSuffix(++V.createdMercUnits)} ` + V.SecExp.defaultNames[type];
-			newUnit.troops = Math.min(newUnit.maxTroops, V.mercFreeManpower);
-			V.mercFreeManpower -= newUnit.troops;
+	/** Display's the deploy menu for the unit.
+	 * @param {FC.SecExp.PlayerHumanUnitData} input the unit to be checked.
+	 * @param {FC.SecExp.PlayerHumanUnitType} type
+	 */
+	function deployMenu(input, type, count = 0) {
+		let el = document.createElement("div"), options = document.createElement("div");
+		const canDeploy = input.isDeployed === 0 && App.SecExp.battle.deployableUnits() > 0;
+
+		if (input.active === 1 && input.troops > 0) {
+			if (type === "bots") {
+				$(el).append(App.SecExp.getUnit("Bots").describe());
+			} else {
+				$(el).append(App.SecExp.getUnit(capFirstChar(type), count).describe());
+			}
+			options = document.createElement("div");
+			options.append(App.UI.DOM.link(`${canDeploy ? 'Deploy' : 'Remove'} the unit`, () => {
+				input.isDeployed = canDeploy ? 1 : 0; V.SecExp.war.saveValid = 0;
+			},
+			[], passage()
+			));
 		}
+		el.append(options);
+		return el;
 	}
-	return newUnit;
-};
 
-/** Display's the deploy menu for the unit.
- * @param {FC.SecExp.PlayerHumanUnitData} input the unit to be checked.
- * @param {FC.SecExp.PlayerHumanUnitType} type
- * @param {number} [count=0]
- */
-App.SecExp.deployUnitMenu = function(input, type, count = 0) {
-	let el = document.createElement("div"), options = document.createElement("div");
-	const canDeploy = input.isDeployed === 0 && App.SecExp.battle.deployableUnits() > 0;
+	/** Prints a list of upgrades that can be applied to the passed human unit.
+	 * @param {FC.SecExp.PlayerHumanUnitData} input the human unit to be checked.
+	 */
+	function humanUpgradeList(input) {
+		const equipUpgradeCost = 250;
+		let el = document.createElement("div"), options = document.createElement("div");
 
-	if (input.active === 1 && input.troops > 0) {
-		if (type === "bots") {
-			$(el).append(App.SecExp.getUnit("Bots").describe());
+		if (input.maxTroops < 50) {
+			options.append(`For ${cashFormat(5000 + 10 * equipUpgradeCost * (input.equip + input.commissars + input.cyber + input.SF))} provide this unit's `);
+			options.append(App.UI.DOM.link("officers with intensive training", () => {
+				input.maxTroops += 10;
+				cashX(-(5000 + 10 * equipUpgradeCost * (input.equip + input.commissars + input.cyber + input.SF)), "securityExpansion");
+			},
+			[], passage()
+			));
+			options.append(` to increase the maximum number of soldiers in the unit by 10.`);
 		} else {
-			$(el).append(App.SecExp.getUnit(capFirstChar(type), count).describe());
+			options.append(`Your officers reached their peak. Further training will have little impact on the number of troops they can effectively lead.`);
 		}
-		options = document.createElement("div");
-		options.append(App.UI.DOM.link(`${canDeploy ? 'Deploy' : 'Remove'} the unit`, () => {
-			input.isDeployed = canDeploy ? 1 : 0; V.SecExp.war.saveValid = 0;
-		},
-		[], passage()
-		));
-	}
-	el.append(options);
-	return el;
-};
+		el.append(options);
 
-/** Prints a list of upgrades that can be applied to the passed human unit.
- * @param {FC.SecExp.PlayerHumanUnitData} input the human unit to be checked.
- */
-App.SecExp.humanUnitUpgradeList = function(input) {
-	const equipUpgradeCost = 250;
-	let el = document.createElement("div"); let options = document.createElement("div");
-
-	if (input.maxTroops < 50) {
-		options.append(`For ${cashFormat(5000 + 10 * equipUpgradeCost * (input.equip + input.commissars + input.cyber + input.SF))} provide this unit's `);
-		options.append(App.UI.DOM.link("officers with intensive training", () => {
-			input.maxTroops += 10;
-			cashX(-(5000 + 10 * equipUpgradeCost * (input.equip + input.commissars + input.cyber + input.SF)), "securityExpansion");
-		},
-		[], passage()
-		));
-		options.append(` to increase the maximum number of soldiers in the unit by 10.`);
-	} else {
-		options.append(`Your officers reached their peak. Further training will have little impact on the number of troops they can effectively lead.`);
-	}
-	el.append(options);
-
-	options = document.createElement("div");
-	if (input.equip < 3) {
-		options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 1000)} invest in `);
-		options.append(App.UI.DOM.link("better equipment", () => {
-			input.equip++;
-			cashX(-(equipUpgradeCost * input.maxTroops + 1000), "securityExpansion");
-		},
-		[], passage()
-		));
-		options.append(` to increase this unit's attack and defense by 15% per investement.`);
-	} else {
-		options.append(`The unit is equipped with state of the art weaponry and equipment.`);
-	}
-	el.append(options);
-
-	options = document.createElement("div");
-	if (input.commissars === 0) {
-		options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 1000)} attach `);
-		options.append(App.UI.DOM.link("commissars", () => {
-			input.commissars++;
-			cashX(-(equipUpgradeCost * input.maxTroops + 1000), "securityExpansion");
-		},
-		[], passage()
-		));
-		options.append(` to slowly increase this unit's loyalty.`);
-	} else if (input.commissars < 2) {
-		options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 1000)} attach `);
-		options.append(App.UI.DOM.link("commissars", () => {
-			input.commissars++;
-			cashX(-(equipUpgradeCost * input.maxTroops + 1000), "securityExpansion");
-		},
-		[], passage()
-		));
-		options.append(` to slowly increase this unit's loyalty.`);
-	}
-	if (input.commissars === 1) {
-		options.append(" The unit has a commissar detachment, keeping under control the ambitions of the unit's officers.");
-	} else if (input.commissars === 2) {
-		options.append(" The unit has a perfectly trained and loyal commissar detachment, keeping under control the ambitions of the unit's officers.");
-	}
-	el.append(options);
-
-	options = document.createElement("div");
-	if (V.prostheticsUpgrade >= 2 || V.researchLab.advCombatPLimb === 1) {
-		if (input.cyber === 0) {
-			options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 1000)} `);
-			options.append(App.UI.DOM.link("augment all soldiers of the unit", () => {
-				input.cyber++;
-				cashX(-(equipUpgradeCost * input.maxTroops + 2000), "securityExpansion");
+		options = document.createElement("div");
+		if (input.equip < 3) {
+			options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 1000)} invest in `);
+			options.append(App.UI.DOM.link("better equipment", () => {
+				input.equip++;
+				cashX(-(equipUpgradeCost * input.maxTroops + 1000), "securityExpansion");
 			},
 			[], passage()
 			));
-			options.append(` with high tech cyber enhancements that will increase attack, defense and base hp values.`);
+			options.append(` to increase this unit's attack and defense by 15% per investement.`);
 		} else {
-			options.append('The unit is equipped with advanced cybernetic enhancements.');
+			options.append(`The unit is equipped with state of the art weaponry and equipment.`);
 		}
-	}
-	el.append(options);
-
-	options = document.createElement("div");
-	if (input.medics === 0) {
-		options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 1000)} `);
-		options.append(App.UI.DOM.link("attach trained medics to the unit", () => {
-			input.medics++;
-			cashX(-(equipUpgradeCost * input.maxTroops + 1000), "securityExpansion");
-		},
-		[], passage()
-		));
-		options.append(' which will decrease the number of casualties suffered during battle.');
-	} else {
-		options.append('The unit has a medic detachment following it into battle, decreasing the number of casualties the unit suffers');
-	}
-	el.append(options);
+		el.append(options);
 
-	if (V.SF.Toggle && V.SF.Active >= 1) {
 		options = document.createElement("div");
+		if (input.commissars < 2) {
+			options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 1000)} attach `);
+			options.append(App.UI.DOM.link("commissars", () => {
+				input.commissars++;
+				cashX(-(equipUpgradeCost * input.maxTroops + 1000), "securityExpansion");
+			},
+			[], passage()
+			));
+			options.append(` to slowly increase this unit's loyalty.`);
+		}
+		if (input.commissars === 1) {
+			options.append(" The unit has a commissar detachment, keeping under control the ambitions of the unit's officers.");
+		} else if (input.commissars === 2) {
+			options.append(" The unit has a perfectly trained and loyal commissar detachment, keeping under control the ambitions of the unit's officers.");
+		}
+		el.append(options);
+
+		options = document.createElement("div");
+		if (V.prostheticsUpgrade >= 2 || V.researchLab.advCombatPLimb === 1) {
+			if (input.cyber === 0) {
+				options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 1000)} `);
+				options.append(App.UI.DOM.link("augment all soldiers of the unit", () => {
+					input.cyber++;
+					cashX(-(equipUpgradeCost * input.maxTroops + 2000), "securityExpansion");
+				},
+				[], passage()
+				));
+				options.append(` with high tech cyber enhancements that will increase attack, defense and base hp values.`);
+			} else {
+				options.append('The unit is equipped with advanced cybernetic enhancements.');
+			}
+		}
+		el.append(options);
 
-		if (input.SF === 0) {
-			options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 5000)} `);
-			options.append(App.UI.DOM.link("attach Special Force advisors", () => {
-				input.SF++;
-				cashX(-(equipUpgradeCost * input.maxTroops + 5000), "securityExpansion");
+		options = document.createElement("div");
+		if (input.medics === 0) {
+			options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 1000)} `);
+			options.append(App.UI.DOM.link("attach trained medics to the unit", () => {
+				input.medics++;
+				cashX(-(equipUpgradeCost * input.maxTroops + 1000), "securityExpansion");
 			},
 			[], passage()
 			));
-			options.append(' which will slightly increase the base stats of the unit.');
+			options.append(' which will decrease the number of casualties suffered during battle.');
 		} else {
-			options.append(`The unit has attached advisors from ${V.SF.Lower} that will help the squad remain tactically aware and active.`);
+			options.append('The unit has a medic detachment following it into battle, decreasing the number of casualties the unit suffers');
 		}
 		el.append(options);
+
+		if (V.SF.Toggle && V.SF.Active >= 1) {
+			options = document.createElement("div");
+
+			if (input.SF === 0) {
+				options.append(`For ${cashFormat(equipUpgradeCost * input.maxTroops + 5000)} `);
+				options.append(App.UI.DOM.link("attach Special Force advisors", () => {
+					input.SF++;
+					cashX(-(equipUpgradeCost * input.maxTroops + 5000), "securityExpansion");
+				},
+				[], passage()
+				));
+				options.append(' which will slightly increase the base stats of the unit.');
+			} else {
+				options.append(`The unit has attached advisors from ${V.SF.Lower} that will help the squad remain tactically aware and active.`);
+			}
+			el.append(options);
+		}
+
+		return el;
 	}
 
-	return el;
-};
+	/** Generate a unit ID for a new unit
+	 * @returns {number}
+	 */
+	function genID() {
+		return Math.max(
+			App.SecExp.unit.humanSquads().map(u => u.ID).reduce((acc, cur) => Math.max(acc, cur), 0)
+		) + 1;
+	}
 
-/** Generate a unit ID for a new unit
- * @returns {number}
- */
-App.SecExp.generateUnitID = function() {
-	return Math.max(
-		V.militiaUnits.reduce((acc, cur) => Math.max(acc, cur.ID), 0),
-		V.slaveUnits.reduce((acc, cur) => Math.max(acc, cur.ID), 0),
-		V.mercUnits.reduce((acc, cur) => Math.max(acc, cur.ID), 0)
-	) + 1;
-};
+	function replenishAll() {
+		let el = document.createElement("div");
+		let woundedUnit = [], expLoss;
+
+		function unitsFree(x) {
+			if (x === 'slaves') {
+				return V.menials;
+			} else {
+				return V.SecExp.units[x].free;
+			}
+		}
+
+		if (V.SecExp.units.bots.troops < V.SecExp.units.bots.maxTroops && V.cash >= 500) {
+			woundedUnit.push('bots');
+		}
+
+		for (const unit of list().slice(1)) {
+			for (const squad of V.SecExp.units[unit].squads) {
+				if (!woundedUnit.contains(unit) && squad.troops < squad.maxTroops && unitsFree(unit) > 0) {
+					woundedUnit.push(unit);
+				}
+			}
+		}
+
+		if (woundedUnit.length > 0) {
+			el.append(App.UI.DOM.link("Replenish all units", () => {
+				for (const unit of woundedUnit) {
+					if (unit === 'bots') {
+						cashX(-((V.SecExp.units.bots.maxTroops - V.SecExp.units.bots.troops) * 500), "securityExpansion");
+						V.SecExp.units.bots.troops = V.SecExp.units.bots.maxTroops;
+					} else {
+						let freeUnits = unitsFree(unit);
+						for (const squad of V.SecExp.units[unit].squads) {
+							if (squad.troops < squad.maxTroops && freeUnits > 0) {
+								if (freeUnits >= squad.maxTroops - squad.troops) {
+									freeUnits -= squad.maxTroops - squad.troops;
+									expLoss = (squad.maxTroops - squad.troops) / squad.troops;
+									squad.troops = squad.maxTroops;
+								} else {
+									expLoss = freeUnits / squad.troops;
+									squad.troops += freeUnits;
+									freeUnits = 0;
+								}
+								squad.training -= squad.training * expLoss;
+							}
+						}
+					}
+				}
+			},
+			[], passage()
+			));
+			el.append(` Will replenish units as long as requirements are met.\n\n`);
+		}
+
+		return el;
+	}
+	
+	function isDeployed(unit) {
+		return (V.citizenRebellion === 0 && V.slaveRebellion === 0 && unit.isDeployed === 1) || ((V.citizenRebellion > 0 || V.slaveRebellion > 0) && unit.active === 1 && !V.SecExp.war.rebellingID.includes(unit.ID));
+	}
+	
+	function humanSquads() {
+		let array = [];
+		for (const unit of list().slice(1)) {
+			for (const squad of V.SecExp.units[unit].squads) {
+				array.push(squad);
+			}
+		}
+		return array;
+	}
+})();
 
 /** Player unit factory - get a unit based on its type and index
  * @param {PlayerHumanUnitType} type - "Bots", "Militia", "Slaves", "Mercs", or "SF"
@@ -331,7 +422,7 @@ App.SecExp.generateUnitID = function() {
  */
 App.SecExp.getUnit = function(type, index) {
 	if (type === "Bots") {
-		return new App.SecExp.DroneUnit(V.secBots, App.SecExp.BaseDroneUnit);
+		return new App.SecExp.DroneUnit(V.SecExp.units.bots, App.SecExp.BaseDroneUnit);
 	} else if (type === "SF") {
 		return new App.SecExp.SFUnit();
 	} else if (typeof index !== "number") {
@@ -340,11 +431,11 @@ App.SecExp.getUnit = function(type, index) {
 
 	switch (type) {
 		case "Militia":
-			return new App.SecExp.HumanUnit(V.militiaUnits[index], App.SecExp.BaseMilitiaUnit, type);
+			return new App.SecExp.HumanUnit(V.SecExp.units.militia.squads[index], App.SecExp.BaseMilitiaUnit, type);
 		case "Slaves":
-			return new App.SecExp.HumanUnit(V.slaveUnits[index], App.SecExp.BaseSlaveUnit, type);
+			return new App.SecExp.HumanUnit(V.SecExp.units.slaves.squads[index], App.SecExp.BaseSlaveUnit, type);
 		case "Mercs":
-			return new App.SecExp.HumanUnit(V.mercUnits[index], App.SecExp.BaseMercUnit, type);
+			return new App.SecExp.HumanUnit(V.SecExp.units.mercs.squads[index], App.SecExp.BaseMercUnit, type);
 		default:
 			throw `Unknown unit type: ${type}`;
 	}
@@ -843,7 +934,7 @@ App.SecExp.HumanUnit = class SecExpHumanUnit extends App.SecExp.Unit {
 };
 
 App.SecExp.troopsFromSF = function() {
-	if (V.slaveRebellion !== 1 || V.citizenRebellion !== 1) { // attack: how many troops can we actually carry?
+	if (V.slaveRebellion === 0 && V.citizenRebellion === 0) { // attack: how many troops can we actually carry?
 		const transportMax = Math.trunc(125 * (V.SF.Squad.GunS + (V.terrain !== "oceanic" ? ((V.SF.Squad.AV + V.SF.Squad.TV)/2) : 0)));
 		return Math.min(transportMax, V.SF.ArmySize);
 	} else {
@@ -854,7 +945,7 @@ App.SecExp.troopsFromSF = function() {
 App.SecExp.SFUnit = class SFUnit extends App.SecExp.Unit {
 	constructor() {
 		super(null, App.SecExp.BaseSpecialForcesUnit);
-		this._distancePenalty = (V.slaveRebellion !== 1 || V.citizenRebellion !== 1) ? 0.10 : 0.0;
+		this._distancePenalty = (V.slaveRebellion === 0 && V.citizenRebellion === 0) ? 0.10 : 0.0;
 	}
 
 	get attack() {
@@ -1092,7 +1183,7 @@ App.SecExp.describeUnit = (function() {
 })();
 
 App.SecExp.mercenaryAvgLoyalty = function() {
-	return _.mean(V.mercUnits.filter((u) => u.active === 1).map((u) => u.loyalty));
+	return _.mean(V.SecExp.units.mercs.squads.filter((u) => u.active === 1).map((u) => u.loyalty));
 };
 
 App.SecExp.Manpower = {
@@ -1101,15 +1192,15 @@ App.SecExp.Manpower = {
 	},
 
 	get employedMilitia() {
-		return V.militiaUnits.reduce((acc, cur) => acc + cur.troops, 0);
+		return V.SecExp.units.militia.squads.reduce((acc, cur) => acc + cur.troops, 0);
 	},
 
 	get freeMilitia() {
-		return V.militiaFreeManpower;
+		return V.SecExp.units.militia.free;
 	},
 
 	get employedSlave() {
-		return V.slaveUnits.reduce((acc, cur) => acc + cur.troops, 0);
+		return V.SecExp.units.slaves.squads.reduce((acc, cur) => acc + cur.troops, 0);
 	},
 
 	get totalMerc() {
@@ -1117,11 +1208,11 @@ App.SecExp.Manpower = {
 	},
 
 	get employedMerc() {
-		return V.mercUnits.reduce((acc, cur) => acc + cur.troops, 0);
+		return V.SecExp.units.mercs.squads.reduce((acc, cur) => acc + cur.troops, 0);
 	},
 
 	get freeMerc() {
-		return V.mercFreeManpower;
+		return V.SecExp.units.mercs.free;
 	},
 
 	get employedOverall() {
diff --git a/src/Mods/SecExp/js/secExp.js b/src/Mods/SecExp/js/secExp.js
index 9592dbabc15106671b00b2a03ffda7b307d00ddf..cfa45a88dae674a91b0c8866bc425e37765cafce 100644
--- a/src/Mods/SecExp/js/secExp.js
+++ b/src/Mods/SecExp/js/secExp.js
@@ -224,18 +224,14 @@ App.SecExp.generator = (function() {
 			const rebelPercent = 0.3 * authFactor;
 			const irregularPercent = 0.2 * repFactor;
 
-			const isDisloyal = (squad) => ((squad.loyalty < 10 && random(1, 100) <= 70) || (squad.loyalty < 33 && random(1, 100) <= 30) || (squad.loyalty < 66 && random(1, 100) <= 10));
+			const isDisloyal = (x) => (x < 10 && jsRandom(1, 100) <= 70) || (x < 33 && jsRandom(1, 100) <= 30) || (x < 66 && jsRandom(1, 100) <= 10);
 			const baseValue = Math.trunc((isSlaveRebellion ? V.ASlaves : V.ACitizens) * rebelPercent * weekMod) + random(-100, 100);
 			const highestValue = isSlaveRebellion ? V.ASlaves : V.ACitizens;
 			V.SecExp.war.attacker.troops = Math.clamp(baseValue, 50, highestValue);
 			V.SecExp.war.attacker.equip = Math.clamp(V.SecExp.edicts.weaponsLaw + random((isSlaveRebellion ? -2 : -1), 1), 0, 4);
 			V.SecExp.war.irregulars = Math.clamp(Math.trunc(V.ACitizens * irregularPercent * weekMod) + random(-100, 100), 50, V.ACitizens);
 			V.SecExp.war.engageRule = 0;
-			V.SecExp.war.rebellingID = [].concat(
-				V.slaveUnits.filter(isDisloyal).map(u => u.ID),
-				V.militiaUnits.filter(isDisloyal).map(u => u.ID),
-				V.mercUnits.filter(isDisloyal).map(u => u.ID)
-			);
+			V.SecExp.war.rebellingID = [].concat(App.SecExp.unit.humanSquads().map(u => u.loyalty).filter(isDisloyal));
 		}
 	}
 })();
@@ -422,15 +418,13 @@ App.SecExp.generalInit = function() {
 			currency: "",
 			type: "crime"
 		},
-		/*
-		repairTime: {
+		/* repairTime: {
 			waterway: 0,
 			assistant: 0,
 			reactor: 0,
 			arc: 0
-		},
+		}, */
 		units: {},
-		*/
 		edicts: {
 			alternativeRents: 0,
 			enslavementRights: 0,
@@ -471,14 +465,12 @@ App.SecExp.generalInit = function() {
 				pharaonTradition: 0,
 			}
 		},
-		smilingMan: {progress: 0},
-		defaultNames: {
-			slaves: "slave platoon",
-			militia: "citizens' platoon",
-			mercs: "mercenary platoon"
-		}
+		smilingMan: {progress: 0}
 	});
 
+	for (const unit of App.SecExp.unit.list()) {
+		App.SecExp.unit.gen(unit);
+	}
 	App.SecExp.initTrade();
 };
 
@@ -613,44 +605,33 @@ App.SecExp.battle = (function() {
 	 * @returns {number} unit count
 	 */
 	function deployedUnits(input = '') {
-		let bots = 0, militiaC = 0, slavesC = 0, mercsC = 0, init = 0;
-		if (V.slaveRebellion !== 1 && V.citizenRebellion !== 1) { // attack
-			if (V.secBots.isDeployed > 0) {
-				bots++;
+		let count = {}, init = 0;
+		App.SecExp.unit.list().forEach(s => { count[s] = 0; });
+		if (V.slaveRebellion === 0 && V.citizenRebellion === 0) { // attack
+			if (V.SecExp.units.bots.isDeployed > 0) {
+				count.bots++;
 			}
 			if (V.SF.Toggle && V.SF.Active >= 1 && V.SecExp.war.deploySF) {
 				init++;
 			}
-
-			militiaC += V.militiaUnits.filter((u) => u.isDeployed === 1).length;
-			slavesC += V.slaveUnits.filter((u) => u.isDeployed === 1).length;
-			mercsC += V.mercUnits.filter((u) => u.isDeployed === 1).length;
 		} else { // rebellion
-			if (V.secBots.active > 0) {
-				bots++;
+			if (V.SecExp.units.bots.active > 0) {
+				count.bots++;
 			}
 			if (V.SF.Toggle && V.SF.Active >= 1) {
 				init++;
 			}
 			if (V.SecExp.war.irregulars > 0) {
-				militiaC++;
+				count.militia++;
 			}
-
-			militiaC += V.militiaUnits.filter((u) => u.active === 1 && !V.SecExp.war.rebellingID.includes(u.ID)).length;
-			slavesC += V.slaveUnits.filter((u) => u.active === 1 && !V.SecExp.war.rebellingID.includes(u.ID)).length;
-			mercsC += V.mercUnits.filter((u) => u.active === 1 && !V.SecExp.war.rebellingID.includes(u.ID)).length;
 		}
+		
+		App.SecExp.unit.list().slice(1).forEach(s => { count[s] += V.SecExp.units[s].squads.filter((u) => App.SecExp.unit.isDeployed(u)).length; });
 
 		if (input === '') {
-			return bots + militiaC + slavesC + mercsC + init;
-		} else if (input === 'bots') {
-			return bots;
-		} else if (input === 'militia') {
-			return militiaC;
-		} else if (input === 'slaves') {
-			return slavesC;
-		} else if (input === 'mercs') {
-			return mercsC;
+			return Object.values(count).reduce((a, b) => a + b) + init;
+		} else {
+			return count[input];
 		}
 	}
 
@@ -662,7 +643,8 @@ App.SecExp.battle = (function() {
 
 		/** @param {function(FC.SecExp.PlayerHumanUnitData) : boolean} pred */
 		function countHumanTroops(pred) {
-			const arrays = [V.militiaUnits, V.slaveUnits, V.mercUnits];
+			let arrays = [];
+			Object.values(V.SecExp.units).slice(1).forEach(s => { arrays.push(s.squads); });
 			for (const arr of arrays) {
 				for (const unit of arr) {
 					if (pred(unit)) {
@@ -672,9 +654,9 @@ App.SecExp.battle = (function() {
 			}
 		}
 
-		if (V.slaveRebellion !== 1 && V.citizenRebellion !== 1) { // attack
-			if (V.secBots.isDeployed === 1) {
-				troops += V.secBots.troops;
+		if (V.slaveRebellion === 0 && V.citizenRebellion === 0) { // attack
+			if (V.SecExp.units.bots.isDeployed === 1) {
+				troops += V.SecExp.units.bots.troops;
 			}
 			countHumanTroops((u) => u.isDeployed === 1);
 			if (V.SF.Toggle && V.SF.Active >= 1 && V.SecExp.war.deploySF) {
@@ -684,8 +666,8 @@ App.SecExp.battle = (function() {
 			if (V.SecExp.war.irregulars > 0) {
 				troops += V.SecExp.war.irregulars;
 			}
-			if (V.secBots.active === 1) {
-				troops += V.secBots.troops;
+			if (V.SecExp.units.bots.active === 1) {
+				troops += V.SecExp.units.bots.troops;
 			}
 			countHumanTroops((u) => u.active === 1 && !V.SecExp.war.rebellingID.includes(u.ID));
 			if (V.SF.Toggle && V.SF.Active >= 1) {
@@ -725,27 +707,12 @@ App.SecExp.battle = (function() {
 	 */
 	function deployableUnits() {
 		let init = 2 * App.SecExp.battle.deploySpeed();
-		if (V.secBots.isDeployed > 0) {
+		if (V.SecExp.units.bots.isDeployed > 0) {
 			init--;
 		}
 
-		const Militia = V.militiaUnits.length;
-		for (let i = 0; i < Militia; i++) {
-			if (V.militiaUnits[i].isDeployed > 0) {
-				init--;
-			}
-		}
-
-		const Slaves = V.slaveUnits.length;
-		for (let i = 0; i < Slaves; i++) {
-			if (V.slaveUnits[i].isDeployed > 0) {
-				init--;
-			}
-		}
-
-		const Mercs = V.mercUnits.length;
-		for (let i = 0; i < Mercs; i++) {
-			if (V.mercUnits[i].isDeployed > 0) {
+		for (const squad of App.SecExp.unit.humanSquads()) {
+			if (squad.isDeployed > 0) {
 				init--;
 			}
 		}
@@ -757,7 +724,7 @@ App.SecExp.battle = (function() {
 	 * @returns {number}
 	 */
 	function activeUnits() {
-		return V.secBots.active + V.militiaUnits.length + V.slaveUnits.length + V.mercUnits.length;
+		return V.SecExp.units.bots.active + App.SecExp.unit.humanSquads().length;
 	}
 
 	/** Get maximum active units
@@ -766,7 +733,7 @@ App.SecExp.battle = (function() {
 	function maxUnits() {
 		let max = 0;
 		if (V.SecExp.buildings.barracks) {
-			max = 8 + (V.SecExp.buildings.barracks.size * 2);
+			max += 8 + (V.SecExp.buildings.barracks.size * 2);
 			if (App.SecExp.battle.deploySpeed() === 10) {
 				max += 2;
 			}
diff --git a/src/Mods/SecExp/js/secExpBC.js b/src/Mods/SecExp/js/secExpBC.js
index ab7ac1ef1ae6e4b4cfe4b9761eefe34b254a8141..46d090fd112fa47a735368f41e087ea971092e0c 100644
--- a/src/Mods/SecExp/js/secExpBC.js
+++ b/src/Mods/SecExp/js/secExpBC.js
@@ -75,58 +75,46 @@ App.SecExp.generalBC = function() {
 		V.SecExp.edicts.defense.privilege.slaveSoldier = V.SecExp.edicts.defense.privilege.slaveSoldier || V.slaveSoldier || 0;
 		V.SecExp.edicts.defense.privilege.mercSoldier = V.SecExp.edicts.defense.privilege.mercSoldier || V.mercSoldier || 0;
 
-		V.SecExp.defaultNames = V.SecExp.defaultNames || {};
-		V.SecExp.defaultNames.slaves = V.SecExp.defaultNames.slaves || "slave platoon";
-		V.SecExp.defaultNames.militia = V.SecExp.defaultNames.militia || "citizens' platoon";
-		if (jsDef(V.SecExp.defaultNames.milita)) {
-			V.SecExp.defaultNames.militia = V.SecExp.defaultNames.milita;
-			delete V.SecExp.defaultNames.milita;
-		}
-		V.SecExp.defaultNames.mercs = V.SecExp.defaultNames.mercs || "mercenary platoon";
-
-		// V.SecExp.units = V.SecExp.units || {};
-		Object.assign(V.secBots, {
-			active: Math.max(0, V.secBots.active) || V.arcologyUpgrade.drones > 0 ? 1 : 0,
-			ID: -1,
-			isDeployed: V.secBots.isDeployed || 0,
-			troops: Math.max(V.secBots.troops || 0, V.arcologyUpgrade.drones > 0 ? 30 : 0),
-			maxTroops: Math.max(V.secBots.maxTroops || 0, V.arcologyUpgrade.drones > 0 ? 30 : 0)
-		});
-		/* if (V.secBots) {
+		V.SecExp.units = V.SecExp.units || {};
+		V.SecExp.units.bots = V.SecExp.units.bots || {};
+		V.SecExp.units.bots.active = Math.max(0, V.SecExp.units.bots.active) || V.arcologyUpgrade.drones > 0 ? 1 : 0;
+		V.SecExp.units.bots.ID = -1;
+		V.SecExp.units.bots.isDeployed = V.SecExp.units.bots.isDeployed || 0;
+		V.SecExp.units.bots.troops = Math.max(V.SecExp.units.bots.troops || 0, V.arcologyUpgrade.drones > 0 ? 30 : 0);
+		V.SecExp.units.bots.maxTroops = Math.max(V.SecExp.units.bots.maxTroops || 0, V.arcologyUpgrade.drones > 0 ? 30 : 0);
+		V.SecExp.units.bots.equip = V.SecExp.units.bots.equip || 0;
+		if (V.secBots) {
 			V.SecExp.units.bots = V.secBots;
 		}
-		*/
-		// V.SecExp.units.slaves = V.SecExp.units.slaves || {};
-		// V.SecExp.units.slaves.casualties = V.SecExp.units.slaves.casualties || V.slavesTotalCasualties || 0;
-		// V.SecExp.units.slaves.created = V.SecExp.units.slaves.created || V.createdSlavesUnits || 0;
-		// V.SecExp.units.slaves.sqauds = V.SecExp.units.slaves.sqauds || V.slaveUnits || [];
-		for (let i = 0; i < V.slaveUnits; i++) {
-			App.SecExp.fixBrokenUnit(V.slaveUnits[i]);
-		}
-
-		// V.SecExp.units.milita = V.SecExp.units.milita || {};
-		// V.SecExp.units.milita.created = V.SecExp.units.milita.created || V.createdMilitiaUnits || 0;
-		// V.SecExp.units.milita.free = V.SecExp.units.milita.free || V.militiaFreeManpower || 0;
-		// V.SecExp.units.milita.casualties = V.SecExp.units.milita.casualties || V.militiaTotalCasualties || 0;
-		// V.SecExp.units.milita.sqauds = V.SecExp.units.milita.sqauds || V.militiaUnits || [];
-		for (let i = 0; i < V.militiaUnits; i++) {
-			App.SecExp.fixBrokenUnit(V.militiaUnits[i]);
-		}
-
-		// V.SecExp.units.mercs = V.SecExp.units.mercs || {};
-		// V.SecExp.units.mercs.created = V.SecExp.units.mercs.created || V.createdMercUnits || 0;
-		// V.SecExp.units.mercs.free = V.SecExp.units.mercs.free || V.mercFreeManpower || 0;
-		if (V.mercFreeManpower === 0) {
+
+		App.SecExp.unit.gen('slaves', {count: V.createdSlavesUnits, killed: V.slavesTotalCasualties, squads: V.slaveUnits});
+		V.SecExp.units.slaves.defaultName = V.SecExp.units.slaves.defaultName || "slave platoon";
+
+		App.SecExp.unit.gen('militia', {count: V.createdMilitiaUnits, killed: V.militiaTotalCasualties, squads: V.militiaUnits, free: V.militiaFreeManpower});
+		V.SecExp.units.militia.defaultName = V.SecExp.units.militia.defaultName || "citizens' platoon";
+		if (jsDef(V.SecExp.defaultNames) && (V.SecExp.defaultNames.milita || V.SecExp.defaultNames.militia)) {
+			V.SecExp.units.militia.defaultName = V.SecExp.defaultNames.milita || V.SecExp.defaultNames.militia;
+			delete V.SecExp.defaultNames.milita; delete V.SecExp.defaultNames.militia;
+		}
+
+		App.SecExp.unit.gen('mercs', {count: V.createdMercUnits, killed: V.mercTotalCasualties, squads: V.mercUnits, free: V.mercFreeManpower});
+		V.SecExp.units.mercs.defaultName = V.SecExp.units.mercs.defaultName || "mercenary platoon";
+		if (V.SecExp.units.mercs.free === 0) {
 			if (V.mercenaries === 1) {
-				V.mercFreeManpower = 15;
+				V.SecExp.units.mercs.free = 15;
 			} else if (V.mercenaries > 1) {
-				V.mercFreeManpower = 30;
+				V.SecExp.units.mercs.free = 30;
 			}
 		}
-		// V.SecExp.units.mercs.casualties = V.SecExp.units.mercs.casualties || V.mercTotalCasualties || 0;
-		// V.SecExp.units.mercs.sqauds = V.SecExp.units.mercs.sqauds || V.mercUnits || [];
-		for (let i = 0; i < V.mercUnits; i++) {
-			App.SecExp.fixBrokenUnit(V.mercUnits[i]);
+
+		for (const squad of App.SecExp.unit.humanSquads()) {
+			App.SecExp.unit.fixBroken(squad);
+		}
+
+		if (V.SecExp.defaultNames) {
+			V.SecExp.units.slaves.defaultName = V.SecExp.defaultNames.slaves;
+			V.SecExp.units.mercs.defaultName = V.SecExp.defaultNames.mercs;
+			delete V.SecExp.defaultNames;
 		}
 
 		V.SecExp.smilingMan = V.SecExp.smilingMan || {};
diff --git a/src/Mods/SecExp/js/securityReport.js b/src/Mods/SecExp/js/securityReport.js
index 3f6552138319cda81673e2727c74c8a975e0efd8..8a7ee5f3cdefbd59afa6460868b075015062c068 100644
--- a/src/Mods/SecExp/js/securityReport.js
+++ b/src/Mods/SecExp/js/securityReport.js
@@ -386,7 +386,7 @@ App.SecExp.securityReport = function() {
 
 			const recruits = Math.trunc((recruitLimit * V.ACitizens - App.SecExp.Manpower.totalMilitia) / 20 * recruitsMultiplier);
 			if (recruits > 0) {
-				V.militiaFreeManpower += recruits;
+				V.SecExp.units.militia.free += recruits;
 				r.push(`This week ${recruits} citizens joined the militia.<br>`);
 			} else if (V.SecExp.edicts.defense.militia === 5) {
 				r.push(`No citizens joined your militia this week because your society is as militarized as it can get.<br>`);
@@ -441,23 +441,19 @@ App.SecExp.securityReport = function() {
 			}
 			newMercs = Math.trunc(newMercs / 2);
 			if (newMercs > 0) {
-				V.mercFreeManpower += newMercs;
+				V.SecExp.units.mercs.free += newMercs;
 				r.push(`This week ${newMercs} mercenaries reached the arcology.<br>`);
 			} else {
 				r.push(`This week no new mercenaries reached the arcology.<br>`);
 			}
-			V.mercFreeManpower = Math.clamp(V.mercFreeManpower, 0, 2000);
+			V.SecExp.units.mercs.free = Math.clamp(V.SecExp.units.mercs.free, 0, 2000);
 		}
 
 		if (activeUnits > 0) { // loyalty and training
-			for (const unit of V.slaveUnits) {
-				r.push(App.SecExp.humanUnitLoyaltyChanges(unit, 'slave'));
-			}
-			for (const unit of V.militiaUnits) {
-				r.push(App.SecExp.humanUnitLoyaltyChanges(unit, 'citizens'));
-			}
-			for (const unit of V.mercUnits) {
-				r.push(App.SecExp.humanUnitLoyaltyChanges(unit, 'mercenary'));
+			for (const unit of App.SecExp.unit.list().slice(1)) {
+				for (const squad of V.SecExp.units[unit].squads) {
+					r.push(App.SecExp.unit.humanLoyaltyChanges(squad, unit));
+				}
 			}
 		}
 	}
diff --git a/src/Mods/SecExp/miscSecExpWidgets.tw b/src/Mods/SecExp/miscSecExpWidgets.tw
deleted file mode 100644
index b79afeb83c3664d5353cf0e4de90240fe18acfed..0000000000000000000000000000000000000000
--- a/src/Mods/SecExp/miscSecExpWidgets.tw
+++ /dev/null
@@ -1,111 +0,0 @@
-:: miscSecExpWidgets [widget nobr]
-
-<<widget "fixBrokenStats">>
-	<<if !Number.isInteger($mercTotalCasualties)>>
-		<<set $mercTotalCasualties = 0>>
-	<</if>>
-	<<if !Number.isInteger($slavesTotalCasualties)>>
-		<<set $slavesTotalCasualties = 0>>
-	<</if>>
-	<<if !Number.isInteger($militiaTotalCasualties)>>
-		<<set $militiaTotalCasualties = 0>>
-	<</if>>
-	<<if !Number.isInteger($militiaFreeManpower)>>
-		<<set $militiaFreeManpower = 0>>
-	<</if>>
-<</widget>>
-
-<<widget "replenishAllUnits">>
-	<<set _hasLossesBots = 0, _hasLossesM = 0, _hasLossesS = 0, _hasLossesMe = 0>>
-
-	<<if $secBots.troops < $secBots.maxTroops && $cash >= 500>>
-		<<set _hasLossesBots = 1>>
-	<</if>>
-
-	<<for _i = 0; _i < $militiaUnits.length; _i++>>
-		<<if $militiaUnits[_i].troops < $militiaUnits[_i].maxTroops && $militiaFreeManpower > 0>>
-			<<set _hasLossesM = 1>>
-			<<break>>
-		<</if>>
-	<</for>>
-
-	<<for _i = 0; _i < $slaveUnits.length; _i++>>
-		<<if $slaveUnits[_i].troops < $slaveUnits[_i].maxTroops && $menials > 0>>
-			<<set _hasLossesS = 1>>
-			<<break>>
-		<</if>>
-	<</for>>
-
-	<<for _i = 0; _i < $mercUnits.length; _i++>>
-		<<if $mercUnits[_i].troops < $mercUnits[_i].maxTroops && $mercFreeManpower > 0>>
-			<<set _hasLossesMe = 1>>
-			<<break>>
-		<</if>>
-	<</for>>
-
-	<<if _hasLossesBots == 1 || _hasLossesM == 1 || _hasLossesS == 1 || _hasLossesMe == 1>>
-		<<link "Replenish all units">>
-			<<if _hasLossesBots == 1>>
-					<<run cashX(-(($secBots.maxTroops - $secBots.troops) * 500), "securityExpansion")>>
-					<<set $secBots.troops = $secBots.maxTroops>>
-			<</if>>
-
-			<<if _hasLossesM == 1>>
-				<<for _i = 0; _i < $militiaUnits.length; _i++>>
-					<<if $militiaUnits[_i].troops < $militiaUnits[_i].maxTroops && $militiaFreeManpower > 0>>
-						<<if $militiaFreeManpower >= $militiaUnits[_i].maxTroops - $militiaUnits[_i].troops>>
-							<<set $militiaFreeManpower -= $militiaUnits[_i].maxTroops - $militiaUnits[_i].troops>>
-							<<set _expLoss = ($militiaUnits[_i].maxTroops - $militiaUnits[_i].troops) / $militiaUnits[_i].troops>>
-							<<set $militiaUnits[_i].training -= $militiaUnits[_i].training * _expLoss>>
-							<<set $militiaUnits[_i].troops = $militiaUnits[_i].maxTroops>>
-						<<else>>
-							<<set _expLoss = $militiaFreeManpower / $militiaUnits[_i].troops>>
-							<<set $militiaUnits[_i].training -= $militiaUnits[_i].training * _expLoss>>
-							<<set $militiaUnits[_i].troops += $militiaFreeManpower>>
-							<<set $militiaFreeManpower = 0>>
-						<</if>>
-					<</if>>
-				<</for>>
-			<</if>>
-
-			<<if _hasLossesS == 1>>
-				<<for _i = 0; _i < $slaveUnits.length; _i++>>
-					<<if $slaveUnits[_i].troops < $slaveUnits[_i].maxTroops && $menials > 0>>
-						<<if $menials >= $slaveUnits[_i].maxTroops - $slaveUnits[_i].troops>>
-							<<set $menials -= $slaveUnits[_i].maxTroops - $slaveUnits[_i].troops>>
-							<<set _expLoss = ($slaveUnits[_i].maxTroops - $slaveUnits[_i].troops) / $slaveUnits[_i].troops>>
-							<<set $slaveUnits[_i].training -= $slaveUnits[_i].training * _expLoss>>
-							<<set $slaveUnits[_i].troops = $slaveUnits[_i].maxTroops>>
-						<<else>>
-							<<set _expLoss = $menials / $slaveUnits[_i].troops>>
-							<<set $slaveUnits[_i].training -= $slaveUnits[_i].training * _expLoss>>
-							<<set $slaveUnits[_i].troops += $menials>>
-							<<set $menials = 0>>
-						<</if>>
-					<</if>>
-				<</for>>
-			<</if>>
-
-			<<if _hasLossesMe == 1>>
-				<<for _i = 0; _i < $mercUnits.length; _i++>>
-					<<if $mercUnits[_i].troops < $mercUnits[_i].maxTroops && $mercFreeManpower > 0>>
-						<<if $mercFreeManpower >= $mercUnits[_i].maxTroops - $mercUnits[_i].troops>>
-							<<set $mercFreeManpower -= $mercUnits[_i].maxTroops - $mercUnits[_i].troops>>
-							<<set _expLoss = ($mercUnits[_i].maxTroops - $mercUnits[_i].troops) / $mercUnits[_i].troops>>
-							<<set $mercUnits[_i].training -= $mercUnits[_i].training * _expLoss>>
-							<<set $mercUnits[_i].troops = $mercUnits[_i].maxTroops>>
-						<<else>>
-							<<set _expLoss = $mercFreeManpower / $mercUnits[_i].troops>>
-							<<set $mercUnits[_i].training -= $mercUnits[_i].training * _expLoss>>
-							<<set $mercUnits[_i].troops += $mercFreeManpower>>
-							<<set $mercFreeManpower = 0>>
-						<</if>>
-					<</if>>
-				<</for>>
-			<</if>>
-
-			<<= SugarCube.Engine.play(passage())>>
-		<</link>>
-		//Will replenish units as long as requirements are met.//<br>
-	<</if>>
-<</widget>>
\ No newline at end of file
diff --git a/src/Mods/SecExp/rebellionHandler.tw b/src/Mods/SecExp/rebellionHandler.tw
index aaeae9668b5faf77ec5a8c42ca695538bbad3912..616d38db20bbeb2f28c4b6e79be41262a52628ed 100644
--- a/src/Mods/SecExp/rebellionHandler.tw
+++ b/src/Mods/SecExp/rebellionHandler.tw
@@ -47,31 +47,31 @@
 	<<set _hp += _unit.hp>>
 <</if>>
 
-<<if $secBots.active == 1>>
+<<if $SecExp.units.bots.active == 1>>
 	<<set _unit = App.SecExp.getUnit("Bots")>>
 	<<set _attack += _unit.attack>>
 	<<set _defense += _unit.defense>>
 	<<set _hp += _unit.hp>>
 <</if>>
 
-<<for _i = 0; _i < $militiaUnits.length; _i++>>
-	<<if $militiaUnits[_i].active == 1 && (!$SecExp.war.rebellingID.includes($militiaUnits[_i].ID))>>
+<<for _i = 0; _i < $SecExp.units.militia.squads.length; _i++>>
+	<<if $SecExp.units.militia.squads[_i].active == 1 && (!$SecExp.war.rebellingID.includes($SecExp.units.militia.squads[_i].ID))>>
 		<<set _unit = App.SecExp.getUnit("Militia", _i)>>
 		<<set _attack += _unit.attack>>
 		<<set _defense += _unit.defense>>
 		<<set _hp += _unit.hp>>
 	<</if>>
 <</for>>
-<<for _i = 0; _i < $slaveUnits.length; _i++>>
-	<<if $slaveUnits[_i].active == 1 && (!$SecExp.war.rebellingID.includes($slaveUnits[_i].ID))>>
+<<for _i = 0; _i < $SecExp.units.slaves.squads.length; _i++>>
+	<<if $SecExp.units.slaves.squads[_i].active == 1 && (!$SecExp.war.rebellingID.includes($SecExp.units.slaves.squads[_i].ID))>>
 		<<set _unit = App.SecExp.getUnit("Slaves", _i)>>
 		<<set _attack += _unit.attack>>
 		<<set _defense += _unit.defense>>
 		<<set _hp += _unit.hp>>
 	<</if>>
 <</for>>
-<<for _i = 0; _i < $mercUnits.length; _i++>>
-	<<if $mercUnits[_i].active == 1 && (!$SecExp.war.rebellingID.includes($mercUnits[_i].ID))>>
+<<for _i = 0; _i < $SecExp.units.mercs.squads.length; _i++>>
+	<<if $SecExp.units.mercs.squads[_i].active == 1 && (!$SecExp.war.rebellingID.includes($SecExp.units.mercs.squads[_i].ID))>>
 		<<set _unit = App.SecExp.getUnit("Mercs", _i)>>
 		<<set _attack += _unit.attack>>
 		<<set _defense += _unit.defense>>
@@ -114,10 +114,10 @@
 <<set _moraleTroopMod = Math.clamp(App.SecExp.battle.troopCount() / 100,1,10)>>
 
 /* morale and baseHp calculation */
-<<set _morale += (App.SecExp.BaseDroneUnit.morale * $secBots.active + App.SecExp.BaseMilitiaUnit.morale * App.SecExp.battle.deployedUnits('militia') + App.SecExp.BaseSlaveUnit.morale * App.SecExp.battle.deployedUnits('slaves') + App.SecExp.BaseMercUnit.morale * App.SecExp.battle.deployedUnits('mercs') + App.SecExp.BaseSpecialForcesUnit.morale * $SF.Active) / ($secBots.active + App.SecExp.battle.deployedUnits('militia') + App.SecExp.battle.deployedUnits('slaves') + App.SecExp.battle.deployedUnits('mercs') + $SF.Active)>>
+<<set _morale += (App.SecExp.BaseDroneUnit.morale * $SecExp.units.bots.active + App.SecExp.BaseMilitiaUnit.morale * App.SecExp.battle.deployedUnits('militia') + App.SecExp.BaseSlaveUnit.morale * App.SecExp.battle.deployedUnits('slaves') + App.SecExp.BaseMercUnit.morale * App.SecExp.battle.deployedUnits('mercs') + App.SecExp.BaseSpecialForcesUnit.morale * $SF.Active) / ($SecExp.units.bots.active + App.SecExp.battle.deployedUnits('militia') + App.SecExp.battle.deployedUnits('slaves') + App.SecExp.battle.deployedUnits('mercs') + $SF.Active)>>
 <<set _morale += _morale * $SecExp.buildings.barracks ? $SecExp.buildings.barracks.luxury * 0.05 : 0>>	/* barracks bonus */
 <<set _morale *= _moraleTroopMod>>
-<<set _baseHp = (App.SecExp.BaseDroneUnit.hp * $secBots.active + App.SecExp.BaseMilitiaUnit.hp * App.SecExp.battle.deployedUnits('militia') + App.SecExp.BaseSlaveUnit.hp * App.SecExp.battle.deployedUnits('slaves') + App.SecExp.BaseMercUnit.hp * App.SecExp.battle.deployedUnits('mercs') + App.SecExp.BaseSpecialForcesUnit.hp * $SF.Active) / ($secBots.active + App.SecExp.battle.deployedUnits('militia') + App.SecExp.battle.deployedUnits('slaves') + App.SecExp.battle.deployedUnits('mercs') + $SF.Active)>>
+<<set _baseHp = (App.SecExp.BaseDroneUnit.hp * $SecExp.units.bots.active + App.SecExp.BaseMilitiaUnit.hp * App.SecExp.battle.deployedUnits('militia') + App.SecExp.BaseSlaveUnit.hp * App.SecExp.battle.deployedUnits('slaves') + App.SecExp.BaseMercUnit.hp * App.SecExp.battle.deployedUnits('mercs') + App.SecExp.BaseSpecialForcesUnit.hp * $SF.Active) / ($SecExp.units.bots.active + App.SecExp.battle.deployedUnits('militia') + App.SecExp.battle.deployedUnits('slaves') + App.SecExp.battle.deployedUnits('mercs') + $SF.Active)>>
 
 /* calculates rebelling army stats */
 <<if $week <= 30>>
@@ -145,33 +145,33 @@
 <<set _enemyDefense += _unit.defense * _armyMod>>
 <<set _enemyHp += _unit.hp>>
 
-<<for _i = 0; _i < $militiaUnits.length; _i++>>
-	<<if $militiaUnits[_i].active == 1 && $SecExp.war.rebellingID.includes($militiaUnits[_i].ID)>>
+<<for _i = 0; _i < $SecExp.units.militia.squads.length; _i++>>
+	<<if $SecExp.units.militia.squads[_i].active == 1 && $SecExp.war.rebellingID.includes($SecExp.units.militia.squads[_i].ID)>>
 		<<set _rebellingMilitia = 1>>
-		<<set $SecExp.war.attacker.troops += $militiaUnits[_i].troops>>
-		<<set $militiaUnits[_i].loyalty = 0>>
+		<<set $SecExp.war.attacker.troops += $SecExp.units.militia.squads[_i].troops>>
+		<<set $SecExp.units.militia.squads[_i].loyalty = 0>>
 		<<set _unit = App.SecExp.getUnit("Militia", _i)>>
 		<<set _enemyAttack += _unit.attack>>
 		<<set _enemyDefense += _unit.defense>>
 		<<set _enemyHp += _unit.hp>>
 	<</if>>
 <</for>>
-<<for _i = 0; _i < $slaveUnits.length; _i++>>
-	<<if $slaveUnits[_i].active == 1 && $SecExp.war.rebellingID.includes($slaveUnits[_i].ID)>>
+<<for _i = 0; _i < $SecExp.units.slaves.squads.length; _i++>>
+	<<if $SecExp.units.slaves.squads[_i].active == 1 && $SecExp.war.rebellingID.includes($SecExp.units.slaves.squads[_i].ID)>>
 		<<set _rebellingSlaves = 1>>
-		<<set $SecExp.war.attacker.troops += $slaveUnits[_i].troops>>
-		<<set $slaveUnits[_i].loyalty = 0>>
+		<<set $SecExp.war.attacker.troops += $SecExp.units.slaves.squads[_i].troops>>
+		<<set $SecExp.units.slaves.squads[_i].loyalty = 0>>
 		<<set _unit = App.SecExp.getUnit("Slaves", _i)>>
 		<<set _enemyAttack += _unit.attack>>
 		<<set _enemyDefense += _unit.defense>>
 		<<set _enemyHp += _unit.hp>>
 	<</if>>
 <</for>>
-<<for _i = 0; _i < $mercUnits.length; _i++>>
-	<<if $mercUnits[_i].active == 1 && $SecExp.war.rebellingID.includes($mercUnits[_i].ID)>>
+<<for _i = 0; _i < $SecExp.units.mercs.squads.length; _i++>>
+	<<if $SecExp.units.mercs.squads[_i].active == 1 && $SecExp.war.rebellingID.includes($SecExp.units.mercs.squads[_i].ID)>>
 		<<set _rebellingMercs = 1>>
-		<<set $SecExp.war.attacker.troops += $mercUnits[_i].troops>>
-		<<set $mercUnits[_i].loyalty = 0>>
+		<<set $SecExp.war.attacker.troops += $SecExp.units.mercs.squads[_i].troops>>
+		<<set $SecExp.units.mercs.squads[_i].loyalty = 0>>
 		<<set _unit = App.SecExp.getUnit("Mercs", _i)>>
 		<<set _enemyAttack += _unit.attack>>
 		<<set _enemyDefense += _unit.defense>>
diff --git a/src/Mods/SecExp/rebellionOptions.tw b/src/Mods/SecExp/rebellionOptions.tw
index 8dec36223fc81d66f1f8ee395fac74ce5cec7646..5414599c252142c611cc0cf77aecf75ad3cf14bf 100644
--- a/src/Mods/SecExp/rebellionOptions.tw
+++ b/src/Mods/SecExp/rebellionOptions.tw
@@ -1,7 +1,7 @@
 :: rebellionOptions [nobr]
 
 <<set $nextButton = " ", $encyclopedia = "Battles">>
-<<set _isSlaveRebellion = $slaveRebellion === 1, _loyalUnits = $militiaUnits.length + $slaveUnits.length + $mercUnits.length - $SecExp.war.rebellingID.length>>
+<<set _isSlaveRebellion = $slaveRebellion === 1, _loyalUnits = App.SecExp.unit.list().slice(1).reduce((acc, cur) => {acc + V.SecExp.units[cur].squads.length;}, 0) - $SecExp.war.rebellingID.length>>
 
 <strong> <<if _isSlaveRebellion>>Slave<<else>>Citizen<</if>> Rebellion!</strong>
 <hr>
@@ -27,68 +27,29 @@ It appears <strong><<print num(Math.trunc($SecExp.war.attacker.troops))>></stron
 <<set _count = 0>>
 <<if $SecExp.war.rebellingID.length > 0>>
 	<br><br>
-	<<for _unit range $militiaUnits>>
-		<<if _unit.active == 1 && ($SecExp.war.rebellingID.includes(_unit.ID))>>
+	<<for _squad range App.SecExp.unit.humanSquads()>>
+		<<if _squad.active == 1 && ($SecExp.war.rebellingID.includes(_squad.ID))>>
 			<<set _count++>>
 			<<if _count < $SecExp.war.rebellingID.length>>
-				_unit.platoonName,
+				_squad.platoonName,
 			<<else>>
-				_unit.platoonName
-			<</if>>
-		<</if>>
-	<</for>>
-	<<for _unit range $slaveUnits>>
-		<<if _unit.active == 1 && ($SecExp.war.rebellingID.includes(_unit.ID))>>
-			<<set _count++>>
-			<<if _count < $SecExp.war.rebellingID.length>>
-				_unit.platoonName,
-			<<else>>
-				_unit.platoonName
-			<</if>>
-		<</if>>
-	<</for>>
-	<<for _unit range $mercUnits>>
-		<<if _unit.active == 1 && ($SecExp.war.rebellingID.includes(_unit.ID))>>
-			<<set _count++>>
-			<<if _count < $SecExp.war.rebellingID.length>>
-				_unit.platoonName,
-			<<else>>
-				_unit.platoonName
+				_squad.platoonName
 			<</if>>
 		<</if>>
 	<</for>>
 	betrayed you and joined the insurrection.
 <</if>>
 <<set _count = 0, _dualUnits = $arcologyUpgrade.drones === 1 && $SF.Toggle && $SF.Active >= 1>>
-<br><br> <<if $arcologyUpgrade.drones === 1>>Your security drones<</if>><<if _loyalUnits > 0>>,<</if>>
+<br><br> <<if $arcologyUpgrade.drones === 1>>Your security drones<</if>>
 <<if _loyalUnits > 0>>
-	<<for _unit range $militiaUnits>>
-		<<if _unit.active == 1 && (!$SecExp.war.rebellingID.includes(_unit.ID))>>
-			<<set _count++>>
-			<<if _count < _loyalUnits>>
-				_unit.platoonName,
-			<<else>>
-				_unit.platoonName
-			<</if>>
-		<</if>>
-	<</for>>
-	<<for _unit range $slaveUnits>>
-		<<if _unit.active == 1 && (!$SecExp.war.rebellingID.includes(_unit.ID))>>
-			<<set _count++>>
-			<<if _count < _loyalUnits>>
-				_unit.platoonName,
-			<<else>>
-				_unit.platoonName
-			<</if>>
-		<</if>>
-	<</for>>
-	<<for _unit range $mercUnits>>
-		<<if _unit.active == 1 && (!$SecExp.war.rebellingID.includes(_unit.ID))>>
+	,
+	<<for _squad range App.SecExp.unit.humanSquads()>>
+		<<if _squad.active == 1 && (!$SecExp.war.rebellingID.includes(_squad.ID))>>
 			<<set _count++>>
 			<<if _count < _loyalUnits>>
-				_unit.platoonName,
+				_squad.platoonName,
 			<<else>>
-				_unit.platoonName
+				_squad.platoonName
 			<</if>>
 		<</if>>
 	<</for>>
@@ -144,6 +105,6 @@ In order to preserve the structural integrity of the building and the lives of o
 	[[Discard the order|rebellionOptions][$garrison.waterway = 0]]
 <</if>>
 
-<br><br> <<replenishAllUnits>> <br>
+<br><br> <<includeDOM App.SecExp.unit.replenishAll()>>
 [[Proceed|rebellionHandler][$SecExp.war.result = 4, $foughtThisWeek = 1]] /* sets $SecExp.war.result to a value outside accepted range (-3,3) to avoid evaluation problems */
-<br>[[Surrender|rebellionReport][$SecExp.war.result = -1, $foughtThisWeek = 1]]
\ No newline at end of file
+<br>[[Surrender|rebellionReport][$SecExp.war.result = -1, $foughtThisWeek = 1]]
diff --git a/src/Mods/SecExp/unitsBattleReport.tw b/src/Mods/SecExp/unitsBattleReport.tw
index 871323bcdc45436e281aeeda423776f3b3fc4003..67744f41dee12a29daece5868eadf21a2ee732ff 100644
--- a/src/Mods/SecExp/unitsBattleReport.tw
+++ b/src/Mods/SecExp/unitsBattleReport.tw
@@ -8,42 +8,42 @@
 		<br><<print num($SF.ArmySize)>> soldiers from $SF.Lower joined the battle: no casualties suffered.
 	<</if>>
 	<<if App.SecExp.battle.deployedUnits('militia') >= 1>>
-		<<for _j = 0; _j < $militiaUnits.length; _j++>>
-			<<if $militiaUnits[_j].isDeployed == 1>>
-				<br>$militiaUnits[_j].platoonName: no casualties.
-				<<set $militiaUnits[_j].battlesFought++>>
-				<<if $militiaUnits[_j].training < 100>>
+		<<for _j = 0; _j < $SecExp.units.militia.squads.length; _j++>>
+			<<if $SecExp.units.militia.squads[_j].isDeployed == 1>>
+				<br>$SecExp.units.militia.squads[_j].platoonName: no casualties.
+				<<set $SecExp.units.militia.squads[_j].battlesFought++>>
+				<<if $SecExp.units.militia.squads[_j].training < 100>>
 					<<if random(1,100) > 60>>
 						Experience has increased.
-						<<set $militiaUnits[_j].training += random(5,15) + $majorBattle * random(5,15)>>
+						<<set $SecExp.units.militia.squads[_j].training += random(5,15) + $majorBattle * random(5,15)>>
 					<</if>>
 				<</if>>
 			<</if>>
 		<</for>>
 	<</if>>
 	<<if App.SecExp.battle.deployedUnits('slaves') >= 1>>
-		<<for _j = 0; _j < $slaveUnits.length; _j++>>
-			<<if $slaveUnits[_j].isDeployed == 1>>
-				<br>$slaveUnits[_j].platoonName: no casualties.
-				<<set $slaveUnits[_j].battlesFought++>>
-				<<if $slaveUnits[_j].training < 100>>
+		<<for _j = 0; _j < $SecExp.units.slaves.squads.length; _j++>>
+			<<if $SecExp.units.slaves.squads[_j].isDeployed == 1>>
+				<br>$SecExp.units.slaves.squads[_j].platoonName: no casualties.
+				<<set $SecExp.units.slaves.squads[_j].battlesFought++>>
+				<<if $SecExp.units.slaves.squads[_j].training < 100>>
 					<<if random(1,100) > 60>>
 						Experience has increased.
-						<<set $slaveUnits[_j].training += random(5,15) + $majorBattle * random(5,15)>>
+						<<set $SecExp.units.slaves.squads[_j].training += random(5,15) + $majorBattle * random(5,15)>>
 					<</if>>
 				<</if>>
 			<</if>>
 		<</for>>
 	<</if>>
 	<<if App.SecExp.battle.deployedUnits('mercs') >= 1>>
-		<<for _j = 0; _j < $mercUnits.length; _j++>>
-			<<if $mercUnits[_j].isDeployed == 1>>
-				<br>$mercUnits[_j].platoonName: no casualties.
-				<<set $mercUnits[_j].battlesFought++>>
-				<<if $mercUnits[_j].training < 100>>
+		<<for _j = 0; _j < $SecExp.units.mercs.squads.length; _j++>>
+			<<if $SecExp.units.mercs.squads[_j].isDeployed == 1>>
+				<br>$SecExp.units.mercs.squads[_j].platoonName: no casualties.
+				<<set $SecExp.units.mercs.squads[_j].battlesFought++>>
+				<<if $SecExp.units.mercs.squads[_j].training < 100>>
 					<<if random(1,100) > 60>>
 						Experience has increased.
-						<<set $mercUnits[_j].training += random(5,15) + $majorBattle * random(5,15)>>
+						<<set $SecExp.units.mercs.squads[_j].training += random(5,15) + $majorBattle * random(5,15)>>
 					<</if>>
 				<</if>>
 			<</if>>
@@ -92,25 +92,25 @@
 	/* assigns the losses and notify the player */
 	<<if App.SecExp.battle.deployedUnits('bots')>>
 		<<set _loss = _lossesList.pluck()>>
-		<<set _loss = Math.clamp(_loss,0,$secBots.troops)>>
-		<<set $secBots.troops -= _loss>>
+		<<set _loss = Math.clamp(_loss,0,$SecExp.units.bots.troops)>>
+		<<set $SecExp.units.bots.troops -= _loss>>
 		<br>Security drones:
 		<<if _loss <= 0>>
 			no casualties
-		<<elseif _loss <= $secBots.troops * 0.2>>
+		<<elseif _loss <= $SecExp.units.bots.troops * 0.2>>
 			light casualties
-		<<elseif _loss <= $secBots.troops * 0.4>>
+		<<elseif _loss <= $SecExp.units.bots.troops * 0.4>>
 			moderate casualties
-		<<elseif _loss <= $secBots.troops * 0.6>>
+		<<elseif _loss <= $SecExp.units.bots.troops * 0.6>>
 			heavy casualties
 		<<else>>
 			catastrophic casualties
 		<</if>>
 		suffered.
-		<<if $secBots.troops <= 5>>
-			<<set $secBots.active = 0>>
+		<<if $SecExp.units.bots.troops <= 5>>
+			<<set $SecExp.units.bots.active = 0>>
 			Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. It will take quite the investment to rebuild them.
-		<<elseif $secBots.troops <= 10>>
+		<<elseif $SecExp.units.bots.troops <= 10>>
 			The unit has very few operatives left, it risks complete annihilation if deployed again.
 		<</if>>
 		<br>
@@ -135,120 +135,120 @@
 		<br>
 	<</if>>
 	<<if App.SecExp.battle.deployedUnits('militia') >= 1>>
-		<<for _j = 0; _j < $militiaUnits.length; _j++>>
-			<<if $militiaUnits[_j].isDeployed == 1>>
-				<<set $militiaUnits[_j].battlesFought++>>
+		<<for _j = 0; _j < $SecExp.units.militia.squads.length; _j++>>
+			<<if $SecExp.units.militia.squads[_j].isDeployed == 1>>
+				<<set $SecExp.units.militia.squads[_j].battlesFought++>>
 				<<set _loss = _lossesList.pluck()>>
-				<<set _loss = Math.clamp(_loss,0,$militiaUnits[_j].troops)>>
-				<br>$militiaUnits[_j].platoonName:
+				<<set _loss = Math.clamp(_loss,0,$SecExp.units.militia.squads[_j].troops)>>
+				<br>$SecExp.units.militia.squads[_j].platoonName:
 				<<if _loss <= 0>>
 					no casualties
-				<<elseif _loss <= $militiaUnits[_j].troops * 0.2>>
+				<<elseif _loss <= $SecExp.units.militia.squads[_j].troops * 0.2>>
 					light casualties
-				<<elseif _loss <= $militiaUnits[_j].troops * 0.4>>
+				<<elseif _loss <= $SecExp.units.militia.squads[_j].troops * 0.4>>
 					moderate casualties
-				<<elseif _loss <= $militiaUnits[_j].troops * 0.6>>
+				<<elseif _loss <= $SecExp.units.militia.squads[_j].troops * 0.6>>
 					heavy casualties
 				<<else>>
 					catastrophic casualties
 				<</if>>
 				suffered.
-				<<set _med = Math.round(Math.clamp(_loss * $militiaUnits[_j].medics * 0.25,1,_loss))>>
-				<<if $militiaUnits[_j].medics == 1 && _loss > 0>>
+				<<set _med = Math.round(Math.clamp(_loss * $SecExp.units.militia.squads[_j].medics * 0.25,1,_loss))>>
+				<<if $SecExp.units.militia.squads[_j].medics == 1 && _loss > 0>>
 					Some men were saved by their medics.
 				<</if>>
-				<<set $militiaUnits[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$militiaUnits[_j].maxTroops))>>
-				<<set $militiaTotalCasualties += Math.trunc(_loss - _med)>>
-				<<if $militiaUnits[_j].training < 100>>
+				<<set $SecExp.units.militia.squads[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$SecExp.units.militia.squads[_j].maxTroops))>>
+				<<set $SecExp.units.militia.dead += Math.trunc(_loss - _med)>>
+				<<if $SecExp.units.militia.squads[_j].training < 100>>
 					<<if random(1,100) > 60>>
 						Experience has increased.
-						<<set $militiaUnits[_j].training += random(5,15) + $majorBattle * random(5,15)>>
+						<<set $SecExp.units.militia.squads[_j].training += random(5,15) + $majorBattle * random(5,15)>>
 					<</if>>
 				<</if>>
-				<<if $militiaUnits[_j].troops <= 5>>
-					<<set $militiaUnits[_j].active = 0>>
+				<<if $SecExp.units.militia.squads[_j].troops <= 5>>
+					<<set $SecExp.units.militia.squads[_j].active = 0>>
 					<br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The remnants will be sent home honored as veterans or reorganized in a new unit.
-				<<elseif $militiaUnits[_j].troops <= 10>>
+				<<elseif $SecExp.units.militia.squads[_j].troops <= 10>>
 					<br>The unit has very few operatives left, it risks complete annihilation if deployed again.
 				<</if>>
 			<</if>>
 		<</for>>
 	<</if>>
 	<<if App.SecExp.battle.deployedUnits('slaves') >= 1>>
-		<<for _j = 0; _j < $slaveUnits.length; _j++>>
-			<<if $slaveUnits[_j].isDeployed == 1>>
-				<<set $slaveUnits[_j].battlesFought++>>
+		<<for _j = 0; _j < $SecExp.units.slaves.squads.length; _j++>>
+			<<if $SecExp.units.slaves.squads[_j].isDeployed == 1>>
+				<<set $SecExp.units.slaves.squads[_j].battlesFought++>>
 				<<set _loss = _lossesList.pluck()>>
-				<<set _loss = Math.clamp(_loss,0,$slaveUnits[_j].troops)>>
-				<br>$slaveUnits[_j].platoonName:
+				<<set _loss = Math.clamp(_loss,0,$SecExp.units.slaves.squads[_j].troops)>>
+				<br>$SecExp.units.slaves.squads[_j].platoonName:
 				<<if _loss <= 0>>
 					no casualties
-				<<elseif _loss <= $slaveUnits[_j].troops * 0.2>>
+				<<elseif _loss <= $SecExp.units.slaves.squads[_j].troops * 0.2>>
 					light casualties
-				<<elseif _loss <= $slaveUnits[_j].troops * 0.4>>
+				<<elseif _loss <= $SecExp.units.slaves.squads[_j].troops * 0.4>>
 					moderate casualties
-				<<elseif _loss <= $slaveUnits[_j].troops * 0.6>>
+				<<elseif _loss <= $SecExp.units.slaves.squads[_j].troops * 0.6>>
 					heavy casualties
 				<<else>>
 					catastrophic casualties
 				<</if>>
 				suffered.
-				<<set _med = Math.round(Math.clamp(_loss * $slaveUnits[_j].medics * 0.25,1,_loss))>>
-				<<if $slaveUnits[_j].medics == 1 && _loss > 0>>
+				<<set _med = Math.round(Math.clamp(_loss * $SecExp.units.slaves.squads[_j].medics * 0.25,1,_loss))>>
+				<<if $SecExp.units.slaves.squads[_j].medics == 1 && _loss > 0>>
 					Some men were saved by their medics.
 				<</if>>
-				<<set $slaveUnits[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$slaveUnits[_j].maxTroops))>>
-				<<set $slavesTotalCasualties += Math.trunc(_loss - _med)>>
-				<<if $slaveUnits[_j].training < 100>>
+				<<set $SecExp.units.slaves.squads[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$SecExp.units.slaves.squads[_j].maxTroops))>>
+				<<set $SecExp.units.slaves.dead += Math.trunc(_loss - _med)>>
+				<<if $SecExp.units.slaves.squads[_j].training < 100>>
 					<<if random(1,100) > 60>>
 						Experience has increased.
-						<<set $slaveUnits[_j].training += random(5,15) + $majorBattle * random(5,15)>>
+						<<set $SecExp.units.slaves.squads[_j].training += random(5,15) + $majorBattle * random(5,15)>>
 					<</if>>
 				<</if>>
-				<<if $slaveUnits[_j].troops <= 5>>
-					<<set $slaveUnits[_j].active = 0>>
+				<<if $SecExp.units.slaves.squads[_j].troops <= 5>>
+					<<set $SecExp.units.slaves.squads[_j].active = 0>>
 					<br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The survivors will be sent home honored as veterans or reorganized in a new unit.
-				<<elseif $slaveUnits[_j].troops <= 10>>
+				<<elseif $SecExp.units.slaves.squads[_j].troops <= 10>>
 					<br>The unit has very few operatives left, it risks complete annihilation if deployed again.
 				<</if>>
 			<</if>>
 		<</for>>
 	<</if>>
 	<<if App.SecExp.battle.deployedUnits('mercs') >= 1>>
-		<<for _j = 0; _j < $mercUnits.length; _j++>>
-			<<if $mercUnits[_j].isDeployed == 1>>
-				<<set $mercUnits[_j].battlesFought++>>
+		<<for _j = 0; _j < $SecExp.units.mercs.squads.length; _j++>>
+			<<if $SecExp.units.mercs.squads[_j].isDeployed == 1>>
+				<<set $SecExp.units.mercs.squads[_j].battlesFought++>>
 				<<set _loss = _lossesList.pluck()>>
-				<<set _loss = Math.clamp(_loss,0,$mercUnits[_j].troops)>>
-				<br>$mercUnits[_j].platoonName:
+				<<set _loss = Math.clamp(_loss,0,$SecExp.units.mercs.squads[_j].troops)>>
+				<br>$SecExp.units.mercs.squads[_j].platoonName:
 				<<if _loss <= 0>>
 					no casualties
-				<<elseif _loss <= $mercUnits[_j].troops * 0.2>>
+				<<elseif _loss <= $SecExp.units.mercs.squads[_j].troops * 0.2>>
 					light casualties
-				<<elseif _loss <= $mercUnits[_j].troops * 0.4>>
+				<<elseif _loss <= $SecExp.units.mercs.squads[_j].troops * 0.4>>
 					moderate casualties
-				<<elseif _loss <= $mercUnits[_j].troops * 0.6>>
+				<<elseif _loss <= $SecExp.units.mercs.squads[_j].troops * 0.6>>
 					heavy casualties
 				<<else>>
 					catastrophic casualties
 				<</if>>
 				suffered.
-				<<set _med = Math.round(Math.clamp(_loss * $mercUnits[_j].medics * 0.25,1,_loss))>>
-				<<if $mercUnits[_j].medics == 1 && _loss > 0>>
+				<<set _med = Math.round(Math.clamp(_loss * $SecExp.units.mercs.squads[_j].medics * 0.25,1,_loss))>>
+				<<if $SecExp.units.mercs.squads[_j].medics == 1 && _loss > 0>>
 					Some men were saved by their medics.
 				<</if>>
-				<<set $mercUnits[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$mercUnits[_j].maxTroops))>>
-				<<set $mercTotalCasualties += Math.trunc(_loss - _med)>>
-				<<if $mercUnits[_j].training < 100>>
+				<<set $SecExp.units.mercs.squads[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$SecExp.units.mercs.squads[_j].maxTroops))>>
+				<<set $SecExp.units.mercs.dead += Math.trunc(_loss - _med)>>
+				<<if $SecExp.units.mercs.squads[_j].training < 100>>
 					<<if random(1,100) > 60>>
 						Experience has increased.
-						<<set $mercUnits[_j].training += random(5,15) + $majorBattle * random(5,15)>>
+						<<set $SecExp.units.mercs.squads[_j].training += random(5,15) + $majorBattle * random(5,15)>>
 					<</if>>
 				<</if>>
-				<<if $mercUnits[_j].troops <= 5>>
-					<<set $mercUnits[_j].active = 0>>
+				<<if $SecExp.units.mercs.squads[_j].troops <= 5>>
+					<<set $SecExp.units.mercs.squads[_j].active = 0>>
 					<br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The remnants will be sent home honored as veterans or reorganized in a new unit.
-				<<elseif $mercUnits[_j].troops <= 10>>
+				<<elseif $SecExp.units.mercs.squads[_j].troops <= 10>>
 					<br>The unit has very few operatives left, it risks complete annihilation if deployed again.
 				<</if>>
 			<</if>>
diff --git a/src/Mods/SecExp/unitsRebellionReport.tw b/src/Mods/SecExp/unitsRebellionReport.tw
index 4d9efb039a6ad2a9909c327f022b72dbd18961fd..f017ea8c6fb7d963c505b281d46bd14835952a69 100644
--- a/src/Mods/SecExp/unitsRebellionReport.tw
+++ b/src/Mods/SecExp/unitsRebellionReport.tw
@@ -11,39 +11,39 @@
 		<br>$SF.Lower, <<print num($SF.ArmySize)>> strong, was called to join the battle: no casualties suffered.
 	<</if>>
 	<<set _count = 0>>
-	<<set _loyalUnits = $militiaUnits.length + $slaveUnits.length + $mercUnits.length - $SecExp.war.rebellingID.length>>
+	<<set _loyalUnits = $SecExp.units.militia.squads.length + $SecExp.units.slaves.squads.length + $SecExp.units.mercs.squads.length - $SecExp.war.rebellingID.length>>
 	<<if _loyalUnits > 0>>
 		<p>
-		<<for _i = 0; _i < $militiaUnits.length; _i++>>
-			<<if $militiaUnits[_i].active == 1 && (!$SecExp.war.rebellingID.includes($militiaUnits[_i].ID))>>
-				<<set $militiaUnits[_i].battlesFought++>>
+		<<for _i = 0; _i < $SecExp.units.militia.squads.length; _i++>>
+			<<if $SecExp.units.militia.squads[_i].active == 1 && (!$SecExp.war.rebellingID.includes($SecExp.units.militia.squads[_i].ID))>>
+				<<set $SecExp.units.militia.squads[_i].battlesFought++>>
 				<<set _count++>>
 				<<if _count < _loyalUnits>>
-					$militiaUnits[_i].platoonName,
+					$SecExp.units.militia.squads[_i].platoonName,
 				<<else>>
-					$militiaUnits[_i].platoonName
+					$SecExp.units.militia.squads[_i].platoonName
 				<</if>>
 			<</if>>
 		<</for>>
-		<<for _i = 0; _i < $slaveUnits.length; _i++>>
-			<<if $slaveUnits[_i].active == 1 && (!$SecExp.war.rebellingID.includes($slaveUnits[_i].ID))>>
-				<<set $slaveUnits[_i].battlesFought++>>
+		<<for _i = 0; _i < $SecExp.units.slaves.squads.length; _i++>>
+			<<if $SecExp.units.slaves.squads[_i].active == 1 && (!$SecExp.war.rebellingID.includes($SecExp.units.slaves.squads[_i].ID))>>
+				<<set $SecExp.units.slaves.squads[_i].battlesFought++>>
 				<<set _count++>>
 				<<if _count < _loyalUnits>>
-					$slaveUnits[_i].platoonName,
+					$SecExp.units.slaves.squads[_i].platoonName,
 				<<else>>
-					$slaveUnits[_i].platoonName
+					$SecExp.units.slaves.squads[_i].platoonName
 				<</if>>
 			<</if>>
 		<</for>>
-		<<for _i = 0; _i < $mercUnits.length; _i++>>
-			<<if $mercUnits[_i].active == 1 && (!$SecExp.war.rebellingID.includes($mercUnits[_i].ID))>>
-				<<set $mercUnits[_i].battlesFought++>>
+		<<for _i = 0; _i < $SecExp.units.mercs.squads.length; _i++>>
+			<<if $SecExp.units.mercs.squads[_i].active == 1 && (!$SecExp.war.rebellingID.includes($SecExp.units.mercs.squads[_i].ID))>>
+				<<set $SecExp.units.mercs.squads[_i].battlesFought++>>
 				<<set _count++>>
 				<<if _count < _loyalUnits>>
-					$mercUnits[_i].platoonName,
+					$SecExp.units.mercs.squads[_i].platoonName,
 				<<else>>
-					$mercUnits[_i].platoonName
+					$SecExp.units.mercs.squads[_i].platoonName
 				<</if>>
 			<</if>>
 		<</for>>
@@ -131,10 +131,10 @@
 		<</if>>
 		</p>
 	<</if>>
-	<<if $secBots.active == 1>>
+	<<if $SecExp.units.bots.active == 1>>
 		<<set _loss = _lossesList.pluck()>>
-		<<set _loss = Math.clamp(_loss,0,$secBots.troops)>>
-		<<set $secBots.troops -= _loss>>
+		<<set _loss = Math.clamp(_loss,0,$SecExp.units.bots.troops)>>
+		<<set $SecExp.units.bots.troops -= _loss>>
 		<p>Security drones:
 		<<if _loss <= 0>>
 			no casualties
@@ -148,10 +148,10 @@
 			catastrophic casualties
 		<</if>>
 		suffered.
-		<<if $secBots.troops <= 0>>
-			<<set $secBots.active = 0>>
+		<<if $SecExp.units.bots.troops <= 0>>
+			<<set $SecExp.units.bots.active = 0>>
 			Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. It will take quite the investment to rebuild them.
-		<<elseif $secBots.troops <= 10>>
+		<<elseif $SecExp.units.bots.troops <= 10>>
 			The unit has very few operatives left, it risks complete annihilation if deployed again.
 		<</if>>
 		</p>
@@ -177,40 +177,40 @@
 	<</if>>
 	<<if App.SecExp.battle.deployedUnits('militia') >= 1>>
 		<p> <<set _med = 0>>
-		<<for _j = 0; _j < $militiaUnits.length; _j++>>
-			<<if $militiaUnits[_j].active == 1 && !$SecExp.war.rebellingID.includes($militiaUnits[_j].ID)>>
-				<<set $militiaUnits[_j].battlesFought++>>
+		<<for _j = 0; _j < $SecExp.units.militia.squads.length; _j++>>
+			<<if $SecExp.units.militia.squads[_j].active == 1 && !$SecExp.war.rebellingID.includes($SecExp.units.militia.squads[_j].ID)>>
+				<<set $SecExp.units.militia.squads[_j].battlesFought++>>
 				<<set _loss = _lossesList.pluck()>>
-				<<set _loss = Math.clamp(_loss,0,$militiaUnits[_j].troops)>>
-				<br>$militiaUnits[_j].platoonName participated in the battle. They remained loyal to you.
+				<<set _loss = Math.clamp(_loss,0,$SecExp.units.militia.squads[_j].troops)>>
+				<br>$SecExp.units.militia.squads[_j].platoonName participated in the battle. They remained loyal to you.
 				<<if _loss <= 0>>
 					No casualties
-				<<elseif _loss <= $militiaUnits[_j].troops * 0.2>>
+				<<elseif _loss <= $SecExp.units.militia.squads[_j].troops * 0.2>>
 					Light casualties
-				<<elseif _loss <= $militiaUnits[_j].troops * 0.4>>
+				<<elseif _loss <= $SecExp.units.militia.squads[_j].troops * 0.4>>
 					Moderate casualties
-				<<elseif _loss <= $militiaUnits[_j].troops * 0.6>>
+				<<elseif _loss <= $SecExp.units.militia.squads[_j].troops * 0.6>>
 					Heavy casualties
 				<<else>>
 					Catastrophic casualties
 				<</if>>
 				suffered.
-				<<set _med = Math.round(Math.clamp(_loss * $militiaUnits[_j].medics * 0.25,1,_loss))>>
-				<<if $militiaUnits[_j].medics == 1 && _loss > 0>>
+				<<set _med = Math.round(Math.clamp(_loss * $SecExp.units.militia.squads[_j].medics * 0.25,1,_loss))>>
+				<<if $SecExp.units.militia.squads[_j].medics == 1 && _loss > 0>>
 					Some men were saved by their medics.
 				<</if>>
-				<<set $militiaUnits[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$militiaUnits[_j].maxTroops))>>
-				<<set $militiaTotalCasualties += Math.trunc(_loss - _med)>>
-				<<if $militiaUnits[_j].training < 100>>
+				<<set $SecExp.units.militia.squads[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$SecExp.units.militia.squads[_j].maxTroops))>>
+				<<set $SecExp.units.militia.dead += Math.trunc(_loss - _med)>>
+				<<if $SecExp.units.militia.squads[_j].training < 100>>
 					<<if random(1,100) > 60>>
 						Experience has increased.
-						<<set $militiaUnits[_j].training += random(5,15) + $majorBattle * random(5,15)>>
+						<<set $SecExp.units.militia.squads[_j].training += random(5,15) + $majorBattle * random(5,15)>>
 					<</if>>
 				<</if>>
-				<<if $militiaUnits[_j].troops <= 0>>
-					<<set $militiaUnits[_j].active = 0>>
+				<<if $SecExp.units.militia.squads[_j].troops <= 0>>
+					<<set $SecExp.units.militia.squads[_j].active = 0>>
 					<br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The remnants will be sent home honored as veterans or reorganized in a new unit.
-				<<elseif $militiaUnits[_j].troops <= 10>>
+				<<elseif $SecExp.units.militia.squads[_j].troops <= 10>>
 					<br>The unit has very few operatives left, it risks complete annihilation if deployed again.
 				<</if>>
 			<</if>>
@@ -219,44 +219,44 @@
 	<</if>>
 	<<if App.SecExp.battle.deployedUnits('slaves') >= 1>>
 		<p> <<set _med = 0>>
-		<<for _j = 0; _j < $slaveUnits.length; _j++>>
-			<<if $slaveUnits[_j].active == 1 && !$SecExp.war.rebellingID.includes($slaveUnits[_j].ID)>>
-				<<set $slaveUnits[_j].battlesFought++>>
+		<<for _j = 0; _j < $SecExp.units.slaves.squads.length; _j++>>
+			<<if $SecExp.units.slaves.squads[_j].active == 1 && !$SecExp.war.rebellingID.includes($SecExp.units.slaves.squads[_j].ID)>>
+				<<set $SecExp.units.slaves.squads[_j].battlesFought++>>
 				<<set _loss = _lossesList.pluck()>>
 				<<if !(Number.isInteger(_loss))>>
 					<br>@@.red;Error: failed to assign losses, input was negative or NaN@@
 					<<break>>
 				<</if>>
-				<<set _loss = Math.clamp(_loss,0,$slaveUnits[_j].troops)>>
-				<br>$slaveUnits[_j].platoonName participated in the battle. They remained loyal to you.
+				<<set _loss = Math.clamp(_loss,0,$SecExp.units.slaves.squads[_j].troops)>>
+				<br>$SecExp.units.slaves.squads[_j].platoonName participated in the battle. They remained loyal to you.
 				<<if _loss <= 0>>
 					No casualties
-				<<elseif _loss <= $slaveUnits[_j].troops * 0.2>>
+				<<elseif _loss <= $SecExp.units.slaves.squads[_j].troops * 0.2>>
 					Light casualties
-				<<elseif _loss <= $slaveUnits[_j].troops * 0.4>>
+				<<elseif _loss <= $SecExp.units.slaves.squads[_j].troops * 0.4>>
 					Moderate casualties
-				<<elseif _loss <= $slaveUnits[_j].troops * 0.6>>
+				<<elseif _loss <= $SecExp.units.slaves.squads[_j].troops * 0.6>>
 					Heavy casualties
 				<<else>>
 					Catastrophic casualties
 				<</if>>
 				suffered.
-				<<set _med = Math.round(Math.clamp(_loss * $slaveUnits[_j].medics * 0.25,1,_loss))>>
-				<<if $slaveUnits[_j].medics == 1 && _loss > 0>>
+				<<set _med = Math.round(Math.clamp(_loss * $SecExp.units.slaves.squads[_j].medics * 0.25,1,_loss))>>
+				<<if $SecExp.units.slaves.squads[_j].medics == 1 && _loss > 0>>
 					Some men were saved by their medics.
 				<</if>>
-				<<set $slaveUnits[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$slaveUnits[_j].maxTroops))>>
-				<<set $slavesTotalCasualties += _loss - _med>>
-				<<if $slaveUnits[_j].training < 100>>
+				<<set $SecExp.units.slaves.squads[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$SecExp.units.slaves.squads[_j].maxTroops))>>
+				<<set $SecExp.units.slaves.dead += _loss - _med>>
+				<<if $SecExp.units.slaves.squads[_j].training < 100>>
 					<<if random(1,100) > 60>>
 						Experience gained.
-						<<set $slaveUnits[_j].training += random(5,15) + $majorBattle * random(5,15)>>
+						<<set $SecExp.units.slaves.squads[_j].training += random(5,15) + $majorBattle * random(5,15)>>
 					<</if>>
 				<</if>>
-				<<if $slaveUnits[_j].troops <= 0>>
-					<<set $slaveUnits[_j].active = 0>>
+				<<if $SecExp.units.slaves.squads[_j].troops <= 0>>
+					<<set $SecExp.units.slaves.squads[_j].active = 0>>
 					<br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The survivors will be sent home honored as veterans or reorganized in a new unit.
-				<<elseif $slaveUnits[_j].troops <= 10>>
+				<<elseif $SecExp.units.slaves.squads[_j].troops <= 10>>
 					<br>The unit has very few operatives left, it risks complete annihilation if deployed again.
 				<</if>>
 			<</if>>
@@ -265,40 +265,40 @@
 	<</if>>
 	<<if App.SecExp.battle.deployedUnits('mercs') >= 1>>
 		<p> <<set _med = 0>>
-		<<for _j = 0; _j < $mercUnits.length; _j++>>
-			<<if $mercUnits[_j].active == 1 && !$SecExp.war.rebellingID.includes($mercUnits[_j].ID)>>
-				<<set $mercUnits[_j].battlesFought++>>
+		<<for _j = 0; _j < $SecExp.units.mercs.squads.length; _j++>>
+			<<if $SecExp.units.mercs.squads[_j].active == 1 && !$SecExp.war.rebellingID.includes($SecExp.units.mercs.squads[_j].ID)>>
+				<<set $SecExp.units.mercs.squads[_j].battlesFought++>>
 				<<set _loss = _lossesList.pluck()>>
-				<<set _loss = Math.clamp(_loss,0,$mercUnits[_j].troops)>>
-				<br>$mercUnits[_j].platoonName participated in the battle. They remained loyal to you.
+				<<set _loss = Math.clamp(_loss,0,$SecExp.units.mercs.squads[_j].troops)>>
+				<br>$SecExp.units.mercs.squads[_j].platoonName participated in the battle. They remained loyal to you.
 				<<if _loss <= 0>>
 					No casualties
-				<<elseif _loss <= $mercUnits[_j].troops * 0.2>>
+				<<elseif _loss <= $SecExp.units.mercs.squads[_j].troops * 0.2>>
 					Light casualties
-				<<elseif _loss <= $mercUnits[_j].troops * 0.4>>
+				<<elseif _loss <= $SecExp.units.mercs.squads[_j].troops * 0.4>>
 					Moderate casualties
-				<<elseif _loss <= $mercUnits[_j].troops * 0.6>>
+				<<elseif _loss <= $SecExp.units.mercs.squads[_j].troops * 0.6>>
 					Heavy casualties
 				<<else>>
 					Catastrophic casualties
 				<</if>>
 				suffered.
-				<<set _med = Math.round(Math.clamp(_loss * $mercUnits[_j].medics * 0.25,1,_loss))>>
-				<<if $mercUnits[_j].medics == 1 && _loss > 0>>
+				<<set _med = Math.round(Math.clamp(_loss * $SecExp.units.mercs.squads[_j].medics * 0.25,1,_loss))>>
+				<<if $SecExp.units.mercs.squads[_j].medics == 1 && _loss > 0>>
 					Some men were saved by their medics.
 				<</if>>
-				<<set $mercUnits[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$mercUnits[_j].maxTroops))>>
-				<<set $mercTotalCasualties += Math.trunc(_loss - _med)>>
-				<<if $mercUnits[_j].training < 100>>
+				<<set $SecExp.units.mercs.squads[_j].troops -= Math.trunc(Math.clamp(_loss - _med,0,$SecExp.units.mercs.squads[_j].maxTroops))>>
+				<<set $SecExp.units.mercs.dead += Math.trunc(_loss - _med)>>
+				<<if $SecExp.units.mercs.squads[_j].training < 100>>
 					<<if random(1,100) > 60>>
 						Experience gained.
-						<<set $mercUnits[_j].training += random(5,15) + $majorBattle * random(5,15)>>
+						<<set $SecExp.units.mercs.squads[_j].training += random(5,15) + $majorBattle * random(5,15)>>
 					<</if>>
 				<</if>>
-				<<if $mercUnits[_j].troops <= 0>>
-					<<set $mercUnits[_j].active = 0>>
+				<<if $SecExp.units.mercs.squads[_j].troops <= 0>>
+					<<set $SecExp.units.mercs.squads[_j].active = 0>>
 					<br>Unfortunately the losses they took were simply too great, their effective combatants are in so small number you can no longer call them a deployable unit. The remnants will be sent home honored as veterans or reorganized in a new unit.
-				<<elseif $mercUnits[_j].troops <= 10>>
+				<<elseif $SecExp.units.mercs.squads[_j].troops <= 10>>
 					<br>The unit has very few operatives left, it risks complete annihilation if deployed again.
 				<</if>>
 			<</if>>
@@ -311,22 +311,22 @@
 
 <<if $SecExp.war.rebellingID.length > 0 && $SecExp.war.result >= 2>> /* rebellion win */
 	<br> <<set _militiaRebelledID = [], _militiaManpower = 0>>
-	<<for _j = 0; _j < $militiaUnits.length; _j++>>
-		<<if $militiaUnits[_j].active == 1 && $SecExp.war.rebellingID.includes($militiaUnits[_j].ID)>>
-			<br>$militiaUnits[_j].platoonName,
-			<<set _militiaRebelledID.push($militiaUnits[_j].ID)>>
-			<<set _militiaManpower += Math.clamp($militiaUnits[_j].troops - random(_averageLosses),0,$militiaUnits[_j].troops)>>
+	<<for _j = 0; _j < $SecExp.units.militia.squads.length; _j++>>
+		<<if $SecExp.units.militia.squads[_j].active == 1 && $SecExp.war.rebellingID.includes($SecExp.units.militia.squads[_j].ID)>>
+			<br>$SecExp.units.militia.squads[_j].platoonName,
+			<<set _militiaRebelledID.push($SecExp.units.militia.squads[_j].ID)>>
+			<<set _militiaManpower += Math.clamp($SecExp.units.militia.squads[_j].troops - random(_averageLosses),0,$SecExp.units.militia.squads[_j].troops)>>
 		<</if>>
 	<</for>>
 	<<if _militiaRebelledID.length > 0>>
 		had the gall to betray you and join your enemies.
 		<span id="militiaResult">
 			<br><<link "Dissolve the units">>
-				<<run $militiaUnits.deleteWith((u) => _militiaRebelledID.includes(u.ID))>>
-				<<set $militiaFreeManpower += _militiaManpower>>
-				<<for _i = 0; _i < $militiaUnits.length; _i++>>
-					<<if $militiaUnits[_i].active == 1>>
-						<<set $militiaUnits[_i].loyalty = Math.clamp($militiaUnits[_i].loyalty - random(10,40),0,100)>>
+				<<run $SecExp.units.militia.squads.deleteWith((u) => _militiaRebelledID.includes(u.ID))>>
+				<<set $SecExp.units.militia.free += _militiaManpower>>
+				<<for _i = 0; _i < $SecExp.units.militia.squads.length; _i++>>
+					<<if $SecExp.units.militia.squads[_i].active == 1>>
+						<<set $SecExp.units.militia.squads[_i].loyalty = Math.clamp($SecExp.units.militia.squads[_i].loyalty - random(10,40),0,100)>>
 					<</if>>
 				<</for>>
 				<<replace "#militiaResult">>
@@ -335,18 +335,18 @@
 			<</link>>
 			<br>//Manpower will be refunded, but will negatively influence the loyalty of the other units//
 			<br><<link "Purge the dissidents and dissolve the units">>
-				<<run $militiaUnits.deleteWith((u) => _militiaRebelledID.includes(u.ID))>>
-				<<set $militiaFreeManpower += _militiaManpower * 0.5>>
+				<<run $SecExp.units.militia.squads.deleteWith((u) => _militiaRebelledID.includes(u.ID))>>
+				<<set $SecExp.units.militia.free += _militiaManpower * 0.5>>
 				<<replace "#militiaResult">>
 					<br>Dissidents purged and units dissolved.
 				<</replace>>
 			<</link>>
 			<br>//Will not influence the loyalty of the other units, but only half the manpower will be refunded.//
 			<br><<link "Execute them all">>
-				<<run $militiaUnits.deleteWith((u) => _militiaRebelledID.includes(u.ID))>>
-				<<for _i = 0; _i < $militiaUnits.length; _i++>>
-					<<if $militiaUnits[_i].active == 1>>
-						<<set $militiaUnits[_i].loyalty = Math.clamp($militiaUnits[_i].loyalty + random(10,40),0,100)>>
+				<<run $SecExp.units.militia.squads.deleteWith((u) => _militiaRebelledID.includes(u.ID))>>
+				<<for _i = 0; _i < $SecExp.units.militia.squads.length; _i++>>
+					<<if $SecExp.units.militia.squads[_i].active == 1>>
+						<<set $SecExp.units.militia.squads[_i].loyalty = Math.clamp($SecExp.units.militia.squads[_i].loyalty + random(10,40),0,100)>>
 					<</if>>
 				<</for>>
 				<<replace "#militiaResult">>
@@ -358,22 +358,22 @@
 	<</if>>
 
 	<br> <<set _slaveRebelledID = [], _slaveManpower = 0>>
-	<<for _j = 0; _j < $slaveUnits.length; _j++>>
-		<<if $slaveUnits[_j].active == 1 && $SecExp.war.rebellingID.includes($slaveUnits[_j].ID)>>
-			<br>$slaveUnits[_j].platoonName,
-			<<set _slaveRebelledID.push($slaveUnits[_j].ID)>>
-			<<set _slaveManpower += Math.clamp($slaveUnits[_j].troops - random(_averageLosses),0,$slaveUnits[_j].troops)>>
+	<<for _j = 0; _j < $SecExp.units.slaves.squads.length; _j++>>
+		<<if $SecExp.units.slaves.squads[_j].active == 1 && $SecExp.war.rebellingID.includes($SecExp.units.slaves.squads[_j].ID)>>
+			<br>$SecExp.units.slaves.squads[_j].platoonName,
+			<<set _slaveRebelledID.push($SecExp.units.slaves.squads[_j].ID)>>
+			<<set _slaveManpower += Math.clamp($SecExp.units.slaves.squads[_j].troops - random(_averageLosses),0,$SecExp.units.slaves.squads[_j].troops)>>
 		<</if>>
 	<</for>>
 	<<if _slaveRebelledID.length > 0>>
 		decided in their blind arrogance to betray you.
 		<span id="slaveResult">
 			<br><<link "Dissolve the units">>
-				<<run $slaveUnits.deleteWith((u) => _slaveRebelledID.includes(u.ID))>>
+				<<run $SecExp.units.slaves.squads.deleteWith((u) => _slaveRebelledID.includes(u.ID))>>
 				<<set $menials += _slaveManpower>>
-				<<for _i = 0; _i < $militiaUnits.length; _i++>>
-					<<if $slaveUnits[_i].active == 1>>
-						<<set $slaveUnits[_i].loyalty = Math.clamp($slaveUnits[_i].loyalty - random(10,40),0,100)>>
+				<<for _i = 0; _i < $SecExp.units.militia.squads.length; _i++>>
+					<<if $SecExp.units.slaves.squads[_i].active == 1>>
+						<<set $SecExp.units.slaves.squads[_i].loyalty = Math.clamp($SecExp.units.slaves.squads[_i].loyalty - random(10,40),0,100)>>
 					<</if>>
 				<</for>>
 				<<replace "#slaveResult">>
@@ -382,7 +382,7 @@
 			<</link>>
 			<br>//Manpower will be refunded, but will negatively influence the loyalty of the other units//
 			<br><<link "Purge the dissidents and dissolve the units">>
-				<<run $slaveUnits.deleteWith((u) => _slaveRebelledID.includes(u.ID))>>
+				<<run $SecExp.units.slaves.squads.deleteWith((u) => _slaveRebelledID.includes(u.ID))>>
 				<<set $menials += _slaveManpower * 0.5>>
 				<<replace "#slaveResult">>
 					<br>Dissidents purged and units dissolved.
@@ -390,10 +390,10 @@
 			<</link>>
 			<br>//Will not influence the loyalty of the other units, but only half the manpower will be refunded.//
 			<br><<link "Execute them all">>
-				<<run $slaveUnits.deleteWith((u) => _slaveRebelledID.includes(u.ID))>>
-				<<for _i = 0; _i < $slaveUnits.length; _i++>>
-					<<if $slaveUnits[_i].active == 1>>
-						<<set $slaveUnits[_i].loyalty = Math.clamp($slaveUnits[_i].loyalty + random(10,40),0,100)>>
+				<<run $SecExp.units.slaves.squads.deleteWith((u) => _slaveRebelledID.includes(u.ID))>>
+				<<for _i = 0; _i < $SecExp.units.slaves.squads.length; _i++>>
+					<<if $SecExp.units.slaves.squads[_i].active == 1>>
+						<<set $SecExp.units.slaves.squads[_i].loyalty = Math.clamp($SecExp.units.slaves.squads[_i].loyalty + random(10,40),0,100)>>
 					<</if>>
 				<</for>>
 				<<replace "#slaveResult">>
@@ -405,22 +405,22 @@
 	<</if>>
 
 	<br> <<set _mercRebelledID = [], _mercManpower = 0>>
-	<<for _j = 0; _j < $mercUnits.length; _j++>>
-		<<if $mercUnits[_j].active == 1 && $SecExp.war.rebellingID.includes($mercUnits[_j].ID)>>
-			<br>$mercUnits[_j].platoonName,
-			<<set _mercRebelledID.push($mercUnits[_j].ID)>>
-			<<set _mercManpower += Math.clamp($mercUnits[_j].troops - random(_averageLosses),0,$mercUnits[_j].troops)>>
+	<<for _j = 0; _j < $SecExp.units.mercs.squads.length; _j++>>
+		<<if $SecExp.units.mercs.squads[_j].active == 1 && $SecExp.war.rebellingID.includes($SecExp.units.mercs.squads[_j].ID)>>
+			<br>$SecExp.units.mercs.squads[_j].platoonName,
+			<<set _mercRebelledID.push($SecExp.units.mercs.squads[_j].ID)>>
+			<<set _mercManpower += Math.clamp($SecExp.units.mercs.squads[_j].troops - random(_averageLosses),0,$SecExp.units.mercs.squads[_j].troops)>>
 		<</if>>
 	<</for>>
 	<<if _mercRebelledID.length > 0>>
 		made the grave mistake of betraying you.
 		<span id="mercResult">
 			<br><<link "Dissolve the units">>
-				<<run $mercUnits.deleteWith((u) => _mercRebelledID.includes(u.ID))>>
-				<<set $mercFreeManpower += _mercManpower>>
-				<<for _i = 0; _i < $militiaUnits.length; _i++>>
-					<<if $mercUnits[_i].active == 1>>
-						<<set $mercUnits[_i].loyalty = Math.clamp($mercUnits[_i].loyalty - random(10,40),0,100)>>
+				<<run $SecExp.units.mercs.squads.deleteWith((u) => _mercRebelledID.includes(u.ID))>>
+				<<set $SecExp.units.mercs.free += _mercManpower>>
+				<<for _i = 0; _i < $SecExp.units.militia.squads.length; _i++>>
+					<<if $SecExp.units.mercs.squads[_i].active == 1>>
+						<<set $SecExp.units.mercs.squads[_i].loyalty = Math.clamp($SecExp.units.mercs.squads[_i].loyalty - random(10,40),0,100)>>
 					<</if>>
 				<</for>>
 				<<replace "#mercResult">>
@@ -429,18 +429,18 @@
 			<</link>>
 			<br>//Manpower will be refunded, but will negatively influence the loyalty of the other units//
 			<br><<link "Purge the dissidents and dissolve the units">>
-				<<run $mercUnits.deleteWith((u) => _mercRebelledID.includes(u.ID))>>
-				<<set $mercFreeManpower += _mercManpower * 0.5>>
+				<<run $SecExp.units.mercs.squads.deleteWith((u) => _mercRebelledID.includes(u.ID))>>
+				<<set $SecExp.units.mercs.free += _mercManpower * 0.5>>
 				<<replace "#mercResult">>
 					<br>Dissidents purged and units dissolved.
 				<</replace>>
 			<</link>>
 			<br>//Will not influence the loyalty of the other units, but only half the manpower will be refunded.//
 			<br><<link "Execute them all">>
-				<<run $mercUnits.deleteWith((u) => _mercRebelledID.includes(u.ID))>>
-				<<for _i = 0; _i < $mercUnits.length; _i++>>
-					<<if $mercUnits[_i].active == 1>>
-						<<set $mercUnits[_i].loyalty = Math.clamp($mercUnits[_i].loyalty + random(10,40),0,100)>>
+				<<run $SecExp.units.mercs.squads.deleteWith((u) => _mercRebelledID.includes(u.ID))>>
+				<<for _i = 0; _i < $SecExp.units.mercs.squads.length; _i++>>
+					<<if $SecExp.units.mercs.squads[_i].active == 1>>
+						<<set $SecExp.units.mercs.squads[_i].loyalty = Math.clamp($SecExp.units.mercs.squads[_i].loyalty + random(10,40),0,100)>>
 					<</if>>
 				<</for>>
 				<<replace "#mercResult">>
@@ -454,43 +454,43 @@
 	/* rebellion loss */
 	<br><br>
 	<<set _militiaRebelledID = []>>
-	<<for _j = 0; _j < $militiaUnits.length; _j++>>
-		<<if $militiaUnits[_j].active == 1 && $SecExp.war.rebellingID.includes($militiaUnits[_j].ID)>>
-			<<set _militiaRebelledID.push($militiaUnits[_j].ID)>>
-			$militiaUnits[_j].platoonName,
+	<<for _j = 0; _j < $SecExp.units.militia.squads.length; _j++>>
+		<<if $SecExp.units.militia.squads[_j].active == 1 && $SecExp.war.rebellingID.includes($SecExp.units.militia.squads[_j].ID)>>
+			<<set _militiaRebelledID.push($SecExp.units.militia.squads[_j].ID)>>
+			$SecExp.units.militia.squads[_j].platoonName,
 		<</if>>
 	<</for>>
 	<<if _militiaRebelledID.length > 0>>
 		had the gall to betray you and join your enemies. They participated in the looting following the battle, then vanished in the wastes.
 	<</if>>
 	<<run cashX(forceNeg(1000 * _militiaRebelledID.length), "war")>>
-	<<run $militiaUnits.deleteWith((u) => _militiaRebelledID.includes(u.ID))>>
+	<<run $SecExp.units.militia.squads.deleteWith((u) => _militiaRebelledID.includes(u.ID))>>
 	<br>
 	<<set _slaveRebelledID = []>>
-	<<for _j = 0; _j < $slaveUnits.length; _j++>>
-		<<if $slaveUnits[_j].active == 1 && $SecExp.war.rebellingID.includes($slaveUnits[_j].ID)>>
-			<<set _slaveRebelledID.push($slaveUnits[_j].ID)>>
-			$slaveUnits[_j].platoonName,
+	<<for _j = 0; _j < $SecExp.units.slaves.squads.length; _j++>>
+		<<if $SecExp.units.slaves.squads[_j].active == 1 && $SecExp.war.rebellingID.includes($SecExp.units.slaves.squads[_j].ID)>>
+			<<set _slaveRebelledID.push($SecExp.units.slaves.squads[_j].ID)>>
+			$SecExp.units.slaves.squads[_j].platoonName,
 		<</if>>
 	<</for>>
 	<<if _slaveRebelledID.length > 0>>
 		decided in their blind arrogance to betray you. They participated in the looting following the battle, then vanished in the wastes.
 	<</if>>
 	<<run cashX(forceNeg(1000 * _slaveRebelledID.length), "war")>>
-	<<run $slaveUnits.deleteWith((u) => _slaveRebelledID.includes(u.ID))>>
+	<<run $SecExp.units.slaves.squads.deleteWith((u) => _slaveRebelledID.includes(u.ID))>>
 	<br>
 	<<set _mercRebelledID = []>>
 	<<set _count = 0>>
-	<<for _j = 0; _j < $mercUnits.length; _j++>>
-		<<if $mercUnits[_j].active == 1 && $SecExp.war.rebellingID.includes($mercUnits[_j].ID)>>
-			<<set _mercRebelledID.push($mercUnits[_j].ID)>>
+	<<for _j = 0; _j < $SecExp.units.mercs.squads.length; _j++>>
+		<<if $SecExp.units.mercs.squads[_j].active == 1 && $SecExp.war.rebellingID.includes($SecExp.units.mercs.squads[_j].ID)>>
+			<<set _mercRebelledID.push($SecExp.units.mercs.squads[_j].ID)>>
 			<<set _count++>>
-			$mercUnits[_j].platoonName,
+			$SecExp.units.mercs.squads[_j].platoonName,
 		<</if>>
 	<</for>>
 	<<if _mercRebelledID.length > 0>>
 		made the grave mistake of betraying you. They participated in the looting following the battle, then vanished in the wastes.
 	<</if>>
 	<<run cashX(forceNeg(1000 * _mercRebelledID.length), "war")>>
-	<<run $mercUnits.deleteWith((u) => _mercRebelledID.includes(u.ID))>>
+	<<run $SecExp.units.mercs.squads.deleteWith((u) => _mercRebelledID.includes(u.ID))>>
 <</if>>
diff --git a/src/Mods/SpecialForce/SpecialForce.js b/src/Mods/SpecialForce/SpecialForce.js
index 3de44d1b05d5f6cfbf9d34cdb2f24b2ba58c1a75..7c94b67578dc07fe75c8efce82c5a0049e259f24 100644
--- a/src/Mods/SpecialForce/SpecialForce.js
+++ b/src/Mods/SpecialForce/SpecialForce.js
@@ -1496,7 +1496,7 @@ App.SF.AAR = function(endWeekCall = 1) {
 				if (V.secExpEnabled > 0 && V.mercenaries > 0) {
 					V.SF.MercCon.Mercs = 0;
 					NewMercs = jsRandom(1, (tradeShowAttendes / 10));
-					V.mercFreeManpower += NewMercs;
+					V.SecExp.units.mercs.free += NewMercs;
 					V.SF.MercCon.TotalMercs += NewMercs;
 					V.SF.MercCon.Mercs += NewMercs;
 				}
diff --git a/src/art/vector/VectorArtJS.js b/src/art/vector/VectorArtJS.js
index 7edef164b7e331f554c5b8a5fa2f7f5772870ec5..0ccb9bbbf222280e781cdd81abf193b363d0c4a3 100644
--- a/src/art/vector/VectorArtJS.js
+++ b/src/art/vector/VectorArtJS.js
@@ -1098,10 +1098,19 @@ App.Art.vectorArtElement = (function() {
 			svgQueue.add("Art_Vector_Plug_Huge_Long");
 		}
 
-		if (slave.buttplugAttachment === "tail") {
-			svgQueue.add("Art_Vector_Plug_Tail");
-		} else if (slave.buttplugAttachment === "cat tail") {
-			svgQueue.add("Art_Vector_Cat_Tail");
+		switch (slave.buttplugAttachment) {
+			case "tail":
+				svgQueue.add("Art_Vector_Plug_Tail");
+				break;
+			case "cat tail":
+				svgQueue.add("Art_Vector_Cat_Tail");
+				break;
+			case "fox tail":
+				svgQueue.add("Art_Vector_Fox_Tail");
+				break;
+			case "cow tail":
+				svgQueue.add("Art_Vector_Cow_Tail");
+				break;
 		}
 	}
 
@@ -2014,8 +2023,24 @@ App.Art.vectorArtElement = (function() {
 			}
 		}
 		/* note: latex clothing actually shows some hair, but there is no appropriate art for it */
-		if (slave.faceAccessory === "cat ears") {
-			svgQueue.add("Art_Vector_Cat_Ear_Back");
+		switch(slave.faceAccessory) {
+			case "cat ears":
+				svgQueue.add("Art_Vector_Cat_Ear_Back");
+				break;
+			case "fox ears":
+				svgQueue.add("Art_Vector_Fox_Ear_Back");
+				break;
+			case "cow ears":
+				svgQueue.add("Art_Vector_Cow_Ear_Back");
+				break;
+		}
+		switch(slave.earT) {
+			case "neko":
+				svgQueue.add("Art_Vector_Cat_Ear_Back");
+				break;
+			case "kit":
+				svgQueue.add("Art_Vector_Fox_Ear_Back");
+				break;
 		}
 	}
 
@@ -2091,8 +2116,24 @@ App.Art.vectorArtElement = (function() {
 			}
 		}
 		/* note: latex clothing actually shows some hair, but there is no appropriate art for it */
-		if (slave.faceAccessory === "cat ears") {
-			svgQueue.add("Art_Vector_Cat_Ear_Fore");
+		switch(slave.faceAccessory) {
+			case "cat ears":
+				svgQueue.add("Art_Vector_Cat_Ear_Fore");
+				break;
+			case "fox ears":
+				svgQueue.add("Art_Vector_Fox_Ear_Fore");
+				break;
+			case "cow ears":
+				svgQueue.add("Art_Vector_Cow_Ear_Fore");
+				break;
+		}
+		switch(slave.earT) {
+			case "neko":
+				svgQueue.add("Art_Vector_Cat_Ear_Fore");
+				break;
+			case "kit":
+				svgQueue.add("Art_Vector_Fox_Ear_Fore");
+				break;
 		}
 	}
 
diff --git a/src/art/vector/layers/Art_Vector_Cat_Ear_Back.svg b/src/art/vector/layers/Art_Vector_Cat_Ear_Back.svg
index dc91bc8923839095b7d1ae60ca61c04ccbd67d00..f2824e6a276cd10acc8d95727ed16e31f3ae50c8 100644
--- a/src/art/vector/layers/Art_Vector_Cat_Ear_Back.svg
+++ b/src/art/vector/layers/Art_Vector_Cat_Ear_Back.svg
@@ -1 +1 @@
-<svg viewBox="0 0 560 1000"><g data-transform="art" style="display:inline" id="g8" transform="translate(0,-2.0000001)"><path style="display:inline;fill-opacity:1;fill:#ff80b2;stroke-width:1.09067011" d="m 248.73736,68.964871 c 0,0 1.69861,-0.804687 4.08156,-0.299212 2.38295,0.505475 23.75731,3.393902 29.82301,5.415802 6.06569,2.021898 7.14885,3.466112 7.14885,3.466112 L 263.21726,106.7929 c -3.84107,-5.31888 -4.93514,-8.768348 -7.63681,-17.615026 -1.84138,-6.029593 -1.55793,-8.849384 -2.81153,-12.285769 -0.74632,-2.04581 -1.39753,-4.595174 -4.03156,-7.927234 z" id="path2"/><path d="m 248.73736,68.964871 c 0,0 1.69861,-0.804687 4.08156,-0.299212 2.38295,0.505475 23.75731,3.393902 29.82301,5.415802 6.06569,2.021898 7.14885,3.466112 7.14885,3.466112 l -9.45442,10.405004 c -8.89399,-4.0001 -15.68619,-8.81104 -20.05716,-12.416027 -2.33857,-1.928752 -6.80539,-4.786815 -11.54184,-6.571679 z" style="display:inline;fill-opacity:1;fill:#ffaacc;stroke-width:1.09067011" id="path4"/><path style="fill-opacity:1;fill:#fefefe;stroke-width:1.09067011" d="m 251.82217,72.78348 c 0,0 4.58923,1.460454 7.26102,0.648083 l 19.57572,12.076963 c 0,0 -14.32239,6.372867 -17.57187,14.965934 0,0 -0.28885,-1.805263 0.1083,-3.538319 l -0.93872,3.141169 c 0,0 -0.32495,-2.166325 0.18052,-3.82717 0,0 -1.08316,-0.758212 -2.45516,1.444213 0,0 0.32494,-3.646639 1.84136,-5.307486 -1.84137,0.180528 -4.44095,2.166322 -4.44095,2.166322 0,0 -0.14441,-7.040542 4.76591,-9.062442 -4.11601,0.216633 -6.93223,3.791062 -6.93223,3.791062 0,0 -0.36105,-6.82391 3.75496,-8.015386 -2.99675,0.938738 -4.29654,3.71885 -4.29654,3.71885 0,0 -0.54157,-3.827166 0.93874,-6.246224 -0.686,-0.216632 -1.73305,0.613791 -1.73305,0.613791 0,0 0.79431,-2.419059 3.32169,-3.285586 -2.5839,-0.566619 -3.3797,-3.283774 -3.3797,-3.283774 z" id="path6"/></g></svg>
+<svg viewBox="0 0 560 1000"><path style="display:inline;fill-opacity:1;fill:#20202c;stroke-width:1.09067011" d="m 248.73736,68.964871 c 0,0 1.69861,-0.804687 4.08156,-0.299212 2.38295,0.505475 23.75731,3.393902 29.82301,5.415802 6.06569,2.021898 7.14885,3.466112 7.14885,3.466112 L 263.21726,106.7929 c -3.84107,-5.31888 -4.93514,-8.768348 -7.63681,-17.615026 -1.84138,-6.029593 -1.55793,-8.849384 -2.81153,-12.285769 -0.74632,-2.04581 -1.39753,-4.595174 -4.03156,-7.927234 z" id="path2"/><path d="m 248.73736,68.964871 c 0,0 1.69861,-0.804687 4.08156,-0.299212 2.38295,0.505475 23.75731,3.393902 29.82301,5.415802 6.06569,2.021898 7.14885,3.466112 7.14885,3.466112 l -9.45442,10.405004 c -8.89399,-4.0001 -15.68619,-8.81104 -20.05716,-12.416027 -2.33857,-1.928752 -6.80539,-4.786815 -11.54184,-6.571679 z" style="display:inline;fill-opacity:1;fill:#333344;stroke-width:1.09067011" id="path4"/><path style="fill-opacity:1;fill:#fefefe;stroke-width:1.09067011" d="m 251.82217,72.78348 c 0,0 4.58923,1.460454 7.26102,0.648083 l 19.57572,12.076963 c 0,0 -14.32239,6.372867 -17.57187,14.965934 0,0 -0.28885,-1.805263 0.1083,-3.538319 l -0.93872,3.141169 c 0,0 -0.32495,-2.166325 0.18052,-3.82717 0,0 -1.08316,-0.758212 -2.45516,1.444213 0,0 0.32494,-3.646639 1.84136,-5.307486 -1.84137,0.180528 -4.44095,2.166322 -4.44095,2.166322 0,0 -0.14441,-7.040542 4.76591,-9.062442 -4.11601,0.216633 -6.93223,3.791062 -6.93223,3.791062 0,0 -0.36105,-6.82391 3.75496,-8.015386 -2.99675,0.938738 -4.29654,3.71885 -4.29654,3.71885 0,0 -0.54157,-3.827166 0.93874,-6.246224 -0.686,-0.216632 -1.73305,0.613791 -1.73305,0.613791 0,0 0.79431,-2.419059 3.32169,-3.285586 -2.5839,-0.566619 -3.3797,-3.283774 -3.3797,-3.283774 z" id="path6"/></svg>
diff --git a/src/art/vector/layers/Art_Vector_Cat_Ear_Fore.svg b/src/art/vector/layers/Art_Vector_Cat_Ear_Fore.svg
index f734c1e679dc0ff1e4c3f70aa5ad06657c477511..1ab856e1586fb48eff7ad04f80c4b2d0c4b60517 100644
--- a/src/art/vector/layers/Art_Vector_Cat_Ear_Fore.svg
+++ b/src/art/vector/layers/Art_Vector_Cat_Ear_Fore.svg
@@ -1 +1 @@
-<svg viewBox="0 0 560 1000"><g data-transform="art" style="display:inline" transform="translate(7.2500004,-0.49999703)" id="g8-9"><path style="display:inline;fill-opacity:1;fill:#ff80b2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-width:1px;stroke:none" d="m 308.1475,77.54163 c 0,0 12.76065,-8.72344 26.22373,-9.571872 11.01415,-0.694103 19.3005,-2.094451 19.3005,-2.094451 -1.1752,8.016637 -7.95821,31.134787 -22.41696,46.848853 0,0 1.03532,-26.317653 -23.10727,-35.18253 z" id="path2-5"/><path d="m 353.67173,65.875307 c -1.1752,8.016637 -7.95821,31.134787 -22.41696,46.848853 0,0 0.0174,-0.44206 -0.005,-1.23089 -0.1085,-3.84062 -1.15748,-15.901417 -9.73296,-25.185131 7.53822,-11.504443 19.52704,-16.919867 32.15481,-20.432832 z" style="display:inline;fill-opacity:1;fill:#ffaacc;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-width:1px;stroke:none" id="path4-7"/><path style="display:inline;fill-opacity:1;fill:#fefefe;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-width:1px;stroke:none" d="m 329.49165,100.71363 c -1.35994,-4.601307 -3.757,-9.839308 -7.97484,-14.405491 4.85489,-7.409284 11.55582,-12.292945 19.08455,-15.769361 0,0 5.17674,-0.18227 8.51755,1.867294 -0.16223,0.07853 -2.7722,0.606429 -4.0879,1.030675 2.49749,0.129635 3.54594,1.366431 3.54594,1.366431 0,0 -0.91465,0.05439 -2.3119,0.89546 2.85074,0.89458 4.63218,5.458641 4.63218,5.458641 0,0 -2.19492,-0.350727 -4.86496,0.149253 2.06512,0.935863 3.25191,4.890565 3.25191,4.890565 0,0 -2.18348,-0.526951 -6.00364,-0.793573 4.30345,1.520613 4.48699,6.023984 4.48699,6.023984 0,0 -3.83009,-2.647995 -4.31294,-3.165587 1.78858,2.77439 1.68141,5.83086 1.68141,5.83086 0,0 -1.28005,-1.529562 -3.01908,-2.13864 0.54376,1.109778 0.54477,3.262668 0.54477,3.262668 0,0 -2.12647,-1.184307 -2.69251,-1.999674 0.45817,3.293475 -0.44441,8.565455 -0.44441,8.565455 0,0 -2.3265,-3.196931 -3.16399,-5.032441 0.25185,3.018194 -0.90576,5.929071 -0.90576,5.929071 0,0 -0.0958,-4.496089 -0.9266,-5.750878 0.28951,3.866948 -0.68272,5.889828 -1.896,8.463388 0,0 -1.77802,-2.46182 -3.14077,-4.6781 z" id="path6-3"/></g></svg>
+<svg viewBox="0 0 560 1000"><g data-transform="art" style="display:inline" transform="translate(0,3e-6)" id="g8-9"><path style="display:inline;fill-opacity:1;fill:#20202c;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-width:1px;stroke:none" d="m 308.1475,77.54163 c 0,0 12.76065,-8.72344 26.22373,-9.571872 11.01415,-0.694103 19.3005,-2.094451 19.3005,-2.094451 -1.1752,8.016637 -7.95821,31.134787 -22.41696,46.848853 0,0 1.03532,-26.317653 -23.10727,-35.18253 z" id="path2-5"/><path d="m 353.67173,65.875307 c -1.1752,8.016637 -7.95821,31.134787 -22.41696,46.848853 0,0 0.0174,-0.44206 -0.005,-1.23089 -0.1085,-3.84062 -1.15748,-15.901417 -9.73296,-25.185131 7.53822,-11.504443 19.52704,-16.919867 32.15481,-20.432832 z" style="display:inline;fill-opacity:1;fill:#333344;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-width:1px;stroke:none" id="path4-7"/><path style="display:inline;fill-opacity:1;fill:#fefefe;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-width:1px;stroke:none" d="m 329.49165,100.71363 c -1.35994,-4.601307 -3.757,-9.839308 -7.97484,-14.405491 4.85489,-7.409284 11.55582,-12.292945 19.08455,-15.769361 0,0 5.17674,-0.18227 8.51755,1.867294 -0.16223,0.07853 -2.7722,0.606429 -4.0879,1.030675 2.49749,0.129635 3.54594,1.366431 3.54594,1.366431 0,0 -0.91465,0.05439 -2.3119,0.89546 2.85074,0.89458 4.63218,5.458641 4.63218,5.458641 0,0 -2.19492,-0.350727 -4.86496,0.149253 2.06512,0.935863 3.25191,4.890565 3.25191,4.890565 0,0 -2.18348,-0.526951 -6.00364,-0.793573 4.30345,1.520613 4.48699,6.023984 4.48699,6.023984 0,0 -3.83009,-2.647995 -4.31294,-3.165587 1.78858,2.77439 1.68141,5.83086 1.68141,5.83086 0,0 -1.28005,-1.529562 -3.01908,-2.13864 0.54376,1.109778 0.54477,3.262668 0.54477,3.262668 0,0 -2.12647,-1.184307 -2.69251,-1.999674 0.45817,3.293475 -0.44441,8.565455 -0.44441,8.565455 0,0 -2.3265,-3.196931 -3.16399,-5.032441 0.25185,3.018194 -0.90576,5.929071 -0.90576,5.929071 0,0 -0.0958,-4.496089 -0.9266,-5.750878 0.28951,3.866948 -0.68272,5.889828 -1.896,8.463388 0,0 -1.77802,-2.46182 -3.14077,-4.6781 z" id="path6-3"/></g></svg>
diff --git a/src/art/vector/layers/Art_Vector_Cow_Ear_Back.svg b/src/art/vector/layers/Art_Vector_Cow_Ear_Back.svg
new file mode 100644
index 0000000000000000000000000000000000000000..27af8762fa4d00897ced83b059c3dad4c9994820
--- /dev/null
+++ b/src/art/vector/layers/Art_Vector_Cow_Ear_Back.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 560 1000"><path d="M268.97 88.19c3.57 1.86 2.25 4.2 10.8 1.75l-3.88 16.12c-11.15-.78-4.86 6.7-19.13 5.86-14.26-.84-19.85-9.81-21.72-17.47 7.4-9.24 23.72-11.42 33.93-6.26z" fill="#87553a"/><path d="M255.22 99.84l3.57-.18s-.23 4.14 2.5 4.53l.55 7.45-8.2.53-.3-7.17s2.4.3 1.88-5.16z" fill="#f1ab2b"/></svg>
diff --git a/src/art/vector/layers/Art_Vector_Cow_Ear_Fore.svg b/src/art/vector/layers/Art_Vector_Cow_Ear_Fore.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b15a49ac861ab184d708457f03863240b6b7159f
--- /dev/null
+++ b/src/art/vector/layers/Art_Vector_Cow_Ear_Fore.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 560 1000"><path d="M341.29 87.85c-4.02 2.48-4.66 5.24-10.49.95 3.7 6.63 5.61 18.01 4.8 23.83 10.25-5.13 5.33 4.15 21.96 1.98 16.62-2.18 22.4-13.14 23.95-22.26-9.43-10.2-28.7-11.38-40.22-4.5z" fill="#87553a"/><path d="M354.75 101.34l3.78.9s-1.5 4.25 1.23 5.48l-1.68 7.94-8.71-1.94 1.85-7.57s2.42 1.06 3.53-4.8z" fill="#f1ab2b"/></svg>
diff --git a/src/art/vector/layers/Art_Vector_Cow_Tail.svg b/src/art/vector/layers/Art_Vector_Cow_Tail.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3723e6f4681bb606e49d688bbe1fe84373e4e9c6
--- /dev/null
+++ b/src/art/vector/layers/Art_Vector_Cow_Tail.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 560 1000"><path d="M421.12 602.38l.5 1.96c.47 3.84 4.3 13.82-4.74 15.06.55-2.29 2.45-6 2.21-7.57 0 0-.5 3.82-3.16 5.93-.72.57-1.16 2.13-.56 3.9-1.43-.52-2.62-3.79-1.53-5.34 1.03-1.46 2.62-3.16 2.3-4.99-.14 1.55-1.5 3.76-3.36 5.07-1.53 1.08-2.64 1.86-5.08 1.88 3.7-2.34 3.72-4.93 4.95-6.58a5.18 5.18 0 001.05-3.32l-1.46-4.45z" fill="#e7d0bf"/><path d="M412.19 561.3c-.88 17.5 3.89 38 3.89 38" fill="none" stroke="#ebebeb" stroke-width="5"/><path d="M321.75 480.5s89.19-57.34 90.44 80.8" fill="none" stroke="#704a2f" stroke-width="5" stroke-linecap="round"/><path d="M416.6 589.3l-4.88-.16c1.33 8.83-6.77 22.18-6.77 22.18s4.67-3.52 5.94-8.88c-.34 2.04-.79 5.73.16 7.44 1.33 2.41 2.9 4.37 2.9 4.37s-1.1-4.14-1.1-7c0-2.86 0 3.23 1.33 4.66-.78-4.74.16-4.51.16-4.51s1.17 1.43 1.01 4.29c1.1-3.84 0-5.42 0-5.42s2.36 2.4 2.2 5.72c.22-1.32.27-2.3.25-3.08.24.9.56 1.84 1 2.33 1.02 1.13.63 3.46.63 3.46s1.8-3.61.7-5.8c-1.1-2.18 0-3.8 0-3.8-.07 3.24 1.58 1.76 1.34 3.5-.2 1.4 1.13 1.58 1.88 2.94-.98-3.46 1.49-3.61-.04-6.81l-.5-1.06c.69.7 1.56 1.58 1.95 2.3.5.94 1.3 5.68 1.3 5.68s.1-1.47-.32-4.78c-.42-3.21-1.62-3.02-4.13-6.9.73-1.74.46-3.08-3.18-7.1-.93-1-1.84-3.57-1.84-3.57z" fill="#ebebeb"/></svg>
diff --git a/src/art/vector/layers/Art_Vector_Fox_Ear_Back.svg b/src/art/vector/layers/Art_Vector_Fox_Ear_Back.svg
new file mode 100644
index 0000000000000000000000000000000000000000..70a2d64a751850468298e73295123d0ef3536ff8
--- /dev/null
+++ b/src/art/vector/layers/Art_Vector_Fox_Ear_Back.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 560 1000"><path d="M260 53c-.7 0-1.3.4-1.4 1.8 0 .3.2.6.5.9l-.1 3.6c.3.7-.3 2 1.3 1.8 2.5 1 .4 3.8 1.9 5.2l-.6 3.7c1.5.7 1.2 2.2 1.7 3.4-.7.2-.7 1-1 1.6l1.2 1.3c1 1.2 1.1 2.9 2.6 3.8.5.5.6 1.2.7 2l-.1.5V84c-1 1.1-1 2.5-1.2 3.8 1.6-.3 1.9 1 2.4 2 0 1.3-2 1-1.9 2.4v.6l-.2.2c0 .1 0 .2.3.3h.6l1.3-.8v.5l1.2-.9.6.7 1.8-1.7V92l2-1.3c.4-.4 1-.8.8-1.5 1.2 0 2.1-.8 3-1.5.3-.6 1-1 .6-1.8.5-.1.9-.5 1.2-.8l.8-.8.3-.1.1-.1c.3-.2.7-.2 1-.3 1-.3 2-.6 2.5-1.6v-.6c.5-.2 1-.5 1.1-1.1.6-.1 1-.6 1.3-1l.8-.5h.6c.5 0 .8-.3 1-.7.3-.6.3-1.2.2-1.8l-.6-1.2-.8-1.3c-.4-.7-.7-1.4-1.3-2-.4-.3-.8-.7-1.4-.7l-1.2-.8-2.4-2.5-1.2-.6c-.8-.3-1-1.6-2.2-1.3-.3-1.4-1.6-2-2.3-3.1l-1.3-.1-.6-.6c0-1.3-1.4-1.6-2-2.5-.4 0-.8-.7-1.3-.2-.3-1.5-1.9-1.8-2.6-2.9-1.7-.3-2.7-2-4.2-2.6-1-.9-1-.8-1.3-.7h-.6c-.5-.3-1-.5-1.5-.5z" fill="#863b3b"/></svg>
diff --git a/src/art/vector/layers/Art_Vector_Fox_Ear_Fore.svg b/src/art/vector/layers/Art_Vector_Fox_Ear_Fore.svg
new file mode 100644
index 0000000000000000000000000000000000000000..29e309fa80a7f1521e6f9ba94f4934f05f41a294
--- /dev/null
+++ b/src/art/vector/layers/Art_Vector_Fox_Ear_Fore.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 560 1000"><path d="M340 52.9c-.2 0-.5.3-.7.5-.5 0-1 0-1.3.6 0 0-.7 0-1 .3-.4.2-.8 1.2-.8 1.2-2 1.2-2.2 1.9-2 2.4-1.2 0-1.8 1-2.5 1.8-1-.1-1.9 1.8-2.5 2.6-.6-.5-4.5 1.6-3.3 2.8l-.5.4c-.5 0-1.2-.6-1.2-.6-.8.6-.9 1.3-.6 2.1 0 .3.2.5.4.7-1 1.2-2.8 1.6-3.1 3.4l-.7.7c-.6.7-1.7.9-2.4 1.6-.4.5-.4 1-.3 1.7-.4 2.3-.2 2.7 1.8 2.4l-.2.6v.1c-.4.6-.3 1.2 0 1.8.7 1.3 1.5 2.4 3.2 2.1h.2l.1.1.1.1c-1.2 1-1.1 2-.4 3 .8 1.2 1.1 2.4 1.4 3.7 1.2 1.5 2.2 3.1 4 4 3.2 2.1 3.5 9.1 12 10.2-.3-.8-1-1.4-.9-2l.7.6c.8.2 1.4 0 2-.5l.8-.4c.5-.3.6-.9.8-1.3l.7-.7v-1.2h.6c-.5-1-.3-3.3-.7-4.4 1.5-.5 1.2-2.6 2.6-3.1.9-.6.5-3.4.5-5.1l-.2-6v-.9s.1.4.4.5l.4-4.4c1.2-2.8 1.3-5.7 1.3-8.7 0-.7-.2-1.2-.2-1.2l-.2 1-.2-5.4-.5-.3c0-2.4-.8-5-2.6-6.2 0 0 .1-.3-.7-.7-.7-.3-4 0-4.3 0z" fill="#863b3b"/><path d="M340.4 68.9c-1.2-.2-2.1 1.3-3.4.6l-.3-.2-3 1.9-.7 2.5c.7 1.3.3 2-1.2 2v1.1c.6.5.6 1.2.5 2-1 1-.6 2.3-.7 3.4-.2 2-1 3.5-3 4.1 1.5 2.4 4.6 3.5 5.7 6.4l.7 1.8c1.3-1.5 1.9-3 1.1-5.1-.6-1.6.1-3 1.8-3.9.6 0 1.3-.3 1.7 0l.2-1.6c-1.1 0-1.2-.9-1.1-2-.4-.7-.4-1.3.6-1.3.5.3.8.8 1.2 1l.6-.3h-.2c-1-1.3-.8-2.8-.5-4 .6-2.8.5-5.6 0-8.4z"/></svg>
diff --git a/src/art/vector/layers/Art_Vector_Fox_Tail.svg b/src/art/vector/layers/Art_Vector_Fox_Tail.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5784a7136298f1c6092150cbe919e17ed7509dd4
--- /dev/null
+++ b/src/art/vector/layers/Art_Vector_Fox_Tail.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 560 1000"><path d="M331.1 473.6c-3.7.8-4.6 2.4-2.6 5.2 2.5 1.7 4.1 4.1 6.2 6.1a32 32 0 017.1 9.2l.7 1c1.1 1.1 2.3 2.5 3.7 3.1v.2c2.2 8.5 8 17 9 24.8.7 2.6 1 5.4 2.5 7.7h1v.3c-1.6 1.7-.8 4.1-1.6 6 0 3.2-1.2 6.7.6 10l.4.3c-.7.8-.4 1.6 0 2.6l-1.3 2.3c0 2.3-.5 4.6-.5 7-.2 1.4-.4 2.7 0 4v.5c0 2.5.5 5 1 7.3-1 1.8.6 3.7-.4 5.7 2.5 4 1.2 8.7 2.5 13.1l8.5 31.8h.2a21.4 21.4 0 00.8 7.2c3.6 10.8 2.8 23 8.2 33.5 1.7 8.2 4.6 16.3 8.2 24l1.9 1.6a9.9 9.9 0 001.6 5c1.3 2.3 4.4 3.2 6.9 3.4 1 .8 2.3.8 2.6 4.1.4 3.3 3.3 4.6 7 7.7.6.4.4.7.4 1.2.2 5.2 3.3 8.4 7.6 10.7 1.5 2.6 4.2 4.9 6 4.9 1.7 2.1 4.3 2.1 6.3 3.1.5 3.3 1.6 2.8 2.1 3.8 1.2 2.3 4.3 3.3 6.6 4.7.3 2.8 3.3 2.2 4.6 3.8 2.5 1.3 4.6 3.3 7.7 2.5h.4c1.6 2.1 3.9 2.1 6.5 1.1v.5c.7 1.3 2 1.7 3.3 1.7 1 1.6 2.5 2 4.3 1.5 19.2-.9 37.8-22.7 36.6-40 .7-2.4-1.6-4-2-6l-1.6-2.3-1 .1-4.8-3.3c0-1.1 0-2.3-.6-3.2-1.5-1.5-1.2-4.3-3.5-5-.1-1.6-2-2.6-3.4-3.3-.3-1.4-1.5-2.8-.7-4.2l-.1-1.3c-2.3-2-4.6-6.6-5.5-7.1-1-1-2.4-1.8-.6-3 1.6-1.1-5.6-8.7-8.6-11 1.9-.1-.6-3.8-.6-5.2l-.7-1.7-1.8-1.6c-.8-1-.6-2.6-2.1-3.1l-1-1.5-.6-.8c-.5-1.5-.2-3.3-2-4.1-1.3-1.4 0-2.7 0-3.8-3.1-2.2-1.2-6.1-3.3-8.6l-.3-.8c-1.7-1.6-2-4.1-2.5-6.2l-.8-3c-.3-1.1-.2-2.3-.3-3.3 0-1.3-.4-2.6 0-3.8.3-1.3.3-2.4-.2-3.6v-.1c.3-.9.2-1.8 0-2.8l-1.7-5.6-1.3-6-1-.7c.4-5.3-3-10.6-3.6-15a9.4 9.4 0 00-2.8-5.6c-.6-7.2-10.8-34.5-15.6-34.5v-.5a8.2 8.2 0 00-.8-1.8c-3.3-5.6-7.5-10.5-10.2-16.4-.6-1.6-2.1-3.3-3.8-4.4a29 29 0 01-6.9-7.6c-10.3-13.5-12.6-8.9-15-13.5-3.4-4-11-8.2-12.6-8.5-3.7-.7-3-2.8-4.4-3.5-2.6-1.1-5-2.4-7.9-2.8-4.9-2-10.3-.6-15-2.4-5.3-.3-11-1.7-15.5-1.7z" fill="#863b3b"/><path d="M494 699.5l-.9.1c-1.1 2.2-3.4-.5-5 1.7 3.2 2 8 4 2.2 8.5 0 1.3-.5 1.7-1.6.7-1-.9-1.7-2.5-3.5-2.2l.7 2.7c0 .8-.5.3-.8.3-3.7 0-3.3 2.8-3.8 5 0 0-.3 0-.5-.2-4 2.2-4 2.2-2.6 4.4 1.3 2.4-.5 4-1.2 6l.2.9c-1.8.3-3.3.6-1.7 3.1 1.3 2.3-1.1 1-1.6 1.6v.5c-1.3.7-2.5-2-4-.5-.6 1-.3 1.9 0 2.8l-1 .4a5 5 0 002.9 3l2 1.2c.7 3.8-1.6 2.2-3.2 1.8l-2.1-1.3c-2.2 1-2.8 4.6-5.6 3.6-2.3-.6-3.1.7-4.3 1.9l-2 .6c1 1.7 2.7 2.1 4.5 1.7.3 3.9 4 1.4 5.6 3.2 1 .5 1.8.7 2.4.4.4.6 1.2.8 1.8 1 1.2 0 2.3-1.2 3.3-.9 0 1.2.7 2 1.7 2.8.8 1.2 4.4 2.7 5.5 1.3 1.7.5 3.2-.1 4.2-1.6.4 2.8 3.6 2.8 3.7 1.6 1 .7 2.2.5 3.3.4 1-.2 1.7-.7 2.2-1.5.4.8 1.6 0 1.8-.3 1 1.3 2.1 1.1 3 1.3l.6-.2.8.8c2.1.9 4.1 0 6-.6v.1c1.7 2.7 9.4.4 11.4-1 1-.8 2-1.8 2.1-3l1.2-.2c.7.6 1.6 1 2.3 1 4.1 0 6 .6 7.4-2.2 1.1-.3 1-.8.5-1.5.5-.1.8-.6 1-1.1 0-.7-.5-1.3-.2-2.1 1.2 0 2.3-.4 1.3-2.2-.6-1.6-3.3-2-4.4-3.3-1.8-1.6-2.2-4.6-3.8-6.4-1.3-1.3-3.3-1-4.6-2.1-1.8-1.5-2.1-7.2-5.3-6.6l-.3.2c0-1 0-2.2-.5-3.3-1.1-.3-2-.2-2.6.8-1-.1-3 1.5-2.1-1.5 0-1-.4-1.6-.9-2.4l-1.3-1.7c-1.6-.8-1.6-2.6-2-4-2 .4-4 1-4.4-1.7 1.5-1.5-3-3.5-4-3.5.6-2.4-1.7-4-2-6l-1.7-2.3z" fill="#eaeaea"/></svg>
diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js
index 59b30d4611eb50cc959109be7cb7ef45f5d3874e..f34d42d3980f5448940186ea22ba0ddda9220429 100644
--- a/src/data/backwardsCompatibility/backwardsCompatibility.js
+++ b/src/data/backwardsCompatibility/backwardsCompatibility.js
@@ -92,15 +92,6 @@ App.Update.backwardsCompatibility = function() {
 		jQuery('#backwards-compatibility').append(div);
 		App.Update.arcologyLocation(div);
 
-		// Sec Exp
-		div = document.createElement('div');
-		div.append(`Updating Security Expansion... `);
-		jQuery('#backwards-compatibility').append(div);
-		App.SecExp.generalBC();
-		if (V.secExpEnabled > 0) {
-			div.append(App.UI.DOM.renderPassage("SecExpBackwardCompatibility"));
-		}
-
 		div = document.createElement('div');
 		div.append(`Checking for old variables... `);
 		jQuery('#backwards-compatibility').append(div);
@@ -346,7 +337,7 @@ App.Update.globalVariables = function(node) {
 	// Incubator
 	if (V.incubatorImprintSetting === 0) { V.incubatorImprintSetting = "trust"; }
 
-	// SF
+	App.SecExp.generalBC();
 	App.SF.BC();
 
 	// FS
@@ -1010,30 +1001,104 @@ App.Update.globalVariables = function(node) {
 
 		if (jQuery.isEmptyObject(V.trinkets)) {
 			V.trinkets = [];
-			if (V.PC.career === "wealth") {
-				V.trinkets.push("a collection of diplomas from expensive schools");
-			} else if (V.PC.career === "capitalist") {
-				V.trinkets.push("a framed low denomination piece of paper money from your native country");
-			} else if (V.PC.career === "mercenary") {
-				V.trinkets.push("a battered old assault rifle");
-			} else if (V.PC.career === "slaver") {
-				V.trinkets.push("a framed picture of a slave with her sale price scrawled across the bottom");
-			} else if (V.PC.career === "engineer") {
-				V.trinkets.push("an artist's impression of an early arcology design");
-			} else if (V.PC.career === "medicine") {
-				V.trinkets.push("a framed postsurgical x-ray");
-			} else if (V.PC.career === "celebrity") {
-				V.trinkets.push("a framed copy of the first news story featuring yourself");
-			} else if (V.PC.career === "arcology owner") {
-				V.trinkets.push("a miniature model of your first arcology");
-			} else if (V.PC.career === "escort") {
-				V.trinkets.push("a copy of the first porno you starred in");
-			} else if (V.PC.career === "servant") {
-				V.trinkets.push("a framed picture of your late Master");
-			} else if (V.PC.career === "gang") {
-				V.trinkets.push("your favorite handgun, whose sight has instilled fear in many");
-			} else if (V.PC.career === "BlackHat") {
-				V.trinkets.push("a news clipping of your first successful live hack");
+			switch(V.PC.career) {
+				case "arcology owner":
+					V.trinkets.push("a miniature model of your first arcology");
+					break;
+				case "wealth":
+					V.trinkets.push("a collection of diplomas from expensive schools");
+					break;
+				case "trust fund":
+					V.trinkets.push("a diploma from your expensive boarding school");
+					break;
+				case "rich kid":
+					V.trinkets.push("an extensive collection of pricey Old World trading cards.");
+					break;
+				case "capitalist":
+				case "entrepreneur":
+				case "business kid":
+					V.trinkets.push("a framed low denomination piece of paper money from your native country");
+					break;
+				case "mercenary":
+					V.trinkets.push("a battered old assault rifle");
+					break;
+				case "recruit":
+					V.trinkets.push("a battered old pistol");
+					break;
+				case "child soldier":
+					V.trinkets.push("a combat knife");
+					break;
+				case "slaver":
+					V.trinkets.push("a framed picture of a slave with her sale price scrawled across the bottom");
+					break;
+				case "slave overseer":
+					V.trinkets.push("a framed picture of slave pens you used to lord over");
+					break;
+				case "slave tender":
+					V.trinkets.push("a framed picture of you hosing down a slave for market");
+					break;
+				case "engineer":
+					V.trinkets.push("an artist's impression of an early arcology design");
+					break;
+				case "construction":
+					V.trinkets.push("the blueprints of a proto-arcology you helped construct");
+				case "worksite helper":
+					V.trinkets.push("the hardhat you used to wear around worksites");
+					break;
+				case "medicine":
+					V.trinkets.push("a framed postsurgical x-ray");
+					break;
+				case "medical assistant":
+					V.trinkets.push("your personal set of surgical tools");
+					break;
+				case "nurse":
+					V.trinkets.push("a framed picture of you outside the clinic you worked in");
+					break;
+				case "celebrity":
+					V.trinkets.push("a framed copy of the first news story featuring yourself");
+					break;
+				case "rising star":
+					V.trinkets.push("a framed poster of the first movie you starred in");
+					break;
+				case "child star":
+					V.trinkets.push("a copy of the movie that gave you fame");
+					break;
+				case "BlackHat":
+					V.trinkets.push("a news clipping of your first successful live hack");
+					break;
+				case "hacker":
+					V.trinkets.push("an old USB stick that ruined a corporation");
+					break;
+				case "script kiddy":
+					V.trinkets.push("a CD containing your first foray into scripting");
+					break;
+				case "escort":
+					V.trinkets.push("a copy of the first porno you starred in");
+					break;
+				case "prostitute":
+					V.trinkets.push("a nude pinup of you from the brothel you used to work in");
+					break;
+				case "child prostitute":
+					V.trinkets.push("a pair of your used underwear");
+					break;
+				case "servant":
+					V.trinkets.push("a framed picture of your late Master");
+					break;
+				case "handmaiden":
+					V.trinkets.push("a framed picture of your late Master's family");
+					break;
+				case "child servant":
+					V.trinkets.push("a framed picture of your late Master patting your head");
+					break;
+				case "gang":
+					V.trinkets.push("your favorite handgun, whose sight has instilled fear in many");
+					break;
+				case "hoodlum":
+					V.trinkets.push("a hood ornament stolen from a fancy Old World vehicle");
+					break;
+				case "street urchin":
+					V.trinkets.push("your trusty knife, whose kept you safe many a night");
+					break;
 			}
 		}
 	}
diff --git a/src/data/backwardsCompatibility/datatypeCleanup.js b/src/data/backwardsCompatibility/datatypeCleanup.js
index 89659896077c38ff0ae7ff92c64300cd63c95a55..9a5a759bc3ddba13fb137334c9823b7d527dc634 100644
--- a/src/data/backwardsCompatibility/datatypeCleanup.js
+++ b/src/data/backwardsCompatibility/datatypeCleanup.js
@@ -1323,7 +1323,8 @@ globalThis.PCDatatypeCleanup = function() {
 		PC.buttImplantType = "none";
 	}
 	if (V.PC.customTitle === "") {
-		V.PC.customTitle = undefined, V.PC.customTitleLisp = undefined;
+		V.PC.customTitle = undefined;
+		V.PC.customTitleLisp = undefined;
 	}
 	if (typeof V.PC.counter.oral === "undefined") {
 		V.PC.counter.oral = 0;
@@ -1504,7 +1505,7 @@ globalThis.ArcologyDatatypeCleanup = function() {
 	V.drugsCost = Math.trunc(10000 / V.localEcon);
 	V.rulesCost = Math.trunc(10000 / V.localEcon);
 	V.modCost = Math.trunc(5000 / V.localEcon);
-	V.surgeryCost = Math.trunc(30000 / (V.localEcon * (V.PC.career === "medicine" ? 2 : 1)));
+	V.surgeryCost = Math.trunc(30000 / (V.localEcon * ((V.PC.career === "medicine" || V.PC.career === "medical assistant" || V.PC.career === "nurse") ?  2 : 1)));
 	V.facilityCost = +V.facilityCost || 100;
 
 	for (const school of App.Data.misc.schools.keys()) {
@@ -2322,161 +2323,71 @@ App.Update.FScheatDatatypeCleanup = function() {
 		V.arcologies[0].FSChineseRevivalistDecoration = Number(V.arcologies[0].FSChineseRevivalistDecoration) || 0;
 		V.arcologies[0].FSChineseRevivalistLaw = Number(V.arcologies[0].FSChineseRevivalistLaw) || 0;
 	}
-	for (let _fscdc = 0; _fscdc < setup.FutureSocieties.length; _fscdc++) {
-		if (!(V.arcologies[0][setup.FutureSocieties[_fscdc]] > 0)) {
-			FutureSocieties.remove(setup.FutureSocieties[_fscdc]);
+	for (const society of App.Data.FutureSociety.playerFSNames) {
+		if (!(V.arcologies[0][society] > 0)) {
+			FutureSocieties.remove(society);
 		}
 	}
 };
 
 App.Update.neighborArcologyCheatDatatypeCleanup = function() {
-	let _l = V.arcologies.length;
-	for (let _i = 1; _i < _l; _i++) {
-		if (typeof V.arcologies[_i].government !== 'string') {
-			V.arcologies[_i].government = "an individual";
-		}
-		V.arcologies[_i].honeymoon = Number(V.arcologies[_i].honeymoon) || 0;
-		V.arcologies[_i].prosperity = Number(V.arcologies[_i].prosperity) || 0;
-		V.arcologies[_i].ownership = Number(V.arcologies[_i].ownership) || 0;
-		V.arcologies[_i].minority = Number(V.arcologies[_i].minority) || 0;
-		V.arcologies[_i].PCminority = Number(V.arcologies[_i].PCminority) || 0;
-		V.arcologies[_i].demandFactor = Number(V.arcologies[_i].demandFactor) || 0;
-		if (V.arcologies[_i].FSSupremacist !== "unset") {
-			V.arcologies[_i].FSSupremacist = Number(V.arcologies[_i].FSSupremacist) || "unset";
-		}
-		if (V.arcologies[_i].FSSupremacist !== "unset" && !setup.filterRacesLowercase.includes(V.arcologies[_i].FSSupremacistRace)) {
-			V.arcologies[_i].FSSupremacistRace = setup.filterRacesLowercase.random();
-		}
-		if (V.arcologies[_i].FSSubjugationist !== "unset") {
-			V.arcologies[_i].FSSubjugationist = Number(V.arcologies[_i].FSSubjugationist) || "unset";
-		}
-		if (V.arcologies[_i].FSSubjugationist !== "unset" && !setup.filterRacesLowercase.includes(V.arcologies[_i].FSSubjugationistRace)) {
-			V.arcologies[_i].FSSubjugationistRace = setup.filterRacesLowercase.random();
-		}
-		if (V.arcologies[_i].FSGenderRadicalist !== "unset") {
-			V.arcologies[_i].FSGenderRadicalist = Number(V.arcologies[_i].FSGenderRadicalist) || "unset";
-			V.arcologies[_i].FSGenderFundamentalist = "unset";
-		}
-		if (V.arcologies[_i].FSGenderFundamentalist !== "unset") {
-			V.arcologies[_i].FSGenderFundamentalist = Number(V.arcologies[_i].FSGenderFundamentalist) || "unset";
-			V.arcologies[_i].FSGenderRadicalist = "unset";
-		}
-		if (V.arcologies[_i].FSPaternalist !== "unset") {
-			V.arcologies[_i].FSPaternalist = Number(V.arcologies[_i].FSPaternalist) || "unset";
-			V.arcologies[_i].FSDegradationist = "unset";
-		}
-		if (V.arcologies[_i].FSDegradationist !== "unset") {
-			V.arcologies[_i].FSDegradationist = Number(V.arcologies[_i].FSDegradationist) || "unset";
-			V.arcologies[_i].FSPaternalist = "unset";
-		}
-		if (V.arcologies[_i].FSBodyPurist !== "unset") {
-			V.arcologies[_i].FSBodyPurist = Number(V.arcologies[_i].FSBodyPurist) || "unset";
-			V.arcologies[_i].FSTransformationFetishist = "unset";
-		}
-		if (V.arcologies[_i].FSTransformationFetishist !== "unset") {
-			V.arcologies[_i].FSTransformationFetishist = Number(V.arcologies[_i].FSTransformationFetishist) || "unset";
-			V.arcologies[_i].FSBodyPurist = "unset";
-		}
-		if (V.arcologies[_i].FSYouthPreferentialist !== "unset") {
-			V.arcologies[_i].FSYouthPreferentialist = Number(V.arcologies[_i].FSYouthPreferentialist) || "unset";
-			V.arcologies[_i].FSMaturityPreferentialist = "unset";
-		}
-		if (V.arcologies[_i].FSMaturityPreferentialist !== "unset") {
-			V.arcologies[_i].FSMaturityPreferentialist = Number(V.arcologies[_i].FSMaturityPreferentialist) || "unset";
-			V.arcologies[_i].FSYouthPreferentialist = "unset";
-		}
-		if (V.arcologies[_i].FSSlimnessEnthusiast !== "unset") {
-			V.arcologies[_i].FSSlimnessEnthusiast = Number(V.arcologies[_i].FSSlimnessEnthusiast) || "unset";
-			V.arcologies[_i].FSAssetExpansionist = "unset";
-		}
-		if (V.arcologies[_i].FSAssetExpansionist !== "unset") {
-			V.arcologies[_i].FSAssetExpansionist = Number(V.arcologies[_i].FSAssetExpansionist) || "unset";
-			V.arcologies[_i].FSSlimnessEnthusiast = "unset";
-		}
-		if (V.arcologies[_i].FSPastoralist !== "unset") {
-			V.arcologies[_i].FSPastoralist = Number(V.arcologies[_i].FSPastoralist) || "unset";
-		}
-		if (V.arcologies[_i].FSPhysicalIdealist !== "unset") {
-			V.arcologies[_i].FSPhysicalIdealist = Number(V.arcologies[_i].FSPhysicalIdealist) || "unset";
-			V.arcologies[_i].FSHedonisticDecadence = "unset";
-		}
-		if (V.arcologies[_i].FSHedonisticDecadence !== "unset") {
-			V.arcologies[_i].FSHedonisticDecadence = Number(V.arcologies[_i].FSHedonisticDecadence) || "unset";
-			V.arcologies[_i].FSPhysicalIdealist = "unset";
-		}
-		if (V.arcologies[_i].FSChattelReligionist !== "unset") {
-			V.arcologies[_i].FSChattelReligionist = Number(V.arcologies[_i].FSChattelReligionist) || "unset";
-		}
-		if (V.arcologies[_i].FSRomanRevivalist !== "unset") {
-			V.arcologies[_i].FSRomanRevivalist = Number(V.arcologies[_i].FSRomanRevivalist) || "unset";
-			V.arcologies[_i].FSNeoImperialist = V.arcologies[_i].FSArabianRevivalist = V.arcologies[_i].FSAztecRevivalist = V.arcologies[_i].FSChineseRevivalist = V.arcologies[_i].FSEdoRevivalist = V.arcologies[_i].FSEgyptianRevivalist = "unset";
-		}
-		if (V.arcologies[_i].FSNeoImperialist !== "unset") {
-			V.arcologies[_i].FSNeoImperialist = Number(V.arcologies[_i].FSNeoImperialist) || "unset";
-			V.arcologies[_i].FSRomanRevivalist = V.arcologies[_i].FSArabianRevivalist = V.arcologies[_i].FSAztecRevivalist = V.arcologies[_i].FSChineseRevivalist = V.arcologies[_i].FSEdoRevivalist = V.arcologies[_i].FSEgyptianRevivalist = "unset";
-		}
-		if (V.arcologies[_i].FSAztecRevivalist !== "unset") {
-			V.arcologies[_i].FSAztecRevivalist = Number(V.arcologies[_i].FSAztecRevivalist) || "unset";
-			V.arcologies[_i].FSNeoImperialist = V.arcologies[_i].FSArabianRevivalist = V.arcologies[_i].FSChineseRevivalist = V.arcologies[_i].FSEdoRevivalist = V.arcologies[_i].FSEgyptianRevivalist = V.arcologies[_i].FSRomanRevivalist = "unset";
-		}
-		if (V.arcologies[_i].FSEgyptianRevivalist !== "unset") {
-			V.arcologies[_i].FSEgyptianRevivalist = Number(V.arcologies[_i].FSEgyptianRevivalist) || "unset";
-			V.arcologies[_i].FSNeoImperialist = V.arcologies[_i].FSArabianRevivalist = V.arcologies[_i].FSAztecRevivalist = V.arcologies[_i].FSChineseRevivalist = V.arcologies[_i].FSEdoRevivalist = V.arcologies[_i].FSRomanRevivalist = "unset";
-		}
-		if (V.arcologies[_i].FSEdoRevivalist !== "unset") {
-			V.arcologies[_i].FSEdoRevivalist = Number(V.arcologies[_i].FSEdoRevivalist) || "unset";
-			V.arcologies[_i].FSNeoImperialist = V.arcologies[_i].FSArabianRevivalist = V.arcologies[_i].FSAztecRevivalist = V.arcologies[_i].FSChineseRevivalist = V.arcologies[_i].FSEgyptianRevivalist = V.arcologies[_i].FSRomanRevivalist = "unset";
-		}
-		if (V.arcologies[_i].FSArabianRevivalist !== "unset") {
-			V.arcologies[_i].FSArabianRevivalist = Number(V.arcologies[_i].FSArabianRevivalist) || "unset";
-			V.arcologies[_i].FSNeoImperialist = V.arcologies[_i].FSAztecRevivalist = V.arcologies[_i].FSChineseRevivalist = V.arcologies[_i].FSEdoRevivalist = V.arcologies[_i].FSEgyptianRevivalist = V.arcologies[_i].FSRomanRevivalist = "unset";
-		}
-		if (V.arcologies[_i].FSChineseRevivalist !== "unset") {
-			V.arcologies[_i].FSChineseRevivalist = Number(V.arcologies[_i].FSChineseRevivalist) || "unset";
-			V.arcologies[_i].FSNeoImperialist = V.arcologies[_i].FSArabianRevivalist = V.arcologies[_i].FSAztecRevivalist = V.arcologies[_i].FSEdoRevivalist = V.arcologies[_i].FSEgyptianRevivalist = V.arcologies[_i].FSRomanRevivalist = "unset";
+	/** validate or reset a diplomatic target
+	 * @param {FC.Zeroable<FC.ArcologyDirection>} direction
+	 * @returns {FC.Zeroable<FC.ArcologyDirection>}
+	 */
+	function validTarget(direction) {
+		if (!["east", "north", "northeast", "northwest", "south", "southeast", "southwest", "west", 0, -1].includes(direction)) {
+			return -1;
 		}
-		if (V.arcologies[_i].FSNull !== "unset") {
-			V.arcologies[_i].FSNull = Number(V.arcologies[_i].FSNull) || "unset";
-		}
-		if (V.arcologies[_i].FSRepopulationFocus !== "unset") {
-			V.arcologies[_i].FSRepopulationFocus = Number(V.arcologies[_i].FSRepopulationFocus) || "unset";
-			V.arcologies[_i].FSRestart = "unset";
+		if (!V.arcologies.find(a => a.direction === direction)) {
+			return -1;
 		}
-		if (V.arcologies[_i].FSRestart !== "unset") {
-			V.arcologies[_i].FSRestart = Number(V.arcologies[_i].FSRestart) || "unset";
-			V.arcologies[_i].FSRepopulationFocus = "unset";
+		return direction;
+	}
+
+	for (const arc of V.arcologies) {
+		if (typeof arc.government !== 'string') {
+			arc.government = "an individual";
 		}
-		if (V.arcologies[_i].FSIntellectualDependency !== "unset") {
-			V.arcologies[_i].FSIntellectualDependency = Number(V.arcologies[_i].FSIntellectualDependency) || "unset";
-			V.arcologies[_i].FSSlaveProfessionalism = "unset";
+		arc.honeymoon = Number(arc.honeymoon) || 0;
+		arc.prosperity = Number(arc.prosperity) || 0;
+		arc.ownership = Number(arc.ownership) || 0;
+		arc.minority = Number(arc.minority) || 0;
+		arc.PCminority = Number(arc.PCminority) || 0;
+		arc.demandFactor = Number(arc.demandFactor) || 0;
+
+		// enforce future society mutual exclusion rules
+		for (const group of App.Data.FutureSociety.mutexGroups) {
+			for (const fs1 of group) {
+				if (arc[fs1] !== "unset") {
+					arc[fs1] = Number(arc[fs1]) || "unset";
+				}
+				if (arc[fs1] !== "unset" /* check again, may have just changed */) {
+					for (const fs2 of group) {
+						if (fs1 !== fs2) {
+							arc[fs2] = "unset";
+						}
+					}
+				}
+			}
 		}
-		if (V.arcologies[_i].FSSlaveProfessionalism !== "unset") {
-			V.arcologies[_i].FSSlaveProfessionalism = Number(V.arcologies[_i].FSSlaveProfessionalism) || "unset";
-			V.arcologies[_i].FSIntellectualDependency = "unset";
-		}
-		if (V.arcologies[_i].FSPetiteAdmiration !== "unset") {
-			V.arcologies[_i].FSPetiteAdmiration = Number(V.arcologies[_i].FSPetiteAdmiration) || "unset";
-			V.arcologies[_i].FSStatuesqueGlorification = "unset";
-		}
-		if (V.arcologies[_i].FSStatuesqueGlorification !== "unset") {
-			V.arcologies[_i].FSStatuesqueGlorification = Number(V.arcologies[_i].FSStatuesqueGlorification) || "unset";
-			V.arcologies[_i].FSPetiteAdmiration = "unset";
-		}
-		if (V.arcologies[_i].FSCummunism !== "unset") {
-			V.arcologies[_i].FSCummunism = Number(V.arcologies[_i].FSCummunism) || "unset";
+
+		if (arc.FSSupremacist !== "unset" && !setup.filterRacesLowercase.includes(arc.FSSupremacistRace)) {
+			arc.FSSupremacistRace = setup.filterRacesLowercase.random();
 		}
-		if (V.arcologies[_i].FSIncestFetishist !== "unset") {
-			V.arcologies[_i].FSIncestFetishist = Number(V.arcologies[_i].FSIncestFetishist) || "unset";
+		if (arc.FSSubjugationist !== "unset" && !setup.filterRacesLowercase.includes(arc.FSSubjugationistRace)) {
+			arc.FSSubjugationistRace = setup.filterRacesLowercase.random();
 		}
-		V.arcologies[_i].embargo = Number(V.arcologies[_i].embargo) || 0;
-		V.arcologies[_i].embargoTarget = Number(V.arcologies[_i].embargoTarget) || 0;
-		V.arcologies[_i].CyberEconomic = Number(V.arcologies[_i].CyberEconomic) || 0;
-		V.arcologies[_i].CyberEconomicTarget = Number(V.arcologies[_i].CyberEconomicTarget) || 0;
-		V.arcologies[_i].CyberReputation = Number(V.arcologies[_i].CyberReputation) || 0;
-		V.arcologies[_i].CyberReputationTarget = Number(V.arcologies[_i].CyberReputationTarget) || 0;
-		V.arcologies[_i].influenceTarget = Number(V.arcologies[_i].influenceTarget) || 0;
-		V.arcologies[_i].influenceBonus = Number(V.arcologies[_i].influenceBonus) || 0;
-		V.arcologies[_i].rival = Number(V.arcologies[_i].rival) || 0;
+
+		arc.embargo = Number(arc.embargo) || 0;
+		arc.embargoTarget = validTarget(arc.embargoTarget);
+		arc.CyberEconomic = Number(arc.CyberEconomic) || 0;
+		arc.CyberEconomicTarget = validTarget(arc.CyberEconomicTarget);
+		arc.CyberReputation = Number(arc.CyberReputation) || 0;
+		arc.CyberReputationTarget = validTarget(arc.CyberReputationTarget);
+		arc.influenceBonus = Number(arc.influenceBonus) || 0;
+		arc.influenceTarget = validTarget(arc.influenceTarget);
+		arc.rival = Math.clamp(arc.rival, 0, 1) || 0;
 	}
 };
 
diff --git a/src/descriptions/familySummaries.js b/src/descriptions/familySummaries.js
index b23198a38f2ba063cc7912d232f75d57ee26d489..dd7b45d6fa77566f651aa9a7319ee3d47cf5cb11 100644
--- a/src/descriptions/familySummaries.js
+++ b/src/descriptions/familySummaries.js
@@ -387,7 +387,7 @@ App.Desc.family = (function() {
 		if (areSisters(slave, V.PC) === 3 && slave.genes === "XX") {
 			r.push(`${He} is`);
 			if (halfSisters.length > 0) {
-				r.push(`<span class="lightgreen">is your half-${sister} along with ${slaveListToText(halfSisters)}.</span>`);
+				r.push(`<span class="lightgreen">your half-${sister} along with ${slaveListToText(halfSisters)}.</span>`);
 			} else {
 				r.push(`<span class="lightgreen">your half-${sister}.</span>`);
 			}
@@ -398,7 +398,7 @@ App.Desc.family = (function() {
 		if (areSisters(slave, V.PC) === 3 && slave.genes === "XY") {
 			r.push(`${He} is`);
 			if (halfBrothers.length > 0) {
-				r.push(`<span class="lightgreen">is your half-${sister} along with ${slaveListToText(halfBrothers)})>>.</span>`);
+				r.push(`<span class="lightgreen">your half-${sister} along with ${slaveListToText(halfBrothers)}.</span>`);
 			} else {
 				r.push(`<span class="lightgreen">your half-${sister}.</span>`);
 			}
@@ -477,7 +477,7 @@ App.Desc.family = (function() {
 			}
 		}
 
-		if (slave.clone) {
+		if (typeof slave.clone === "string") {
 			r.push(`${He} is`);
 			if (slave.cloneID === -1) {
 				r.push(`your clone.`);
diff --git a/src/endWeek/economics/arcmgmt.js b/src/endWeek/economics/arcmgmt.js
index b90325bf7d02e81d38cf7547baba9056a611c8e5..daa8bb291e2b0c48333b28cde90accb90833a689 100644
--- a/src/endWeek/economics/arcmgmt.js
+++ b/src/endWeek/economics/arcmgmt.js
@@ -13,12 +13,6 @@ App.EndWeek.arcManagement = function() {
 	let _MCD;
 	let _UCD;
 	let _TCD;
-	let _percACitizens;
-	let _percMiddleClass;
-	let _percLowerClass;
-	let _percTopClass;
-	let _percUpperClass;
-	let _percASlaves;
 	let _rentMultiplier;
 	let _AWeekGrowth;
 	let _econMult;
@@ -110,27 +104,22 @@ App.EndWeek.arcManagement = function() {
 		V.ASlaves += (V.SecExp.buildings.secHub ? V.SecExp.buildings.secHub.menials : 0) + App.SecExp.Manpower.employedSlave;
 	}
 	V.ACitizens = V.lowerClass + V.middleClass + V.upperClass + V.topClass;
-	_percACitizens = Math.trunc((V.ACitizens / (V.ACitizens + V.ASlaves)) * 1000) / 10;
-	_percASlaves = Math.trunc((V.ASlaves / (V.ACitizens + V.ASlaves)) * 1000) / 10;
-	_percLowerClass = Math.trunc((V.lowerClass / (V.ACitizens + V.ASlaves)) * 1000) / 10;
-	_percMiddleClass = Math.trunc((V.middleClass / (V.ACitizens + V.ASlaves)) * 1000) / 10;
-	_percUpperClass = Math.trunc((V.upperClass / (V.ACitizens + V.ASlaves)) * 1000) / 10;
-	_percTopClass = Math.trunc((V.topClass / (V.ACitizens + V.ASlaves)) * 1000) / 10;
 	if (V.cheatMode === 1 || V.debugMode === 1) {
 		appendDiv(`${V.arcologies[0].prosperity} Prosperity | ${_FSScore} FS Score | ${_honeymoon} Honeymoon | ${_transportHub} Transporthub | ${_terrain} Terrain | ${_crime} Crime`);
-		appendDiv(`${_LSCD} Lower + Slave Class Demand | ${_SCD} Slave Class Demand | ${_slaveProductivity} Slave Productivity`);
-		appendDiv(`${_LCD} Lower Class Demand | ${_lowerClassP} LC Multiplier`);
-		appendDiv(`${_MCD} Middle Class Demand | ${_middleClassP} MC Multiplier`);
-		appendDiv(`${_UCD} Upper Class Demand | ${_upperClassP} UC Multiplier`);
-		appendDiv(`${_TCD} Top Class Demand | ${_topClassP} TC Multiplier`);
+		appendDiv(`${num(_LSCD)} Lower + Slave Class Demand | ${num(_SCD)} Slave Class Demand | ${num(_slaveProductivity)} Slave Productivity`);
+		appendDiv(`${num(_LCD)} Lower Class Demand | ${num(_lowerClassP)} LC Multiplier`);
+		appendDiv(`${num(_MCD)} Middle Class Demand | ${num(_middleClassP)} MC Multiplier`);
+		appendDiv(`${num(_UCD)} Upper Class Demand | ${num(_upperClassP)} UC Multiplier`);
+		appendDiv(`${num(_TCD)} Top Class Demand | ${num(_topClassP)} TC Multiplier`);
 	}
+	const percOfPop = (n) => Math.trunc((n / (V.ACitizens + V.ASlaves)) * 1000) / 10;
 	appendDiv(`${V.arcologies[0].name} is home to the following:`);
-	appendDiv(`Citizens | ${V.ACitizens} | ${_percACitizens}%`);
-	appendDiv(`Lower Class Citizens | ${V.lowerClass} | ${_percLowerClass}%`);
-	appendDiv(`Middle Class Citizens | ${V.middleClass} | ${_percMiddleClass}%`);
-	appendDiv(`Upper Class Citizens | ${V.upperClass} | ${_percUpperClass}%`);
-	appendDiv(`Millionaires | ${V.topClass} | ${_percTopClass}%`);
-	appendDiv(`Slaves | ${V.ASlaves} | ${_percASlaves}%`);
+	appendDiv(`Citizens | ${num(V.ACitizens)} | ${percOfPop(V.ACitizens)}%`);
+	appendDiv(`Lower Class Citizens | ${num(V.lowerClass)} | ${percOfPop(V.lowerClass)}%`);
+	appendDiv(`Middle Class Citizens | ${num(V.middleClass)} | ${percOfPop(V.middleClass)}%`);
+	appendDiv(`Upper Class Citizens | ${num(V.upperClass)} | ${percOfPop(V.upperClass)}%`);
+	appendDiv(`Millionaires | ${num(V.topClass)} | ${percOfPop(V.topClass)}%`);
+	appendDiv(`Slaves | ${num(V.ASlaves)} | ${percOfPop(V.ASlaves)}%`);
 
 	r = [];
 	if (V.arcologies[0].FSSupremacistLawME === 1) {
@@ -267,8 +256,7 @@ App.EndWeek.arcManagement = function() {
 		r.push(`Food vendors are offered subsidized rent and operating expenses to set up shop in your arcology.`);
 	}
 	if (V.secExpEnabled > 0) {
-		if (V.SecExp.edicts.alternativeRents === 1) {
-			/* A silly policy*/
+		if (V.SecExp.edicts.alternativeRents === 1) { // A silly policy
 			r.push(`Your citizens are allowed to pay their rents in slaves rather than cash and a few financially challenged individuals make use of this.`);
 			_rentMultiplier *= 0.95;
 			const _movement = random(0, 3);
@@ -422,8 +410,7 @@ App.EndWeek.arcManagement = function() {
 		if (V.arcologies[0].prosperity < (V.rep / 100)) {
 			r.push(`Your impressive reputation relative to ${V.arcologies[0].name}'s prosperity <span class="green">drives an increase in business.</span>`);
 			_AWeekGrowth++;
-		} else if (V.rep > 18000) {
-			/* no growth penalty if PC is at high rep, no matter how high prosperity goes */
+		} else if (V.rep > 18000) { // no growth penalty if PC is at high rep, no matter how high prosperity goes
 		} else if (V.arcologies[0].prosperity > (V.rep / 60)) {
 			r.push(`Your low reputation relative to ${V.arcologies[0].name}'s prosperity <span class="red">seriously impedes business growth.</span>`);
 			_AWeekGrowth -= 2;
@@ -541,7 +528,7 @@ App.EndWeek.arcManagement = function() {
 			_AWeekGrowth--;
 		}
 
-		/* deactivated with sec Exp as they are modifiers for the trade mechanic */
+		// deactivated with sec Exp as they are modifiers for the trade mechanic
 		if (V.secExpEnabled === 0) {
 			if (V.terrain === "urban") {
 				r.push(`Since your arcology is located in the heart of an urban area, its commerce is naturally vibrant.`);
@@ -579,9 +566,10 @@ App.EndWeek.arcManagement = function() {
 		}
 		if (_descNeg.length > 0) {
 			if (_desc.length === 0) {
-				r.push(`Your arcology's economy is hindered by social conflicts with ${arrayToSentence(_descNeg)}.`);
-				_AWeekGrowth -= _descNeg.length;
+				r.push(`Your arcology's economy is`);
 			}
+			r.push(`hindered by social conflicts with ${arrayToSentence(_descNeg)}.`);
+			_AWeekGrowth -= _descNeg.length;
 		}
 		if (V.policies.alwaysSubsidizeGrowth === 1) {
 			r.push(`Growth was subsidized as planned.`);
@@ -666,7 +654,6 @@ App.EndWeek.arcManagement = function() {
 			let _popCap = menialPopCap();
 			let _menialSlaveValue = menialSlaveCost();
 			const {HeM, heM} = getPronouns(assistant.pronouns().market).appendSuffix('M');
-			// <br>
 			r.push(`Your <span class="bold">business assistant</span> manages the menial slave market.`);
 			if (_menialSlaveValue <= 900 + V.assistant.market.aggressiveness) { /* BUY */
 				let _bulkMax = _popCap.value - V.menials - V.fuckdolls - V.menialBioreactors;
@@ -1463,8 +1450,8 @@ App.EndWeek.arcManagement = function() {
 			V.menials += _enslavedPC;
 			V.NPCSlaves += _enslavedNPC;
 			if (_enslaved > 1) {
-				appendDiv(`In total <span class="green">${_enslaved} lower class citizens</span> were enslaved for failing to pay their debts.`);
-				appendDiv(`<span class="green">You enslaved ${_enslavedPC}</span> of them while other debtholders in the arcology enslaved the remaining ${_enslavedNPC}.`);
+				appendDiv(`In total <span class="green">${num(_enslaved)} lower class citizens</span> were enslaved for failing to pay their debts.`);
+				appendDiv(`<span class="green">You enslaved ${num(_enslavedPC)}</span> of them while other debtholders in the arcology enslaved the remaining ${num(_enslavedNPC)}.`);
 			} else {
 				appendDiv(`<span class="green">As arcology owner you claimed the slave.</span>`);
 			}
@@ -1503,7 +1490,7 @@ App.EndWeek.arcManagement = function() {
 			appendDiv(`<span class="red">Visitors is NaN, report this issue!</span>`);
 			V.visitors = _oldVisitors;
 		}
-		appendDiv(`<span class="green">${V.visitors} traders and tourists</span> visited your arcology this week.`);
+		appendDiv(`<span class="green">${num(V.visitors)} traders and tourists</span> visited your arcology this week.`);
 		appendDiv(App.SecExp.propagandaEffects("enslavement").text);
 		_enslaved += App.SecExp.propagandaEffects("enslavement").effect;
 
@@ -1516,7 +1503,7 @@ App.EndWeek.arcManagement = function() {
 			if (_weeklyRetiredMenials > 1) {
 				_weeklyRetiredMenials = Math.trunc(_weeklyRetiredMenials);
 				if (_weeklyRetiredMenials > 1) {
-					appendDiv(`<span class="red">${_weeklyRetiredMenials} of your menial slaves</span> retired as free citizens this week.`);
+					appendDiv(`<span class="red">${num(_weeklyRetiredMenials)} of your menial slaves</span> retired as free citizens this week.`);
 				} else {
 					appendDiv(`<span class="red">One of your menial slaves</span> retired as a free citizen this week.`);
 				}
@@ -1532,7 +1519,7 @@ App.EndWeek.arcManagement = function() {
 			if (_weeklyRetiredNPCMenials > 1) {
 				_weeklyRetiredNPCMenials = Math.trunc(_weeklyRetiredNPCMenials);
 				if (_weeklyRetiredNPCMenials > 1) {
-					appendDiv(`<span class="red">${_weeklyRetiredNPCMenials} menial slaves</span> were retired as free citizens by other slave owners in your arcology this week.`);
+					appendDiv(`<span class="red">${num(_weeklyRetiredNPCMenials)} menial slaves</span> were retired as free citizens by other slave owners in your arcology this week.`);
 				} else {
 					appendDiv(`<span class="red">One menial slave</span> was retired as a free citizen by another slave owner in your arcology this week.`);
 				}
@@ -1564,7 +1551,7 @@ App.EndWeek.arcManagement = function() {
 				V.menialDemandFactor -= _NPCSlavesSold;
 				V.NPCSlaves = Math.trunc(_SCD * 1.6);
 				if (_NPCSlavesSold > 1) {
-					appendDiv(`<span class="red">${_NPCSlavesSold}</span> slaves were sold by your inhabitants. They've got more than enough of them already.`);
+					appendDiv(`<span class="red">${num(_NPCSlavesSold)}</span> slaves were sold by your inhabitants. They've got more than enough of them already.`);
 				} else if (_NPCSlavesSold > 0) {
 					appendDiv(`<span class="red">One slave</span> was sold by your inhabitants. They've got more than enough of them already.`);
 				}
@@ -1574,7 +1561,7 @@ App.EndWeek.arcManagement = function() {
 				V.menialDemandFactor -= _NPCSlavesSold;
 				V.NPCSlaves = Math.trunc(_LSCD / _slaveProductivity);
 				if (_NPCSlavesSold > 1) {
-					appendDiv(`<span class="red">${_NPCSlavesSold}</span> slaves were sold by your inhabitants. There was so little work that they failed to earn their keep.`);
+					appendDiv(`<span class="red">${num(_NPCSlavesSold)}</span> slaves were sold by your inhabitants. There was so little work that they failed to earn their keep.`);
 				} else if (_NPCSlavesSold > 0) {
 					appendDiv(`<span class="red">One slave</span> was sold by your inhabitants. There was so little work that it failed to earn its keep.`);
 				}
@@ -1585,7 +1572,7 @@ App.EndWeek.arcManagement = function() {
 					V.menialDemandFactor -= _NPCSlavesSold;
 					V.NPCSlaves -= _NPCSlavesSold;
 					if (_NPCSlavesSold > 1) {
-						appendDiv(`<span class="red">${_NPCSlavesSold}</span> slaves were sold by your inhabitants. They've got more than enough of them already.`);
+						appendDiv(`<span class="red">${num(_NPCSlavesSold)}</span> slaves were sold by your inhabitants. They've got more than enough of them already.`);
 					} else if (_NPCSlavesSold > 0) {
 						appendDiv(`<span class="red">One slave</span> was sold by your inhabitants. They've got more than enough of them already.`);
 					}
@@ -1597,7 +1584,7 @@ App.EndWeek.arcManagement = function() {
 					V.menialDemandFactor -= _NPCSlavesSold;
 					V.NPCSlaves -= _NPCSlavesSold;
 					if (_NPCSlavesSold > 1) {
-						appendDiv(`<span class="red">${_NPCSlavesSold}</span> were sold by your inhabitants. They saw an opportunity for profit.`);
+						appendDiv(`<span class="red">${num(_NPCSlavesSold)}</span> were sold by your inhabitants. They saw an opportunity for profit.`);
 					} else if (_NPCSlavesSold > 0) {
 						appendDiv(`<span class="red">One slave</span> was sold by your inhabitants. They saw an opportunity for profit.`);
 					}
@@ -1610,7 +1597,7 @@ App.EndWeek.arcManagement = function() {
 					V.menialSupplyFactor -= _NPCSlavesBought;
 					V.NPCSlaves += _NPCSlavesBought;
 					if (_NPCSlavesBought > 1) {
-						appendDiv(`<span class="green">${_NPCSlavesBought} slaves</span> were bought by your inhabitants. They were too cheap to pass up on.`);
+						appendDiv(`<span class="green">${num(_NPCSlavesBought)} slaves</span> were bought by your inhabitants. They were too cheap to pass up on.`);
 					} /* there's no way this ever ends up needing a 1 slave version*/
 				}
 			}
@@ -1640,25 +1627,25 @@ App.EndWeek.arcManagement = function() {
 					const _intellectualDependencyEnslaved = Math.trunc(_LCImmigration * 0.25);
 					_LCImmigration -= _intellectualDependencyEnslaved;
 					_enslaved += _intellectualDependencyEnslaved;
-					r.push(`<span class="green">${_intellectualDependencyEnslaved} dumb immigrants</span> were enslaved for their own good.`);
+					r.push(`<span class="green">${num(_intellectualDependencyEnslaved)} dumb immigrants</span> were enslaved for their own good.`);
 				}
 
 				V.lowerClass += _LCImmigration;
 				if (_LCImmigration > 1) {
-					r.push(`<span class="green">${_LCImmigration} lower class citizens</span> moved to your arcology.`);
+					r.push(`<span class="green">${num(_LCImmigration)} lower class citizens</span> moved to your arcology.`);
 				} else if (_LCImmigration > 0) {
 					r.push(`<span class="green">One lower class citizen</span> moved to your arcology.`);
 				}
 			} else if (V.lowerClass > _LCD) {
-				let _LCEmigration = Math.trunc((V.lowerClass - _LCD) * 0.4);
+				const _LCEmigration = Math.trunc((V.lowerClass - _LCD) * 0.4);
 				const enslaveChance = 0.2;
 				const _enslavedEmigrants = Math.trunc(_LCEmigration * enslaveChance * (1.0 - getBanishRatio()));
 				V.lowerClass -= _LCEmigration;
 				_enslaved += _enslavedEmigrants;
 				if (_LCEmigration > 1) {
-					r.push(`<span class="red">${_LCEmigration} lower class citizens</span> had no work and tried to leave your arcology.`);
+					r.push(`<span class="red">${num(_LCEmigration)} lower class citizens</span> had no work and tried to leave your arcology.`);
 					if (_enslavedEmigrants > 1) {
-						r.push(`<span class="green">${_enslavedEmigrants} of them were enslaved instead.</span>`);
+						r.push(`<span class="green">${num(_enslavedEmigrants)} of them were enslaved instead.</span>`);
 					} else if (_enslavedEmigrants > 0) {
 						r.push(`<span class="green">One of them was enslaved instead.</span>`);
 					}
@@ -1674,7 +1661,7 @@ App.EndWeek.arcManagement = function() {
 				V.menialSupplyFactor -= _NPCSlavesBought;
 				V.NPCSlaves += _NPCSlavesBought;
 				if (_NPCSlavesBought > 1) {
-					appendDiv(`<span class="green">${_NPCSlavesBought} slaves</span> were bought by your inhabitants. They did not have enough of them to satisfy their needs.`);
+					appendDiv(`<span class="green">${num(_NPCSlavesBought)} slaves</span> were bought by your inhabitants. They did not have enough of them to satisfy their needs.`);
 				} else if (_NPCSlavesBought > 0) {
 					appendDiv(`<span class="green">One slave</span> was bought by your inhabitants. They did not quite have enough of them to satisfy their needs.`);
 				}
@@ -1700,20 +1687,19 @@ App.EndWeek.arcManagement = function() {
 				appendDiv(`Your middle class is <span class="green">sexually satiated</span> and their happiness attracts others.`);
 			}
 			if (V.middleClass < _MCD) {
-				let _MCImmigration = Math.trunc((_MCD - V.middleClass) * (0.3 * _terrain)) + 1 + secExpImigrationBonus.effect;
-
+				const _MCImmigration = Math.trunc((_MCD - V.middleClass) * (0.3 * _terrain)) + 1 + secExpImigrationBonus.effect;
 				V.middleClass += _MCImmigration;
 				if (_MCImmigration > 1) {
-					appendDiv(`<span class="green">${_MCImmigration} middle class citizens</span> moved to your arcology.`);
+					appendDiv(`<span class="green">${num(_MCImmigration)} middle class citizens</span> moved to your arcology.`);
 				} else if (_MCImmigration > 0) {
 					appendDiv(`<span class="green">One middle class citizen</span> moved to your arcology.`);
 				}
 				/* Middle Class Citizens emigrating*/
 			} else if (V.middleClass > _MCD) {
-				let _MCEmigration = Math.trunc((V.middleClass - _MCD) * 0.4);
+				const _MCEmigration = Math.trunc((V.middleClass - _MCD) * 0.4);
 				V.middleClass -= _MCEmigration;
 				if (_MCEmigration > 1) {
-					appendDiv(`<span class="red">${_MCEmigration} middle class citizens</span> left your arcology.`);
+					appendDiv(`<span class="red">${num(_MCEmigration)} middle class citizens</span> left your arcology.`);
 				} else if (_MCEmigration > 0) {
 					appendDiv(`<span class="red">One middle class citizen</span> left your arcology.`);
 				}
@@ -1739,20 +1725,19 @@ App.EndWeek.arcManagement = function() {
 				appendDiv(`Your upper class is <span class="green">sexually satiated</span> and their happiness attracts others.`);
 			}
 			if (V.upperClass < _UCD) {
-				let _UCImmigration = Math.trunc((_UCD - V.upperClass) * (0.3 * _terrain)) + 1 + secExpImigrationBonus.effect;
+				const _UCImmigration = Math.trunc((_UCD - V.upperClass) * (0.3 * _terrain)) + 1 + secExpImigrationBonus.effect;
 				V.upperClass += _UCImmigration;
-
 				if (_UCImmigration > 1) {
-					appendDiv(`<span class="green">${_UCImmigration} upper class citizens</span> moved to your arcology.`);
+					appendDiv(`<span class="green">${num(_UCImmigration)} upper class citizens</span> moved to your arcology.`);
 				} else if (_UCImmigration > 0) {
 					appendDiv(`<span class="green">One upper class citizen</span> moved to your arcology.`);
 				}
 				/* Upper Class Citizens Emigrating*/
 			} else if (V.upperClass > _UCD) {
-				let _UCEmigration = Math.trunc((V.upperClass - _UCD) * 0.4);
+				const _UCEmigration = Math.trunc((V.upperClass - _UCD) * 0.4);
 				V.upperClass -= _UCEmigration;
 				if (_UCEmigration > 1) {
-					appendDiv(`<span class="red">${_UCEmigration} upper class citizens</span> left your arcology.`);
+					appendDiv(`<span class="red">${num(_UCEmigration)} upper class citizens</span> left your arcology.`);
 				} else if (_UCEmigration > 0) {
 					appendDiv(`<span class="red">One upper class citizen</span> left your arcology.`);
 				}
@@ -1784,20 +1769,19 @@ App.EndWeek.arcManagement = function() {
 				appendDiv(`Your millionaires are <span class="green">sexually satiated</span> and their happiness attracts others.`);
 			}
 			if (V.topClass < _TCD) {
-				let _TCImmigration = Math.trunc((_TCD - V.topClass) * (0.3 * _terrain)) + 1 + secExpImigrationBonus.effect;
-
+				const _TCImmigration = Math.trunc((_TCD - V.topClass) * (0.3 * _terrain)) + 1 + secExpImigrationBonus.effect;
 				V.topClass += _TCImmigration;
 				if (_TCImmigration > 1) {
-					appendDiv(`<span class="green">${_TCImmigration} millionaires</span> moved to your arcology.`); /* Fat Cat? One-Percenter? */
+					appendDiv(`<span class="green">${num(_TCImmigration)} millionaires</span> moved to your arcology.`); /* Fat Cat? One-Percenter? */
 				} else if (_TCImmigration > 0) {
 					appendDiv(`<span class="green">One millionaire</span> moved to your arcology.`);
 				}
 				/* Top Class Citizens emigrating*/
 			} else if (V.topClass > _TCD) {
-				let _TCEmigration = Math.trunc((V.topClass - _TCD) * 0.4) + 1;
+				const _TCEmigration = Math.trunc((V.topClass - _TCD) * 0.4) + 1;
 				V.topClass -= _TCEmigration;
 				if (_TCEmigration > 1) {
-					appendDiv(`<span class="red">${_TCEmigration} millionaires</span> left your arcology.`);
+					appendDiv(`<span class="red">${num(_TCEmigration)} millionaires</span> left your arcology.`);
 				} else if (_TCEmigration > 0) {
 					appendDiv(`<span class="red">One millionaire</span> left your arcology.`);
 				}
@@ -1828,12 +1812,12 @@ App.EndWeek.arcManagement = function() {
 			V.citizenRetirementTrigger = 2;
 			r.push(`You have enacted citizen retirement, the slaves of eligible age are granted freedom.`);
 			if (_menialsRetirement > 1) {
-				r.push(`<span class="red">${_menialsRetirement} of your menial slaves</span> were retired.`);
+				r.push(`<span class="red">${num(_menialsRetirement)} of your menial slaves</span> were retired.`);
 			} else if (_menialsRetirement > 0) {
 				r.push(`<span class="red">One of your menial slaves</span> was retired.`);
 			}
 			if (_ASlavesRetirement > 1) {
-				r.push(`<span class="red">${_ASlavesRetirement} slaves</span> in your arcology were given a citizen retirement.`);
+				r.push(`<span class="red">${num(_ASlavesRetirement)} slaves</span> in your arcology were given a citizen retirement.`);
 			}
 			/* I could bother with a single slave retirement message, but that's never going to get used*/
 		}
@@ -1846,7 +1830,6 @@ App.EndWeek.arcManagement = function() {
 		const r = [];
 		/* Citizen expiration */
 		let z = [];
-		let ret = "";
 		const _deathsLC = Math.trunc(V.lowerClass * _expirationLC);
 		const _deathsMC = Math.trunc(V.middleClass * _expirationMC);
 		const _deathsUC = Math.trunc(V.upperClass * _expirationUC);
@@ -1856,20 +1839,19 @@ App.EndWeek.arcManagement = function() {
 		V.upperClass -= _deathsUC;
 		V.lowerClass -= _deathsTC;
 		if (_deathsLC > 0) {
-			z.push(`<span class="red">${_deathsLC} lower class citizen(s)`);
+			z.push(numberWithPluralOne(_deathsLC, "lower class citizen"));
 		}
 		if (_deathsMC > 0) {
-			z.push(`<span class="red">${_deathsMC} middle class citizen(s)`);
+			z.push(numberWithPluralOne(_deathsMC, "middle class citizen"));
 		}
 		if (_deathsUC > 0) {
-			z.push(`<span class="red">${_deathsUC} upper class citizen(s)`);
+			z.push(numberWithPluralOne(_deathsUC, "upper class citizen"));
 		}
 		if (_deathsTC > 0) {
-			z.push(`<span class="red">${_deathsTC} millionaire(s)`);
+			z.push(numberWithPluralOne(_deathsTC, "millionaire"));
 		}
-		if (_deathsLC > 0|| _deathsMC > 0|| _deathsUC > 0 || _deathsTC > 0) {
-			ret += z.reduce(function(res, ch, i, arr) { return res + (i === arr.length - 1 ? ' and ' : ', ') + ch; }) + " passed away due to natural causes.</span>";
-			r.push(ret);
+		if (_deathsLC > 0 || _deathsMC > 0 || _deathsUC > 0 || _deathsTC > 0) {
+			r.push(App.UI.DOM.makeElement("span", `${capFirstChar(arrayToSentence(z))} passed away due to natural causes.`, "red"));
 		}
 
 		/* Slave expiration*/
@@ -1884,12 +1866,12 @@ App.EndWeek.arcManagement = function() {
 		V.menialBioreactors -= _expirationBR;
 		if (_expiration > 0) {
 			if (_expirationFS <= 0.5) {
-				r.push(`<span class="red">${_expiration} slave(s) passed away</span> due to natural causes.`);
+				r.push(`<span class="red">${capFirstChar(numberWithPluralOne(_expiration, "slave"))} passed away</span> due to natural causes.`);
 			} else {
-				r.push(`<span class="red">${_expiration} slave(s) died</span> due to the tough working conditions in your arcology.`);
+				r.push(`<span class="red">${capFirstChar(numberWithPluralOne(_expiration, "slave"))} died</span> due to the tough working conditions in your arcology.`);
 			}
 			if (_expirationPC > 1) {
-				r.push(`Of which <span class="red">${_expirationPC} were yours.</span>`);
+				r.push(`Of which <span class="red">${num(_expirationPC)} were yours.</span>`);
 			} else if (_expirationPC > 0) {
 				r.push(`<span class="red">One of them was yours.</span>`);
 			}
diff --git a/src/endWeek/economics/fsDevelopments.js b/src/endWeek/economics/fsDevelopments.js
index 13c797d63ef0f7e8e4add798daa286f204d987fc..78a3ab8d9547cfbeec017b63b501fb4d0af9fef0 100644
--- a/src/endWeek/economics/fsDevelopments.js
+++ b/src/endWeek/economics/fsDevelopments.js
@@ -1,6 +1,7 @@
 App.EndWeek.FSDevelopments = function() {
 	const el = document.createElement("div");
 	let r = [];
+	const arc = V.arcologies[0];
 	if (V.useTabs === 0) {
 		App.UI.DOM.appendNewElement("h2", el, "Society");
 	}
@@ -14,7 +15,7 @@ App.EndWeek.FSDevelopments = function() {
 	const FSRepDescriptors = ["solid", "high", "remarkable", "great", "excellent", "unparalleled"];
 	const ordinalNames = ["second", "third", "fourth", "fifth", "sixth", "seventh", "eighth"];
 	if (FutureSocieties.availCredits() > 0) {
-		r.push(`<span class="yellow">${V.arcologies[0].name}'s society is ready to begin accepting a new societal direction.</span>`);
+		r.push(`<span class="yellow">${arc.name}'s society is ready to begin accepting a new societal direction.</span>`);
 	}
 
 	if (V.FSAnnounced === 1 && V.FSGotRepCredits < V.FSCreditCount && V.rep >= FSRepCreditsRep[V.FSCreditCount - 4][V.FSGotRepCredits - 1]) {
@@ -23,12 +24,12 @@ App.EndWeek.FSDevelopments = function() {
 		if (V.FSGotRepCredits === V.FSCreditCount - 1) {
 			ordinalName += " and final";
 		}
-		r.push(`<span class="yellow">Your reputation is so ${descriptor} that ${V.arcologies[0].name}'s society is ready to begin accepting a ${ordinalName} societal direction.</span>`);
+		r.push(`<span class="yellow">Your reputation is so ${descriptor} that ${arc.name}'s society is ready to begin accepting a ${ordinalName} societal direction.</span>`);
 		V.FSGotRepCredits += 1;
 	}
 
 	/* Count adopted FS */
-	const societies = FutureSocieties.activeCount(V.arcologies[0]);
+	const societies = FutureSocieties.activeCount(arc);
 
 	/* Spending, terrain, rep effects */
 	let broadProgress = 0;
@@ -41,31 +42,32 @@ App.EndWeek.FSDevelopments = function() {
 	}
 	if (V.FSSpending > 1) {
 		r.push(`Your <span class="yellowgreen">societal spending</span> helps forward your goals for the arcology's future.`);
-		broadProgress += Math.trunc(V.FSSpending / (1000 - (500 * V.arcologies[0].FSEdoRevivalistLaw) - (250 * V.arcologies[0].FSArabianRevivalistLaw)));
+		broadProgress += Math.trunc(V.FSSpending / (1000 - (500 * arc.FSEdoRevivalistLaw) - (250 * arc.FSArabianRevivalistLaw)));
 	}
+	const weeksOfFCTV = V.week - V.FCTV.weekEnabled;
 	if (V.FCTV.receiver === 3) {
 		r.push(`Your customized <span class="yellowgreen">FCTV programming</span> strongly influences your citizens, greatly helping define your arcology's culture.`);
-		if ((V.week - V.FCTV.weekEnabled) > 29) {
+		if (weeksOfFCTV > 29) {
 			broadProgress += 3;
-		} else if ((V.week - V.FCTV.weekEnabled) > 19) {
+		} else if (weeksOfFCTV > 19) {
 			broadProgress += 2;
-		} else if ((V.week - V.FCTV.weekEnabled) > 4) {
+		} else if (weeksOfFCTV > 4) {
 			broadProgress += 1;
 		}
 	} else if (V.FCTV.receiver === 2) {
 		r.push(`Your customized <span class="yellowgreen">FCTV programming</span> influences your citizens, helping define your arcology's culture.`);
-		if ((V.week - V.FCTV.weekEnabled) > 34) {
+		if (weeksOfFCTV > 34) {
 			broadProgress += 3;
-		} else if ((V.week - V.FCTV.weekEnabled) > 23) {
+		} else if (weeksOfFCTV > 23) {
 			broadProgress += 2;
-		} else if ((V.week - V.FCTV.weekEnabled) > 8) {
+		} else if (weeksOfFCTV > 8) {
 			broadProgress += 1;
 		}
 	} else if (V.FCTV.receiver === 1) {
 		r.push(`Your customized <span class="yellowgreen">FCTV programming</span> influences a small number of your citizens, slightly helping define your arcology's culture.`);
-		if ((V.week - V.FCTV.weekEnabled) > 39) {
+		if (weeksOfFCTV > 39) {
 			broadProgress += 2;
-		} else if ((V.week - V.FCTV.weekEnabled) > 24) {
+		} else if (weeksOfFCTV > 24) {
 			broadProgress += 1;
 		}
 	}
@@ -75,18 +77,18 @@ App.EndWeek.FSDevelopments = function() {
 	broadProgress += propagandaEffects.effect;
 
 	if (V.terrain === "urban") {
-		r.push(`The <span class="yellow">urban location</span> of the arcology naturally promotes cultural interchange, holding back ${V.arcologies[0].name}'s cultural independence.`);
+		r.push(`The <span class="yellow">urban location</span> of the arcology naturally promotes cultural interchange, holding back ${arc.name}'s cultural independence.`);
 		broadProgress -= 3;
 	} else if (V.terrain === "rural") {
-		r.push(`The <span class="yellow">rural location</span> of the arcology naturally limits cultural interchange, allowing ${V.arcologies[0].name} to slowly develop its own culture.`);
+		r.push(`The <span class="yellow">rural location</span> of the arcology naturally limits cultural interchange, allowing ${arc.name} to slowly develop its own culture.`);
 		broadProgress -= 2;
 	} else if (V.terrain === "marine") {
-		r.push(`The <span class="yellow">marine location</span> of the arcology strongly limits cultural interchange, allowing ${V.arcologies[0].name} to quickly develop its own culture.`);
+		r.push(`The <span class="yellow">marine location</span> of the arcology strongly limits cultural interchange, allowing ${arc.name} to quickly develop its own culture.`);
 		broadProgress -= 1;
 	} else if (V.terrain === "ravine") {
-		r.push(`The <span class="yellow">near subterranean location</span> of the arcology almost eliminates cultural interchange, allowing ${V.arcologies[0].name} to independently develop its culture.`);
+		r.push(`The <span class="yellow">near subterranean location</span> of the arcology almost eliminates cultural interchange, allowing ${arc.name} to independently develop its culture.`);
 	} else {
-		r.push(`The <span class="yellow">oceanic location</span> of the arcology almost eliminates cultural interchange, allowing ${V.arcologies[0].name} to independently develop its culture.`);
+		r.push(`The <span class="yellow">oceanic location</span> of the arcology almost eliminates cultural interchange, allowing ${arc.name} to independently develop its culture.`);
 	}
 	if (V.rep < 3000 - V.enduringRep) {
 		r.push(`<span class="red">Your weak reputation</span> reflects badly on your social projects.`);
@@ -231,274 +233,20 @@ App.EndWeek.FSDevelopments = function() {
 	/* PA FS bonuses */
 	if (V.policies.publicPA === 1 && V.assistant.appearance !== "normal") {
 		let seed = 0;
-		if (V.arcologies[0].FSSupremacist !== "unset") {
-			if (["amazon", "monstergirl", "succubus"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSSupremacist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "supremacist") {
-				V.arcologies[0].FSSupremacist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-
-		if (V.arcologies[0].FSSubjugationist !== "unset") {
-			if (["amazon", "businesswoman", "imp"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSSubjugationist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "subjugationist") {
-				V.arcologies[0].FSSubjugationist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSGenderRadicalist !== "unset") {
-			if (["incubus", "monstergirl", "shemale", "succubus", "witch"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSGenderRadicalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "gender radicalist") {
-				V.arcologies[0].FSGenderRadicalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSRepopulationFocus !== "unset") {
-			if (["goddess", "hypergoddess", "preggololi", "pregnant fairy", "succubus", "witch"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSRepopulationFocus += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "repopulation focus") {
-				V.arcologies[0].FSRepopulationFocus += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSRestart !== "unset") {
-			if (["angel", "businesswoman", "goddess", "incubus", "loli", "schoolgirl", "succubus", "witch"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSRestart += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "eugenics") {
-				V.arcologies[0].FSRestart += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-
-		if (V.arcologies[0].FSGenderFundamentalist !== "unset") {
-			if (["angel", "cherub", "fairy", "goddess", "hypergoddess", "loli", "preggololi", "pregnant fairy", "schoolgirl", "succubus", "witch"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSGenderFundamentalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "gender fundamentalist") {
-				V.arcologies[0].FSGenderFundamentalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSPaternalist !== "unset") {
-			if (["angel", "cherub", "fairy", "goddess", "hypergoddess", "loli", "preggololi", "pregnant fairy", "schoolgirl"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSPaternalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "paternalist") {
-				V.arcologies[0].FSPaternalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSDegradationist !== "unset") {
-			if (["businesswoman", "imp", "incubus", "monstergirl", "preggololi", "succubus"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSDegradationist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "degradationist") {
-				V.arcologies[0].FSDegradationist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSIntellectualDependency !== "unset") {
-			if (["shemale", "succubus", "witch"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSIntellectualDependency += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "intellectual dependency") {
-				V.arcologies[0].FSIntellectualDependency += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-
-		if (V.arcologies[0].FSSlaveProfessionalism !== "unset") {
-			if (["angel", "businesswoman", "incubus", "goddess", "schoolgirl", "succubus"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSSlaveProfessionalism += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "slave professionalism") {
-				V.arcologies[0].FSSlaveProfessionalism += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSBodyPurist !== "unset") {
-			if (["amazon", "angel", "fairy", "goddess", "incubus", "loli", "pregnant fairy", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSBodyPurist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "body purist") {
-				V.arcologies[0].FSBodyPurist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSTransformationFetishist !== "unset") {
-			if (["businesswoman", "ERROR_1606_APPEARANCE_FILE_CORRUPT", "incubus", "shemale", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSTransformationFetishist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "transformation fetishist") {
-				V.arcologies[0].FSTransformationFetishist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSMaturityPreferentialist !== "unset") {
-			if (["angel", "businesswoman", "goddess", "incubus", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSMaturityPreferentialist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "maturity preferentialist") {
-				V.arcologies[0].FSMaturityPreferentialist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-
-		if (V.arcologies[0].FSYouthPreferentialist !== "unset") {
-			if (["angel", "cherub", "imp", "loli", "preggololi", "schoolgirl", "shemale", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSYouthPreferentialist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "youth preferentialist") {
-				V.arcologies[0].FSYouthPreferentialist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSPetiteAdmiration !== "unset") {
-			if (["cherub", "fairy", "imp", "incubus", "loli", "preggololi", "pregnant fairy", "schoolgirl", "succubus", "witch"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSPetiteAdmiration += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "petite admiration") {
-				V.arcologies[0].FSPetiteAdmiration += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSStatuesqueGlorification !== "unset") {
-			if (["amazon", "goddess", "incubus", "succubus", "witch"].includes(V.assistant.appearance)) {
-				V.arcologies[0].FSStatuesqueGlorification += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "statuesque glorification") {
-				V.arcologies[0].FSStatuesqueGlorification += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSSlimnessEnthusiast !== "unset") {
-			if (["cherub", "imp", "loli", "schoolgirl", "shemale", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSSlimnessEnthusiast += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "slimness enthusiast") {
-				V.arcologies[0].FSSlimnessEnthusiast += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-
-		if (V.arcologies[0].FSAssetExpansionist !== "unset") {
-			if (["businesswoman", "hypergoddess", "incubus", "shemale", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSAssetExpansionist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "asset expansionist") {
-				V.arcologies[0].FSAssetExpansionist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSPastoralist !== "unset") {
-			if (["goddess", "hypergoddess", "incubus", "shemale", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSPastoralist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "pastoralist") {
-				V.arcologies[0].FSPastoralist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSPhysicalIdealist !== "unset") {
-			if (["amazon", "incubus", "shemale", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSPhysicalIdealist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "physical idealist") {
-				V.arcologies[0].FSPhysicalIdealist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSHedonisticDecadence !== "unset") {
-			if (["goddess", "hypergoddess", "imp", "incubus", "preggololi", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSHedonisticDecadence += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "hedonistic decadence") {
-				V.arcologies[0].FSHedonisticDecadence += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-
-		if (V.arcologies[0].FSChattelReligionist !== "unset") {
-			if (["angel", "cherub", "goddess", "imp", "incubus", "monstergirl", "succubus", "witch"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSChattelReligionist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "chattel religionist") {
-				V.arcologies[0].FSChattelReligionist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-
-		if (V.arcologies[0].FSRomanRevivalist !== "unset") {
-			if (["amazon", "businesswoman", "incubus", "succubus"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSRomanRevivalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "roman revivalist") {
-				V.arcologies[0].FSRomanRevivalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-
-		if (V.arcologies[0].FSNeoImperialist !== "unset") {
-			if (["amazon", "businesswoman", "incubus", "shemale", "angel"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSNeoImperialist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "neoimperialist") {
-				V.arcologies[0].FSNeoImperialist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-
-		if (V.arcologies[0].FSAztecRevivalist !== "unset") {
-			if (["amazon", "businesswoman", "incubus", "succubus"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSAztecRevivalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "aztec revivalist") {
-				V.arcologies[0].FSAztecRevivalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSEgyptianRevivalist !== "unset") {
-			if (["goddess", "incubus", "monstergirl", "succubus"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSEgyptianRevivalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "egyptian revivalist") {
-				V.arcologies[0].FSEgyptianRevivalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSEdoRevivalist !== "unset") {
-			if (["amazon", "incubus", "kitsune", "loli", "monstergirl", "succubus"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSEdoRevivalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "edo revivalist") {
-				V.arcologies[0].FSEdoRevivalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSArabianRevivalist !== "unset") {
-			if (["businesswoman", "incubus", "schoolgirl", "succubus"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSArabianRevivalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "arabian revivalist") {
-				V.arcologies[0].FSArabianRevivalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
-			}
-		}
-		if (V.arcologies[0].FSChineseRevivalist !== "unset") {
-			if (["incubus", "monstergirl", "schoolgirl", "succubus"].includes(V.assistant.fsAppearance)) {
-				V.arcologies[0].FSChineseRevivalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 1;
-			} else if (V.assistant.fsAppearance === "chinese revivalist") {
-				V.arcologies[0].FSChineseRevivalist += 0.1 * V.FSSingleSlaveRep;
-				seed = 2;
+		for (const FS of App.Data.FutureSociety.playerFSNames.filter(FS => FS !== "FSNull")) {
+			if (arc[FS] !== "unset") {
+				if (App.Data.Assistant.appearanceForFS.get(FS).includes(V.assistant.appearance)) {
+					arc[FS] += 0.1 * V.FSSingleSlaveRep;
+					seed = seed || 1;
+				} else if (
+					(V.assistant.fsAppearance === App.Data.FutureSociety.records[FS].adj.toLowerCase()) ||
+					(V.assistant.fsAppearance === App.Data.FutureSociety.records[FS].noun.toLowerCase()) ||
+					(FS === "FSHedonisticDecadence" && V.assistant.fsAppearance === "hedonistic decadence") ||
+					(FS === "FSNeoImperialist" && V.assistant.fsAppearance === "neoimperialist")
+				) {
+					arc[FS] += 0.1 * V.FSSingleSlaveRep;
+					seed = 2;
+				}
 			}
 		}
 
@@ -518,922 +266,55 @@ App.EndWeek.FSDevelopments = function() {
 	FutureSocieties.overflowToInfluence(0);
 
 	/* warm up policy influence */
-	if (V.arcologies[0].FSEgyptianRevivalistIncestPolicy === 1 && V.arcologies[0].FSEgyptianRevivalistInterest < 26) {
-		V.arcologies[0].FSEgyptianRevivalistInterest += V.arcologies[0].FSEgyptianRevivalistIncestPolicy;
-	} else if (V.arcologies[0].FSEgyptianRevivalistIncestPolicy === 0 && V.arcologies[0].FSEgyptianRevivalistInterest > 0) {
-		V.arcologies[0].FSEgyptianRevivalistInterest--;
+	if (arc.FSEgyptianRevivalistIncestPolicy === 1 && arc.FSEgyptianRevivalistInterest < 26) {
+		arc.FSEgyptianRevivalistInterest += arc.FSEgyptianRevivalistIncestPolicy;
+	} else if (arc.FSEgyptianRevivalistIncestPolicy === 0 && arc.FSEgyptianRevivalistInterest > 0) {
+		arc.FSEgyptianRevivalistInterest--;
 	}
 
-	if ((V.arcologies[0].FSRepopulationFocusPregPolicy === 1 || V.arcologies[0].FSRepopulationFocusMilfPolicy === 1) && V.arcologies[0].FSRepopulationFocusInterest < 26) {
-		V.arcologies[0].FSRepopulationFocusInterest += V.arcologies[0].FSRepopulationFocusPregPolicy + V.arcologies[0].FSRepopulationFocusMilfPolicy;
-		if (V.arcologies[0].FSEugenicsInterest > 0) {
-			V.arcologies[0].FSEugenicsInterest--;
+	if ((arc.FSRepopulationFocusPregPolicy === 1 || arc.FSRepopulationFocusMilfPolicy === 1) && arc.FSRepopulationFocusInterest < 26) {
+		arc.FSRepopulationFocusInterest += arc.FSRepopulationFocusPregPolicy + arc.FSRepopulationFocusMilfPolicy;
+		if (arc.FSEugenicsInterest > 0) {
+			arc.FSEugenicsInterest--;
 		}
-	} else if (V.arcologies[0].FSRepopulationFocusPregPolicy === 0 && V.arcologies[0].FSRepopulationFocusMilfPolicy === 0 && V.arcologies[0].FSRepopulationFocusInterest > 0) {
-		V.arcologies[0].FSRepopulationFocusInterest--;
+	} else if (arc.FSRepopulationFocusPregPolicy === 0 && arc.FSRepopulationFocusMilfPolicy === 0 && arc.FSRepopulationFocusInterest > 0) {
+		arc.FSRepopulationFocusInterest--;
 	}
 
-	if ([V.arcologies[0].FSSupremacistSMR, V.arcologies[0].FSSubjugationistSMR, V.arcologies[0].FSGenderFundamentalistSMR, V.arcologies[0].FSPaternalistSMR, V.arcologies[0].FSDegradationistSMR, V.arcologies[0].FSBodyPuristSMR, V.arcologies[0].FSTransformationFetishistSMR, V.arcologies[0].FSYouthPreferentialistSMR, V.arcologies[0].FSMaturityPreferentialistSMR, V.arcologies[0].FSSlimnessEnthusiastSMR, V.arcologies[0].FSAssetExpansionistSMR, V.arcologies[0].FSPastoralistSMR, V.arcologies[0].FSPhysicalIdealistSMR, V.arcologies[0].FSChattelReligionistSMR, V.arcologies[0].FSRomanRevivalistSMR, V.arcologies[0].FSAztecRevivalistSMR, V.arcologies[0].FSEgyptianRevivalistSMR, V.arcologies[0].FSEdoRevivalistSMR, V.arcologies[0].FSRepopulationFocusSMR, V.arcologies[0].FSRestartSMR, V.arcologies[0].FSHedonisticDecadenceSMR, V.arcologies[0].FSIntellectualDependencySMR, V.arcologies[0].FSSlaveProfessionalismSMR, V.arcologies[0].FSPetiteAdmirationSMR, V.arcologies[0].FSStatuesqueGlorificationSMR, V.arcologies[0].FSArabianRevivalistSMR, V.arcologies[0].FSChineseRevivalistSMR, V.arcologies[0].FSNeoImperialistSMR, V.arcologies[0].FSGenderRadicalistSMR].some((SMR) => SMR > 0)) { // RadicalistSMR was unused since vanilla, but maybe some day....
+	if ([arc.FSSupremacistSMR, arc.FSSubjugationistSMR, arc.FSGenderFundamentalistSMR, arc.FSPaternalistSMR, arc.FSDegradationistSMR, arc.FSBodyPuristSMR, arc.FSTransformationFetishistSMR, arc.FSYouthPreferentialistSMR, arc.FSMaturityPreferentialistSMR, arc.FSSlimnessEnthusiastSMR, arc.FSAssetExpansionistSMR, arc.FSPastoralistSMR, arc.FSPhysicalIdealistSMR, arc.FSChattelReligionistSMR, arc.FSRomanRevivalistSMR, arc.FSAztecRevivalistSMR, arc.FSEgyptianRevivalistSMR, arc.FSEdoRevivalistSMR, arc.FSRepopulationFocusSMR, arc.FSRestartSMR, arc.FSHedonisticDecadenceSMR, arc.FSIntellectualDependencySMR, arc.FSSlaveProfessionalismSMR, arc.FSPetiteAdmirationSMR, arc.FSStatuesqueGlorificationSMR, arc.FSArabianRevivalistSMR, arc.FSChineseRevivalistSMR, arc.FSNeoImperialistSMR, arc.FSGenderRadicalistSMR].some((SMR) => SMR > 0)) { // RadicalistSMR was unused since vanilla, but maybe some day....
 		r.push(`The slave market regulations help ensure the arcology's slaves fit within its society.`);
 	}
 
-	if (V.arcologies[0].FSSupremacist !== "unset") {
-		if (V.arcologies[0].FSSupremacist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly in ${V.arcologies[0].FSSupremacistRace} superiority.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSSupremacist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with ${V.arcologies[0].FSSupremacistRace} superiority.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSSupremacist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to ${V.arcologies[0].FSSupremacistRace} superiority.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced of ${V.arcologies[0].FSSupremacistRace} superiority.`);
-		}
-		if (V.arcologies[0].FSSupremacist < 0) {
-			FutureSocieties.remove("FSSupremacist");
-			if (V.assistant.fsAppearance === "supremacist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSSupremacist > V.arcologies[0].FSSupremacistDecoration) {
-			V.arcologies[0].FSSupremacist = V.arcologies[0].FSSupremacistDecoration;
-		}
-		if (V.arcologies[0].FSSupremacistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSSupremacist === V.arcologies[0].FSSupremacistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSSupremacistSMR === 1) {
-				V.arcologies[0].FSSupremacist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSSubjugationist !== "unset") {
-		if (V.arcologies[0].FSSubjugationist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly in the inferiority of ${V.arcologies[0].FSSubjugationistRace} people.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSSubjugationist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with the inferiority of ${V.arcologies[0].FSSubjugationistRace} people.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSSubjugationist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to the inferiority of ${V.arcologies[0].FSSubjugationistRace} people.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced of the inferiority of ${V.arcologies[0].FSSubjugationistRace} people.`);
-		}
-		if (V.arcologies[0].FSSubjugationist < 0) {
-			FutureSocieties.remove("FSSubjugationist");
-			if (V.assistant.fsAppearance === "subjugationist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSSubjugationist > V.arcologies[0].FSSubjugationistDecoration) {
-			V.arcologies[0].FSSubjugationist = V.arcologies[0].FSSubjugationistDecoration;
-		}
-		if (V.arcologies[0].FSSubjugationistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSSubjugationist === V.arcologies[0].FSSubjugationistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSSubjugationistSMR === 1) {
-				V.arcologies[0].FSSubjugationist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSRepopulationFocus !== "unset") {
-		if (V.arcologies[0].FSRepopulationFocus >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that all women should be pregnant.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSRepopulationFocus >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly that all women should be pregnant.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSRepopulationFocus >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to the idea that all women should be pregnant.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced that all women should be pregnant.`);
-		}
-		if (V.arcologies[0].FSRepopulationFocus < 0) {
-			FutureSocieties.remove("FSRepopulationFocus");
-			if (V.assistant.fsAppearance === "repopulation focus") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSRepopulationFocus > V.arcologies[0].FSRepopulationFocusDecoration) {
-			V.arcologies[0].FSRepopulationFocus = V.arcologies[0].FSRepopulationFocusDecoration;
-		}
-		if (V.arcologies[0].FSRepopulationFocusDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSRepopulationFocus === V.arcologies[0].FSRepopulationFocusDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSRepopulationFocusSMR === 1) {
-				V.arcologies[0].FSRepopulationFocus += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSRestart !== "unset") {
-		if (V.arcologies[0].FSRestart >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that only the elite should reproduce.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSRestart >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly that only the elite should reproduce.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSRestart >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to the idea only the elite should reproduce.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced that only the elite should reproduce.`);
-		}
-		if (V.arcologies[0].FSRestart < 0 && V.arcologies[0].FSRestartDecoration !== 100) {
-			FutureSocieties.remove("FSRestart");
-			if (V.assistant.fsAppearance === "eugenics") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSRestart > V.arcologies[0].FSRestartDecoration) {
-			V.arcologies[0].FSRestart = V.arcologies[0].FSRestartDecoration;
-		}
-		if (V.arcologies[0].FSRestartDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSRestart === V.arcologies[0].FSRestartDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSRestartSMR === 1) {
-				V.arcologies[0].FSRestart += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSGenderRadicalist !== "unset") {
-		if (V.arcologies[0].FSGenderRadicalist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly in the need to redefine gender around power.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSGenderRadicalist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with the need to redefine gender around power.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSGenderRadicalist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to the need to redefine gender around power.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced of the need to redefine gender around power.`);
-		}
-		if (V.arcologies[0].FSGenderRadicalist < 0) {
-			FutureSocieties.remove("FSGenderRadicalist");
-			if (V.assistant.fsAppearance === "gender radicalist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSGenderRadicalist > V.arcologies[0].FSGenderRadicalistDecoration) {
-			V.arcologies[0].FSGenderRadicalist = V.arcologies[0].FSGenderRadicalistDecoration;
-		}
-		if (V.arcologies[0].FSGenderRadicalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSGenderRadicalist === V.arcologies[0].FSGenderRadicalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			}
-			// RadicalistSMR was unused since vanilla, but maybe some day....
-			/*
-			else if (V.arcologies[0].FSGenderRadicalistSMR === 1) {
-				V.arcologies[0].FSGenderRadicalist += 0.1 * V.FSSingleSlaveRep;
-			}
-			*/
-		}
-	}
-
-	if (V.arcologies[0].FSGenderFundamentalist !== "unset") {
-		if (V.arcologies[0].FSGenderFundamentalist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly in the need to preserve traditional gender roles.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSGenderFundamentalist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with the need to preserve traditional gender roles.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSGenderFundamentalist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to the need to preserve traditional gender roles.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced of the need to preserve traditional gender roles.`);
-		}
-		if (V.arcologies[0].FSGenderFundamentalist < 0) {
-			FutureSocieties.remove("FSGenderFundamentalist");
-			if (V.assistant.fsAppearance === "gender fundamentalist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSGenderFundamentalist > V.arcologies[0].FSGenderFundamentalistDecoration) {
-			V.arcologies[0].FSGenderFundamentalist = V.arcologies[0].FSGenderFundamentalistDecoration;
-		}
-		if (V.arcologies[0].FSGenderFundamentalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSGenderFundamentalist === V.arcologies[0].FSGenderFundamentalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSGenderFundamentalistSMR === 1) {
-				V.arcologies[0].FSGenderFundamentalist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSPaternalist !== "unset") {
-		if (V.arcologies[0].FSPaternalist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly in the vision of a well-bred race of slaves.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSPaternalist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with the vision of a well-bred race of slaves.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSPaternalist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to the vision of a well-bred race of slaves.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced of the vision of a well-bred race of slaves.`);
-		}
-		if (V.arcologies[0].FSPaternalist < 0) {
-			FutureSocieties.remove("FSPaternalist");
-			if (V.assistant.fsAppearance === "paternalist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSPaternalist > V.arcologies[0].FSPaternalistDecoration) {
-			V.arcologies[0].FSPaternalist = V.arcologies[0].FSPaternalistDecoration;
-		}
-		if (V.arcologies[0].FSPaternalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSPaternalist === V.arcologies[0].FSPaternalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSPaternalistSMR === 1) {
-				V.arcologies[0].FSPaternalist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSDegradationist !== "unset") {
-		if (V.arcologies[0].FSDegradationist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that slaves are not human and should be thoroughly degraded.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSDegradationist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with the idea that slaves are not human and should be thoroughly degraded.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSDegradationist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to the proposition that slaves are not human and should be thoroughly degraded.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced that slaves are not human and should be thoroughly degraded.`);
-		}
-		if (V.arcologies[0].FSDegradationist < 0) {
-			FutureSocieties.remove("FSDegradationist");
-			if (V.assistant.fsAppearance === "degradationist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSDegradationist > V.arcologies[0].FSDegradationistDecoration) {
-			V.arcologies[0].FSDegradationist = V.arcologies[0].FSDegradationistDecoration;
-		}
-		if (V.arcologies[0].FSDegradationistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSDegradationist === V.arcologies[0].FSDegradationistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSDegradationistSMR === 1) {
-				V.arcologies[0].FSDegradationist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSIntellectualDependency !== "unset") {
-		if (V.arcologies[0].FSIntellectualDependency >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that all slaves should be mentally dependant on their owner.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSIntellectualDependency >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly that all slaves should be bimbos.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSIntellectualDependency >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to the idea that slaves should be dumb and horny.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced that all slaves should be morons.`);
-		}
-		if (V.arcologies[0].FSIntellectualDependency < 0) {
-			FutureSocieties.remove("FSIntellectualDependency");
-			if (V.assistant.fsAppearance === "intellectual dependency") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSIntellectualDependency > V.arcologies[0].FSIntellectualDependencyDecoration) {
-			V.arcologies[0].FSIntellectualDependency = V.arcologies[0].FSIntellectualDependencyDecoration;
-		}
-		if (V.arcologies[0].FSIntellectualDependencyDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSIntellectualDependency === V.arcologies[0].FSIntellectualDependencyDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSIntellectualDependencySMR === 1) {
-				V.arcologies[0].FSIntellectualDependency += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSSlaveProfessionalism !== "unset") {
-		if (V.arcologies[0].FSSlaveProfessionalism >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that slaves should be masters of the sexual arts.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSSlaveProfessionalism >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with slavery as a profession.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSSlaveProfessionalism >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to the notion of slavery as a profession.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced that slaves should be highly intelligent.`);
-		}
-		if (V.arcologies[0].FSSlaveProfessionalism < 0) {
-			FutureSocieties.remove("FSSlaveProfessionalism");
-			if (V.assistant.fsAppearance === "slave professionalism") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSSlaveProfessionalism > V.arcologies[0].FSSlaveProfessionalismDecoration) {
-			V.arcologies[0].FSSlaveProfessionalism = V.arcologies[0].FSSlaveProfessionalismDecoration;
-		}
-		if (V.arcologies[0].FSSlaveProfessionalismDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSSlaveProfessionalism === V.arcologies[0].FSSlaveProfessionalismDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSSlaveProfessionalismSMR === 1) {
-				V.arcologies[0].FSSlaveProfessionalism += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSBodyPurist !== "unset") {
-		if (V.arcologies[0].FSBodyPurist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly in the unattractive nature of implants.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSBodyPurist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} strongly believes in the unattractive nature of implants.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSBodyPurist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is beginning to believe in the unattractive nature of implants.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced of the unattractive nature of implants.`);
-		}
-		if (V.arcologies[0].FSBodyPurist < 0) {
-			FutureSocieties.remove("FSBodyPurist");
-			if (V.assistant.fsAppearance === "body purist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSBodyPurist > V.arcologies[0].FSBodyPuristDecoration) {
-			V.arcologies[0].FSBodyPurist = V.arcologies[0].FSBodyPuristDecoration;
-		}
-		if (V.arcologies[0].FSBodyPuristDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSBodyPurist === V.arcologies[0].FSBodyPuristDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSBodyPuristSMR === 1) {
-				V.arcologies[0].FSBodyPurist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSTransformationFetishist !== "unset") {
-		if (V.arcologies[0].FSTransformationFetishist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} passionately fetishizes implants.`);
-		} else if (V.arcologies[0].FSTransformationFetishist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} strongly fetishizes implants.`);
-		} else if (V.arcologies[0].FSTransformationFetishist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is beginning to fetishize implants.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced about the attractiveness of implants.`);
-		}
-		if (V.arcologies[0].FSTransformationFetishist < 0) {
-			FutureSocieties.remove("FSTransformationFetishist");
-			if (V.assistant.fsAppearance === "transformation fetishist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSTransformationFetishist > V.arcologies[0].FSTransformationFetishistDecoration) {
-			V.arcologies[0].FSTransformationFetishist = V.arcologies[0].FSTransformationFetishistDecoration;
-		}
-		if (V.arcologies[0].FSTransformationFetishistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSTransformationFetishist === V.arcologies[0].FSTransformationFetishistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSTransformationFetishistSMR === 1) {
-				V.arcologies[0].FSTransformationFetishist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSMaturityPreferentialist !== "unset") {
-		if (V.arcologies[0].FSMaturityPreferentialist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} is passionately enthusiastic about older ladies.`);
-		} else if (V.arcologies[0].FSMaturityPreferentialist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} is enthusiastic about older ladies.`);
-		} else if (V.arcologies[0].FSMaturityPreferentialist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is beginning to be enthusiastic about older ladies.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced about your preference for older ladies.`);
-		}
-		if (V.arcologies[0].FSMaturityPreferentialist < 0) {
-			FutureSocieties.remove("FSMaturityPreferentialist");
-			if (V.assistant.fsAppearance === "maturity preferentialist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSMaturityPreferentialist > V.arcologies[0].FSMaturityPreferentialistDecoration) {
-			V.arcologies[0].FSMaturityPreferentialist = V.arcologies[0].FSMaturityPreferentialistDecoration;
-		}
-		if (V.arcologies[0].FSMaturityPreferentialistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSMaturityPreferentialist === V.arcologies[0].FSMaturityPreferentialistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSMaturityPreferentialistSMR === 1) {
-				V.arcologies[0].FSMaturityPreferentialist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSYouthPreferentialist !== "unset") {
-		if (V.arcologies[0].FSYouthPreferentialist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} is passionately enthusiastic about young women.`);
-		} else if (V.arcologies[0].FSYouthPreferentialist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} is enthusiastic about young women.`);
-		} else if (V.arcologies[0].FSYouthPreferentialist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is beginning to be enthusiastic about young women.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced about your preference for young women.`);
-		}
-		if (V.arcologies[0].FSYouthPreferentialist < 0) {
-			FutureSocieties.remove("FSYouthPreferentialist");
-			if (V.assistant.fsAppearance === "youth preferentialist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSYouthPreferentialist > V.arcologies[0].FSYouthPreferentialistDecoration) {
-			V.arcologies[0].FSYouthPreferentialist = V.arcologies[0].FSYouthPreferentialistDecoration;
-		}
-		if (V.arcologies[0].FSYouthPreferentialistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSYouthPreferentialist === V.arcologies[0].FSYouthPreferentialistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSYouthPreferentialistSMR === 1) {
-				V.arcologies[0].FSYouthPreferentialist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSPetiteAdmiration !== "unset") {
-		if (V.arcologies[0].FSPetiteAdmiration >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} is passionately enthusiastic for short slaves.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSPetiteAdmiration >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} is very enthusiastic for short slaves.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSPetiteAdmiration >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is enthusiastic for short slaves.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is beginning to be enthusiastic for short slaves.`);
-		}
-		if (V.arcologies[0].FSPetiteAdmiration < 0) {
-			FutureSocieties.remove("FSPetiteAdmiration");
-			if (V.assistant.fsAppearance === "petite admiration") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSPetiteAdmiration > V.arcologies[0].FSPetiteAdmirationDecoration) {
-			V.arcologies[0].FSPetiteAdmiration = V.arcologies[0].FSPetiteAdmirationDecoration;
-		}
-		if (V.arcologies[0].FSPetiteAdmirationDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSPetiteAdmiration === V.arcologies[0].FSPetiteAdmirationDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSPetiteAdmirationSMR === 1) {
-				V.arcologies[0].FSPetiteAdmiration += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSStatuesqueGlorification !== "unset") {
-		if (V.arcologies[0].FSStatuesqueGlorification >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that the tall are superior.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSStatuesqueGlorification >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with the idea that the tall are superior.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSStatuesqueGlorification >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to the idea that the tall are superior.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced that the tall are superior.`);
-		}
-		if (V.arcologies[0].FSStatuesqueGlorification < 0) {
-			FutureSocieties.remove("FSStatuesqueGlorification");
-			if (V.assistant.fsAppearance === "statuesque glorification") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSStatuesqueGlorification > V.arcologies[0].FSStatuesqueGlorificationDecoration) {
-			V.arcologies[0].FSStatuesqueGlorification = V.arcologies[0].FSStatuesqueGlorificationDecoration;
-		}
-		if (V.arcologies[0].FSStatuesqueGlorificationDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSStatuesqueGlorification === V.arcologies[0].FSStatuesqueGlorificationDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSStatuesqueGlorificationSMR === 1) {
-				V.arcologies[0].FSStatuesqueGlorification += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSSlimnessEnthusiast !== "unset") {
-		if (V.arcologies[0].FSSlimnessEnthusiast >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} is passionately enthusiastic about slim slaves with girlish figures.`);
-		} else if (V.arcologies[0].FSSlimnessEnthusiast >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} is very enthusiastic about slim slaves with girlish figures.`);
-		} else if (V.arcologies[0].FSSlimnessEnthusiast >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is enthusiastic about slim slaves with girlish figures.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced about your preference for slim slaves with girlish figures.`);
-		}
-		if (V.arcologies[0].FSSlimnessEnthusiast < 0) {
-			FutureSocieties.remove("FSSlimnessEnthusiast");
-			if (V.assistant.fsAppearance === "slimness enthusiast") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSSlimnessEnthusiast > V.arcologies[0].FSSlimnessEnthusiastDecoration) {
-			V.arcologies[0].FSSlimnessEnthusiast = V.arcologies[0].FSSlimnessEnthusiastDecoration;
-		}
-		if (V.arcologies[0].FSSlimnessEnthusiastDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSSlimnessEnthusiast === V.arcologies[0].FSSlimnessEnthusiastDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSSlimnessEnthusiastSMR === 1) {
-				V.arcologies[0].FSSlimnessEnthusiast += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSAssetExpansionist !== "unset") {
-		if (V.arcologies[0].FSAssetExpansionist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that all tits and asses should be bigger.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSAssetExpansionist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with the idea that all tits and asses should be bigger.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSAssetExpansionist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to the idea that all tits and asses should be bigger.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced that all tits and asses should be bigger.`);
-		}
-		if (V.arcologies[0].FSAssetExpansionist < 0) {
-			FutureSocieties.remove("FSAssetExpansionist");
-			if (V.assistant.fsAppearance === "asset expansionist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSAssetExpansionist > V.arcologies[0].FSAssetExpansionistDecoration) {
-			V.arcologies[0].FSAssetExpansionist = V.arcologies[0].FSAssetExpansionistDecoration;
-		}
-		if (V.arcologies[0].FSAssetExpansionistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSAssetExpansionist === V.arcologies[0].FSAssetExpansionistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSAssetExpansionistSMR === 1) {
-				V.arcologies[0].FSAssetExpansionist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSPastoralist !== "unset") {
-		if (V.arcologies[0].FSPastoralist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that slaves should be milked.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSPastoralist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with the idea that slaves should be milked.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSPastoralist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to the idea that slaves should be milked.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced that slaves should be milked.`);
-		}
-		if (V.arcologies[0].FSPastoralist < 0) {
-			FutureSocieties.remove("FSPastoralist");
-			if (V.assistant.fsAppearance === "pastoralist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSPastoralist > V.arcologies[0].FSPastoralistDecoration) {
-			V.arcologies[0].FSPastoralist = V.arcologies[0].FSPastoralistDecoration;
-		}
-		if (V.arcologies[0].FSPastoralistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSPastoralist === V.arcologies[0].FSPastoralistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSPastoralistSMR === 1) {
-				V.arcologies[0].FSPastoralist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSPhysicalIdealist !== "unset") {
-		if (V.arcologies[0].FSPhysicalIdealist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that all slaves should be tall and strong.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSPhysicalIdealist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with the idea that all slaves should be tall and strong.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSPhysicalIdealist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to the idea that all slaves should be tall and strong.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced that all slaves should be tall and strong.`);
-		}
-		if (V.arcologies[0].FSPhysicalIdealist < 0) {
-			FutureSocieties.remove("FSPhysicalIdealist");
-			if (V.assistant.fsAppearance === "physical idealist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSPhysicalIdealist > V.arcologies[0].FSPhysicalIdealistDecoration) {
-			V.arcologies[0].FSPhysicalIdealist = V.arcologies[0].FSPhysicalIdealistDecoration;
-		}
-		if (V.arcologies[0].FSPhysicalIdealistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSPhysicalIdealist === V.arcologies[0].FSPhysicalIdealistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSPhysicalIdealistSMR === 1) {
-				V.arcologies[0].FSPhysicalIdealist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSHedonisticDecadence !== "unset") {
-		if (V.arcologies[0].FSHedonisticDecadence >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that all slaves should be soft and laid-back.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSHedonisticDecadence >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with the idea that all slaves should be soft and laid-back.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSHedonisticDecadence >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to the idea that all slaves should be soft and laid-back.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced that all slaves should be soft and laid-back.`);
-		}
-		if (V.arcologies[0].FSHedonisticDecadence < 0) {
-			FutureSocieties.remove("FSHedonisticDecadence");
-			if (V.assistant.fsAppearance === "hedonistic decadence") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSHedonisticDecadence > V.arcologies[0].FSHedonisticDecadenceDecoration) {
-			V.arcologies[0].FSHedonisticDecadence = V.arcologies[0].FSHedonisticDecadenceDecoration;
-		}
-		if (V.arcologies[0].FSHedonisticDecadenceDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSHedonisticDecadence === V.arcologies[0].FSHedonisticDecadenceDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSHedonisticDecadenceSMR === 1) {
-				V.arcologies[0].FSHedonisticDecadence += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSChattelReligionist !== "unset") {
-		if (V.arcologies[0].FSChattelReligionist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly in a version of religion that emphasizes slaveholding traditions.`);
-			V.independenceDay = 1;
-			V.nicaea.announceable = 1;
-		} else if (V.arcologies[0].FSChattelReligionist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with a version of religion that emphasizes slaveholding traditions.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSChattelReligionist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to a version of religion that emphasizes slaveholding traditions.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced of a version of religion that emphasizes slaveholding traditions.`);
-		}
-		if (V.arcologies[0].FSChattelReligionist < 0) {
-			FutureSocieties.remove("FSChattelReligionist");
-			if (V.assistant.fsAppearance === "chattel religionist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSChattelReligionist > V.arcologies[0].FSChattelReligionistDecoration) {
-			V.arcologies[0].FSChattelReligionist = V.arcologies[0].FSChattelReligionistDecoration;
-		}
-		if (V.arcologies[0].FSChattelReligionistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSChattelReligionist === V.arcologies[0].FSChattelReligionistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSChattelReligionistSMR === 1) {
-				V.arcologies[0].FSChattelReligionist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSRomanRevivalist !== "unset") {
-		if (V.arcologies[0].FSRomanRevivalist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that it is the new Rome.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSRomanRevivalist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with your project to build a new Rome.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSRomanRevivalist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to your project to build a new Rome.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced of the wisdom of your project to build a new Rome.`);
-		}
-		if (V.arcologies[0].FSRomanRevivalist < 0) {
-			FutureSocieties.remove("FSRomanRevivalist");
-			if (V.assistant.fsAppearance === "roman revivalist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSRomanRevivalist > V.arcologies[0].FSRomanRevivalistDecoration) {
-			V.arcologies[0].FSRomanRevivalist = V.arcologies[0].FSRomanRevivalistDecoration;
-		}
-		if (V.arcologies[0].FSRomanRevivalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSRomanRevivalist === V.arcologies[0].FSRomanRevivalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSRomanRevivalistSMR === 1) {
-				V.arcologies[0].FSRomanRevivalist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSNeoImperialist !== "unset") {
-		if (V.arcologies[0].FSNeoImperialist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that your arcology is a truly new Imperial Society.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSNeoImperialist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with your project to build a new Imperial Society.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSNeoImperialist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to your project to build a new Imperial Society.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced of the wisdom of your project to build a new Imperial Society.`);
-		}
-		if (V.arcologies[0].FSNeoImperialist < 0) {
-			FutureSocieties.remove("FSNeoImperialist");
-			if (V.assistant.fsAppearance === "neoimperialist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSNeoImperialist > V.arcologies[0].FSNeoImperialistDecoration) {
-			V.arcologies[0].FSNeoImperialist = V.arcologies[0].FSNeoImperialistDecoration;
-		}
-		if (V.arcologies[0].FSNeoImperialistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSNeoImperialist === V.arcologies[0].FSNeoImperialistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSNeoImperialistSMR === 1) {
-				V.arcologies[0].FSNeoImperialist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSAztecRevivalist !== "unset") {
-		if (V.arcologies[0].FSAztecRevivalist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that it is the new Aztec Empire.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSAztecRevivalist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with your project to build a new Aztec Empire.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSAztecRevivalist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to your project to build a new Aztec Empire.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced of the wisdom of your project to build a new Aztec Empire.`);
-		}
-		if (V.arcologies[0].FSAztecRevivalist < 0) {
-			FutureSocieties.remove("FSAztecRevivalist");
-			if (V.assistant.fsAppearance === "aztec revivalist") {
-				V.assistant.fsAppearance = "default";
+	for (const FS of App.Data.FutureSociety.playerFSNames.filter(FS => FS !== "FSNull")) {
+		if (arc[FS] !== "unset") {
+			const FSDecoration = `${FS}Decoration`;
+			r.push(FutureSocieties.arcSupport(FS));
+			if (arc[FS] < 0 && (FS !== "FSRestart" || arc.FSRestartDecoration !== 100)) {
+				r.push(removeFS(FS));
+			} else if (arc[FS] > arc[FSDecoration]) {
+				arc[FS] = arc[FSDecoration];
 			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSAztecRevivalist > V.arcologies[0].FSAztecRevivalistDecoration) {
-			V.arcologies[0].FSAztecRevivalist = V.arcologies[0].FSAztecRevivalistDecoration;
-		}
-		if (V.arcologies[0].FSAztecRevivalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSAztecRevivalist === V.arcologies[0].FSAztecRevivalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSAztecRevivalistSMR === 1) {
-				V.arcologies[0].FSAztecRevivalist += 0.1 * V.FSSingleSlaveRep;
+			if (arc[FSDecoration] < V.FSLockinLevel) {
+				if (arc[FS] === arc[FSDecoration]) {
+					r.push(`<span class="yellow">Your societal development in this direction is being limited by ${arc.name}'s lack of customization to support it.</span>`);
+					V.FSReminder = 1;
+				} else if (arc[`${FS}SMR`] === 1) {
+					arc[FS] += 0.1 * V.FSSingleSlaveRep;
+				}
 			}
 		}
 	}
 
-	if (V.arcologies[0].FSEgyptianRevivalist !== "unset") {
-		if (V.arcologies[0].FSEgyptianRevivalist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that it is the land of the Pharaohs, reborn.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSEgyptianRevivalist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with your project to build a new land of the Pharaohs.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSEgyptianRevivalist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to your project to build a new land of the Pharaohs.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced of the wisdom of your project to build a new land of the Pharaohs.`);
-		}
-		if (V.arcologies[0].FSEgyptianRevivalist < 0) {
-			FutureSocieties.remove("FSEgyptianRevivalist");
-			if (V.assistant.fsAppearance === "egyptian revivalist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSEgyptianRevivalist > V.arcologies[0].FSEgyptianRevivalistDecoration) {
-			V.arcologies[0].FSEgyptianRevivalist = V.arcologies[0].FSEgyptianRevivalistDecoration;
-		}
-		if (V.arcologies[0].FSEgyptianRevivalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSEgyptianRevivalist === V.arcologies[0].FSEgyptianRevivalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSEgyptianRevivalistSMR === 1) {
-				V.arcologies[0].FSEgyptianRevivalist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSEdoRevivalist !== "unset") {
-		if (V.arcologies[0].FSEdoRevivalist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that it is the land of the Shogun, reborn.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSEdoRevivalist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with your project to build a new Edo Japan.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSEdoRevivalist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to your project to build a new Edo Japan.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced of the wisdom of your project to build a new Edo Japan.`);
-		}
-		if (V.arcologies[0].FSEdoRevivalist < 0) {
-			FutureSocieties.remove("FSEdoRevivalist");
-			if (V.assistant.fsAppearance === "edo revivalist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSEdoRevivalist > V.arcologies[0].FSEdoRevivalistDecoration) {
-			V.arcologies[0].FSEdoRevivalist = V.arcologies[0].FSEdoRevivalistDecoration;
-		}
-		if (V.arcologies[0].FSEdoRevivalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSEdoRevivalist === V.arcologies[0].FSEdoRevivalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSEdoRevivalistSMR === 1) {
-				V.arcologies[0].FSEdoRevivalist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSArabianRevivalist !== "unset") {
-		if (V.arcologies[0].FSArabianRevivalist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that it is ancient Baghdad reborn.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSArabianRevivalist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with your project to build a new Sultanate.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSArabianRevivalist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to your project to build a new Sultanate.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced of the wisdom of your project to build a new Sultanate.`);
-		}
-		if (V.arcologies[0].FSArabianRevivalist < 0) {
-			FutureSocieties.remove("FSArabianRevivalist");
-			if (V.assistant.fsAppearance === "arabian revivalist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSArabianRevivalist > V.arcologies[0].FSArabianRevivalistDecoration) {
-			V.arcologies[0].FSArabianRevivalist = V.arcologies[0].FSArabianRevivalistDecoration;
-		}
-		if (V.arcologies[0].FSArabianRevivalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSArabianRevivalist === V.arcologies[0].FSArabianRevivalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSArabianRevivalistSMR === 1) {
-				V.arcologies[0].FSArabianRevivalist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
-	}
-
-	if (V.arcologies[0].FSChineseRevivalist !== "unset") {
-		if (V.arcologies[0].FSChineseRevivalist >= V.FSLockinLevel) {
-			r.push(`${V.arcologies[0].name} believes implicitly that you possess the Mandate of Heaven.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSChineseRevivalist >= V.FSLockinLevel * 0.6) {
-			r.push(`${V.arcologies[0].name} agrees strongly with your pursuit of the Mandate of Heaven.`);
-			V.independenceDay = 1;
-		} else if (V.arcologies[0].FSChineseRevivalist >= V.FSLockinLevel * 0.3) {
-			r.push(`${V.arcologies[0].name} is sympathetic to your pursuit of the Mandate of Heaven.`);
-		} else {
-			r.push(`${V.arcologies[0].name} is unconvinced of the wisdom of your pursuit of the Mandate of Heaven.`);
-		}
-		if (V.arcologies[0].FSChineseRevivalist < 0) {
-			FutureSocieties.remove("FSChineseRevivalist");
-			if (V.assistant.fsAppearance === "chinese revivalist") {
-				V.assistant.fsAppearance = "default";
-			}
-			r.push(`<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`);
-		} else if (V.arcologies[0].FSChineseRevivalist > V.arcologies[0].FSChineseRevivalistDecoration) {
-			V.arcologies[0].FSChineseRevivalist = V.arcologies[0].FSChineseRevivalistDecoration;
-		}
-		if (V.arcologies[0].FSChineseRevivalistDecoration < V.FSLockinLevel) {
-			if (V.arcologies[0].FSChineseRevivalist === V.arcologies[0].FSChineseRevivalistDecoration) {
-				r.push(`<span class="yellow">Your societal development in this direction is being limited by ${V.arcologies[0].name}'s lack of customization to support it.</span>`);
-				V.FSReminder = 1;
-			} else if (V.arcologies[0].FSChineseRevivalistSMR === 1) {
-				V.arcologies[0].FSChineseRevivalist += 0.1 * V.FSSingleSlaveRep;
-			}
-		}
+	if (arc.FSChattelReligionist !== "unset" && arc.FSChattelReligionist >= V.FSLockinLevel) {
+		V.nicaea.announceable = 1;
 	}
 
 	App.UI.SlaveSummary.societyChanged();
 	App.Events.addNode(el, r, "div");
 	return el;
+
+	function removeFS(FS) {
+		FutureSocieties.remove(FS);
+		return `<span class="red">Your future society project has failed:</span> your citizens were repelled from your idea more than they were attracted to it. <span class="yellow">You may select another option, or elect to try again.</span>`;
+	}
 };
diff --git a/src/endWeek/economics/neighborsDevelopment.js b/src/endWeek/economics/neighborsDevelopment.js
index b34c0024e207edb7cdaf7128ea3c3da83630eedb..a54d129c20a391fa52096093dbf50b880450d8cc 100644
--- a/src/endWeek/economics/neighborsDevelopment.js
+++ b/src/endWeek/economics/neighborsDevelopment.js
@@ -236,9 +236,7 @@ App.EndWeek.neighborsDevelopment = function() {
 			arc.ownership = 0;
 		}
 		let owned = arc.minority + arc.ownership + arc.PCminority;
-		if (arc.minority < 10) {
-			arc.minority = 0;
-		} else if (arc.minority < arc.PCminority) {
+		if (arc.minority < arc.PCminority) {
 			arc.minority = 0;
 		} else if (owned >= 95) {
 			arc.minority -= random(3, 5);
@@ -1630,316 +1628,149 @@ App.EndWeek.neighborsDevelopment = function() {
 		return el;
 
 		function fsAdoption() {
-			/* PRIME RIVALRY FS ADOPTION - IGNORES VALIDITY */
+			/** Adopt an FS without checking validity, forcibly abandoning any opposing FSes
+			 * For use only on the first rival FS; subsequent FSes should check validity normally
+			 * @param {FC.FutureSociety} adoptFS */
+			function adoptRivalFS(adoptFS) {
+				// clear any opposing FSes
+				const group = App.Data.FutureSociety.mutexGroups.find(g => g.includes(adoptFS));
+				if (group && group.length > 1) {
+					for (const opposing of group) {
+						arc[opposing] = "unset";
+					}
+				}
+				// and initialize the target FS at 5
+				arc[adoptFS] = 5;
+			}
 
 			if (arc.rival === 1) {
 				if (arc.government === "an individual") {
 					if (V.rivalryFSAdopted === 0) {
 						V.rivalryFSAdopted = 1;
-						let desc = "Its owner is";
+						const desc = "Its owner is";
 						switch (V.rivalryFS) {
 							case "Racial Subjugationism":
-								if (arc.FSSubjugationist !== "unset") {
-									arc.FSSubjugationist = "unset";
-								}
 								r.push(`${desc} preoccupied by belief in the superiority of the ${V.arcologies[0].FSSubjugationistRace} race, leading the arcology to <span class="yellow">adopt ${V.arcologies[0].FSSubjugationistRace} Supremacy.</span>`);
-								arc.FSSupremacist = 5;
+								adoptRivalFS("FSSupremacist");
 								arc.FSSupremacistRace = V.arcologies[0].FSSubjugationistRace;
 								return;
 							case "Racial Supremacism":
-								if (arc.FSSupremacist !== "unset") {
-									arc.FSSupremacist = "unset";
-								}
 								r.push(`${desc} preoccupied by a racial animus towards ${V.arcologies[0].FSSupremacistRace} people, leaving the arcology to <span class="yellow">adopt ${V.arcologies[0].FSSupremacistRace} Subjugation.</span>`);
-								arc.FSSubjugationist = 5;
+								adoptRivalFS("FSSubjugationist");
 								arc.FSSubjugationistRace = V.arcologies[0].FSSupremacistRace;
 								return;
 							case "Repopulation Focus":
-								if (arc.FSRepopulationFocus !== "unset") {
-									arc.FSRepopulationFocus = "unset";
-								}
 								r.push(`${desc} obsessed with building a new society based on its Societal Elite, leading the arcology to <span class="yellow">adopt Eugenics.</span>`);
-								arc.FSRestart = 5;
+								adoptRivalFS("FSRestart");
 								return;
 							case "Eugenics":
-								if (arc.FSRestart !== "unset") {
-									arc.FSRestart = "unset";
-								}
 								r.push(`${desc} obsessed with breeding a new society, leading the arcology to <span class="yellow">adopt Repopulationism.</span>`);
-								arc.FSRepopulationFocus = 5;
+								adoptRivalFS("FSRepopulationFocus");
 								return;
 							case "Gender Radicalism":
-								if (arc.FSGenderRadicalist !== "unset") {
-									arc.FSGenderRadicalist = "unset";
-								}
 								r.push(`${desc} enthusiastic about knocking slaves up, leading the arcology to <span class="yellow">adopt Gender Fundamentalism.</span>`);
-								arc.FSGenderFundamentalist = 5;
+								adoptRivalFS("FSGenderFundamentalist");
 								return;
 							case "Gender Fundamentalism":
-								if (arc.FSGenderFundamentalist !== "unset") {
-									arc.FSGenderFundamentalist = "unset";
-								}
 								r.push(`${desc} enthusiastic about fucking slaves in the butt, leading the arcology to <span class="yellow">adopt Gender Radicalism.</span>`);
-								arc.FSGenderRadicalist = 5;
+								adoptRivalFS("FSGenderRadicalist");
 								return;
 							case "Paternalism":
-								if (arc.FSPaternalist !== "unset") {
-									arc.FSPaternalist = "unset";
-								}
 								r.push(`${desc} partial to screaming and struggling, leading the arcology to <span class="yellow">adopt Degradationism.</span>`);
-								arc.FSDegradationist = 5;
+								adoptRivalFS("FSDegradationist");
 								return;
 							case "Degradationism":
-								if (arc.FSDegradationist !== "unset") {
-									arc.FSDegradationist = "unset";
-								}
 								r.push(`${desc} devoted to their slaves' advancement, leading the arcology to <span class="yellow">adopt Paternalism.</span>`);
-								arc.FSPaternalist = 5;
+								adoptRivalFS("FSPaternalist");
 								return;
 							case "Intellectual Dependency":
-								if (arc.FSIntellectualDependency !== "unset") {
-									arc.FSIntellectualDependency = "unset";
-								}
 								r.push(`${desc} obsessed with crafting the perfect slave, leading the arcology to <span class="yellow">adopt Slave Professionalism.</span>`);
-								arc.FSSlaveProfessionalism = 5;
+								adoptRivalFS("FSSlaveProfessionalism");
 								return;
 							case "Slave Professionalism":
-								if (arc.FSSlaveProfessionalism !== "unset") {
-									arc.FSSlaveProfessionalism = "unset";
-								}
 								r.push(`${desc} worried that they may one day be outsmarted by their chattel, leading the arcology to <span class="yellow">adopt Intellectual Dependency.</span>`);
-								arc.FSIntellectualDependency = 5;
+								adoptRivalFS("FSIntellectualDependency");
 								return;
 							case "Body Purism":
-								if (arc.FSBodyPurist !== "unset") {
-									arc.FSBodyPurist = "unset";
-								}
 								r.push(`${desc} fascinated with extreme surgery, leading the arcology to <span class="yellow">adopt Transformation Fetishism.</span>`);
-								arc.FSTransformationFetishist = 5;
+								adoptRivalFS("FSTransformationFetishist");
 								return;
 							case "Transformation Fetishism":
-								if (arc.FSTransformationFetishist !== "unset") {
-									arc.FSTransformationFetishist = "unset";
-								}
 								r.push(`${desc} concerned by trends in their slaves' health, leading the arcology to <span class="yellow">adopt Body Purism.</span>`);
-								arc.FSBodyPurist = 5;
+								adoptRivalFS("FSBodyPurist");
 								return;
 							case "Youth Preferentialism":
-								if (arc.FSYouthPreferentialist !== "unset") {
-									arc.FSYouthPreferentialist = "unset";
-								}
 								r.push(`${desc} devoted to time in bed with their MILF slaves, leading the arcology to <span class="yellow">adopt Maturity Preferentialism.</span>`);
-								arc.FSMaturityPreferentialist = 5;
+								adoptRivalFS("FSMaturityPreferentialist");
 								return;
 							case "Maturity Preferentialism":
-								if (arc.FSMaturityPreferentialist !== "unset") {
-									arc.FSMaturityPreferentialist = "unset";
-								}
 								r.push(`${desc} devoted to fucking nubile young slaves, leading the arcology to <span class="yellow">adopt Youth Preferentialism.</span>`);
-								arc.FSYouthPreferentialist = 5;
+								adoptRivalFS("FSYouthPreferentialist");
 								return;
 							case "Petite Admiration":
-								if (arc.FSPetiteAdmiration !== "unset") {
-									arc.FSPetiteAdmiration = "unset";
-								}
 								r.push(`${desc} convinced that tall equals beauty, leading the arcology to <span class="yellow">adopt Statuesque Glorification.</span>`);
-								arc.FSSlaveProfessionalism = 5;
+								adoptRivalFS("FSSlaveProfessionalism");
 								return;
 							case "Statuesque Glorification":
-								if (arc.FSStatuesqueGlorification !== "unset") {
-									arc.FSStatuesqueGlorification = "unset";
-								}
 								r.push(`${desc} enamored by those shorter than them, leading the arcology to <span class="yellow">adopt Petite Admiration.</span>`);
-								arc.FSPetiteAdmiration = 5;
+								adoptRivalFS("FSPetiteAdmiration");
 								return;
 							case "Slimness Enthusiasm":
-								if (arc.FSSlimnessEnthusiast !== "unset") {
-									arc.FSSlimnessEnthusiast = "unset";
-								}
 								r.push(`${desc} loves boobs, the bigger, the better, leading the arcology to <span class="yellow">adopt Asset Expansionism.</span>`);
-								arc.FSAssetExpansionist = 5;
+								adoptRivalFS("FSAssetExpansionist");
 								return;
 							case "Asset Expansionism":
-								if (arc.FSAssetExpansionist !== "unset") {
-									arc.FSAssetExpansionist = "unset";
-								}
 								r.push(`${desc} loves a slim slave with tight holes, leading the arcology to <span class="yellow">adopt Slimness Enthusiasm.</span>`);
-								arc.FSSlimnessEnthusiast = 5;
+								adoptRivalFS("FSSlimnessEnthusiast");
 								return;
 							case "Pastoralism":
-								if (arc.FSPastoralist !== "unset") {
-									arc.FSPastoralist = "unset";
-								}
 								r.push(`${desc} loves cum, leading the arcology to <span class="yellow">adopt Cummunism.</span>`);
-								arc.FSCummunism = 5;
+								adoptRivalFS("FSCummunism");
 								return;
 							case "Cummunism":
-								if (arc.FSCummunism !== "unset") {
-									arc.FSCummunism = "unset";
-								}
 								r.push(`${desc} addicted to breast milk straight from the nipple, leading the arcology to <span class="yellow">adopt Pastoralism.</span>`);
-								arc.FSPastoralist = 5;
+								adoptRivalFS("FSPastoralist");
 								return;
 							case "Hedonistic Decadence":
-								if (arc.FSHedonisticDecadence !== "unset") {
-									arc.FSHedonisticDecadence = "unset";
-								}
 								r.push(`${desc} devoted to spending time in the gym, leading the arcology to <span class="yellow">adopt Physical Idealism.</span>`);
-								arc.FSPhysicalIdealist = 5;
+								adoptRivalFS("FSPhysicalIdealist");
 								return;
 							case "Physical Idealism":
-								if (arc.FSPhysicalIdealist !== "unset") {
-									arc.FSPhysicalIdealist = "unset";
-								}
 								r.push(`${desc} addicted to pleasure, leading the arcology to <span class="yellow">adopt Decadent Hedonism.</span>`);
-								arc.FSHedonisticDecadence = 5;
+								adoptRivalFS("FSHedonisticDecadence");
 								return;
 							case "Chattel Religionism":
-								if (arc.FSChattelReligionist !== "unset") {
-									arc.FSChattelReligionist = "unset";
-								}
 								r.push(`${desc} open minded, leading the arcology to <span class="yellow">permit cultural freedom.</span>`);
-								arc.FSNull = 5;
+								adoptRivalFS("FSNull");
 								return;
 							case "Multiculturalism":
-								if (arc.FSNull !== "unset") {
-									arc.FSNull = "unset";
-								}
 								r.push(`${desc} devoutly religious, and interested in a reformation, leading the arcology to <span class="yellow">adopt Chattel Religionism.</span>`);
-								arc.FSChattelReligionist = 5;
+								adoptRivalFS("FSChattelReligionist");
 								return;
 							case "Roman Revivalism":
-								if (arc.FSRomanRevivalist !== "unset") {
-									arc.FSRomanRevivalist = "unset";
-								}
-								if (arc.FSEgyptianRevivalist !== "unset") {
-									arc.FSEgyptianRevivalist = "unset";
-								}
-								if (arc.FSEdoRevivalist !== "unset") {
-									arc.FSEdoRevivalist = "unset";
-								}
-								if (arc.FSArabianRevivalist !== "unset") {
-									arc.FSArabianRevivalist = "unset";
-								}
-								if (arc.FSChineseRevivalist !== "unset") {
-									arc.FSChineseRevivalist = "unset";
-								}
-								if (arc.FSNeoImperialist !== "unset") {
-									arc.FSNeoImperialist = "unset";
-								}
 								r.push(`${desc} fascinated by ancient Aztec history, leading the arcology to <span class="yellow">adopt Aztec Revivalism.</span>`);
-								arc.FSAztecRevivalist = 5;
+								adoptRivalFS("FSAztecRevivalist");
 								return;
 							case "Neo-Imperialism":
 							case "Egyptian Revivalism":
-								if (arc.FSEgyptianRevivalist !== "unset") {
-									arc.FSEgyptianRevivalist = "unset";
-								}
-								if (arc.FSRomanRevivalist !== "unset") {
-									arc.FSRomanRevivalist = "unset";
-								}
-								if (arc.FSEdoRevivalist !== "unset") {
-									arc.FSEdoRevivalist = "unset";
-								}
-								if (arc.FSChineseRevivalist !== "unset") {
-									arc.FSChineseRevivalist = "unset";
-								}
-								if (arc.FSAztecRevivalist !== "unset") {
-									arc.FSAztecRevivalist = "unset";
-								}
-								if (arc.FSNeoImperialist !== "unset") {
-									arc.FSNeoImperialist = "unset";
-								}
 								r.push(`${desc} fascinated by Arabian romanticism, leading the arcology to <span class="yellow">adopt Arabian Revivalism.</span>`);
-								arc.FSArabianRevivalist = 5;
+								adoptRivalFS("FSArabianRevivalist");
 								return;
 							case "Edo Revivalism":
-								if (arc.FSEdoRevivalist !== "unset") {
-									arc.FSEdoRevivalist = "unset";
-								}
-								if (arc.FSRomanRevivalist !== "unset") {
-									arc.FSRomanRevivalist = "unset";
-								}
-								if (arc.FSEgyptianRevivalist !== "unset") {
-									arc.FSEgyptianRevivalist = "unset";
-								}
-								if (arc.FSArabianRevivalist !== "unset") {
-									arc.FSArabianRevivalist = "unset";
-								}
-								if (arc.FSAztecRevivalist !== "unset") {
-									arc.FSAztecRevivalist = "unset";
-								}
-								if (arc.FSNeoImperialist !== "unset") {
-									arc.FSNeoImperialist = "unset";
-								}
 								r.push(`${desc} fascinated by the long tale of Chinese history, leading the arcology to <span class="yellow">adopt Chinese Revivalism.</span>`);
-								arc.FSChineseRevivalist = 5;
+								adoptRivalFS("FSChineseRevivalist");
 								return;
 							case "Arabian Revivalism":
-								if (arc.FSArabianRevivalist !== "unset") {
-									arc.FSArabianRevivalist = "unset";
-								}
-								if (arc.FSRomanRevivalist !== "unset") {
-									arc.FSRomanRevivalist = "unset";
-								}
-								if (arc.FSEdoRevivalist !== "unset") {
-									arc.FSEdoRevivalist = "unset";
-								}
-								if (arc.FSChineseRevivalist !== "unset") {
-									arc.FSChineseRevivalist = "unset";
-								}
-								if (arc.FSAztecRevivalist !== "unset") {
-									arc.FSAztecRevivalist = "unset";
-								}
-								if (arc.FSNeoImperialist !== "unset") {
-									arc.FSNeoImperialist = "unset";
-								}
 								r.push(`${desc} fascinated by ancient Egyptian history, leading the arcology to <span class="yellow">adopt Egyptian Revivalism.</span>`);
-								arc.FSEgyptianRevivalist = 5;
+								adoptRivalFS("FSEgyptianRevivalist");
 								return;
 							case "Chinese Revivalism":
-								if (arc.FSChineseRevivalist !== "unset") {
-									arc.FSChineseRevivalist = "unset";
-								}
-								if (arc.FSRomanRevivalist !== "unset") {
-									arc.FSRomanRevivalist = "unset";
-								}
-								if (arc.FSEgyptianRevivalist !== "unset") {
-									arc.FSEgyptianRevivalist = "unset";
-								}
-								if (arc.FSArabianRevivalist !== "unset") {
-									arc.FSArabianRevivalist = "unset";
-								}
-								if (arc.FSAztecRevivalist !== "unset") {
-									arc.FSAztecRevivalist = "unset";
-								}
-								if (arc.FSNeoImperialist !== "unset") {
-									arc.FSNeoImperialist = "unset";
-								}
 								r.push(`${desc} fascinated by Japanese history, leading the arcology to <span class="yellow">adopt Edo Revivalism.</span>`);
-								arc.FSEdoRevivalist = 5;
+								adoptRivalFS("FSEdoRevivalist");
 								return;
 							case "Aztec Revivalism":
-								if (arc.FSAztecRevivalist !== "unset") {
-									arc.FSAztecRevivalist = "unset";
-								}
-								if (arc.FSEgyptianRevivalist !== "unset") {
-									arc.FSEgyptianRevivalist = "unset";
-								}
-								if (arc.FSEdoRevivalist !== "unset") {
-									arc.FSEdoRevivalist = "unset";
-								}
-								if (arc.FSArabianRevivalist !== "unset") {
-									arc.FSArabianRevivalist = "unset";
-								}
-								if (arc.FSChineseRevivalist !== "unset") {
-									arc.FSChineseRevivalist = "unset";
-								}
-								if (arc.FSNeoImperialist !== "unset") {
-									arc.FSNeoImperialist = "unset";
-								}
 								r.push(`${desc} fascinated by classical Roman history, leading the arcology to <span class="yellow">adopt Roman Revivalism.</span>`);
-								arc.FSRomanRevivalist = 5;
+								adoptRivalFS("FSRomanRevivalist");
 								return;
 							default:
 								V.rivalryFSAdopted = 0;
diff --git a/src/endWeek/economics/reputation.js b/src/endWeek/economics/reputation.js
index 1a31805abc4d44f9416b54ea7e5e075f539bb94a..66c3e8668376c8c6a44afdb57440fcdb5993ebf8 100644
--- a/src/endWeek/economics/reputation.js
+++ b/src/endWeek/economics/reputation.js
@@ -461,7 +461,7 @@ App.EndWeek.reputation = function() {
 
 	if (
 		(V.PC.belly >= 1500) ||
-		(V.PC.career === "escort" && V.PC.belly >= 500 && V.PC.preg > 0)
+		(V.PC.career === "escort" && V.PC.belly >= 500 && V.PC.preg > 0) // .belly? .clothing?
 	) {
 		if (V.arcologies[0].FSRestart !== "unset") {
 			if (V.arcologies[0].FSRestartDecoration === 100) {
@@ -523,13 +523,25 @@ App.EndWeek.reputation = function() {
 		}
 	}
 
-	if (V.PC.career === "escort" && V.rep < 16000 - _enduringRep) {
-		r.push(`Society <span class="red">frowns</span> over being run by an ex-whore. The presence of porn of you on the net doesn't aid your reputation either.`);
+	if ((V.PC.career === "escort" || V.PC.career === "prostitute") && V.rep < 16000 - _enduringRep) {
+		r.push(`Society <span class="red">frowns</span> over being run by an ex-whore.`);
+		if (V.PC.career === "escort") {
+			r.push(`The presence of porn of you on the net doesn't aid your reputation either.`);
+		}
 		repX(forceNeg(Math.min((V.rep * 0.05), 500)), "PCactions");
-	} else if (V.PC.career === "escort") {
+	} else if (V.PC.career === "escort" || V.PC.career === "prostitute") {
 		r.push(`Your reputation is so strong that society has accepted your previous endeavors despite how unusual it is for a prominent slaveowner to have once nearly been a slave.`);
 	}
-	if (V.PC.career === "servant" && V.rep < 12000 - _enduringRep) {
+	if (V.PC.career === "child prostitute" && V.rep < 22000 - _enduringRep) {
+		r.push(`Society <span class="red">is mortified</span> over being run by a sex-addled child whore.`);
+		if (V.PC.visualAge < V.minimumSlaveAge) {
+			r.push(`The fact that you appear underage only makes the thought worse.`);
+		}
+		repX(forceNeg(Math.min((V.rep * 0.06), 500)), "PCactions");
+	} else if (V.PC.career === "child prostitute") {
+		r.push(`Your reputation is so strong that society has finally accepted your previous life as a child whore.`);
+	}
+	if ((V.PC.career === "servant" || V.PC.career === "handmaiden" || V.PC.career === "child servant") && V.rep < 12000 - _enduringRep) {
 		r.push(`Society <span class="red">frowns</span> over being run by an ex-`);
 		if (V.PC.title === 1) {
 			r.push(`butler,`);
@@ -538,16 +550,28 @@ App.EndWeek.reputation = function() {
 		}
 		r.push(`despite how prominent their previous owner was.`);
 		repX(forceNeg(Math.min((V.rep * 0.05), 500)), "PCactions");
-	} else if (V.PC.career === "servant") {
+	} else if (V.PC.career === "servant" || V.PC.career === "handmaiden" || V.PC.career === "child servant") {
 		r.push(`Your reputation is so strong that society has accepted your previous vocation despite how unusual it is for a prominent slaveowner to have once been nothing more than a lowly servant.`);
 	}
 	if (V.PC.career === "gang" && V.rep < 15000 - _enduringRep) {
 		r.push(`Society <span class="red">frowns</span> over being run by an ex-gang leader, no matter how strong they might have been.`);
 		repX(forceNeg(Math.min((V.rep * 0.05), 500)), "PCactions");
+	} else if (V.PC.career === "hoodlum" && V.rep < 16000 - _enduringRep) {
+		r.push(`Society <span class="red">dislikes</span> being run by some low-life thug, no matter how much "street cred" they may have once held.`);
+		repX(forceNeg(Math.min((V.rep * 0.05), 500)), "PCactions");
+	} else if (V.PC.career === "street urchin" && V.rep < 20000 - _enduringRep) {
+		r.push(`Society <span class="red">hates</span> being run by some homeless street rat; how you even managed to get this far baffles them.`);
+		repX(forceNeg(Math.min((V.rep * 0.06), 500)), "PCactions");
 	} else if (V.PC.career === "BlackHat" && V.rep < 15000 - _enduringRep) {
 		r.push(`Society <span class="red">dislikes</span> being run by someone so capable of dredging up secrets, especially when they used to do it for the highest bidder.`);
 		repX(forceNeg(Math.min((V.rep * 0.05), 500)), "PCactions");
-	} else if (V.PC.career === "gang" || V.PC.career === "BlackHat") {
+	} else if (V.PC.career === "hacker" && V.rep < 16000 - _enduringRep) {
+		r.push(`Society <span class="red">dislikes</span> being run by someone so capable of dredging up secrets, especially when they do it for fun.`);
+		repX(forceNeg(Math.min((V.rep * 0.05), 500)), "PCactions");
+	} else if (V.PC.career === "script kiddy" && V.rep < 18000 - _enduringRep) {
+		r.push(`Society <span class="red">dislikes</span> being run by someone with such a reckless and disruptive idea of fun.`);
+		repX(forceNeg(Math.min((V.rep * 0.05), 500)), "PCactions");
+	} else if (V.PC.career === "gang" || V.PC.career === "hoodlum" || V.PC.career === "street urchin" || V.PC.career === "BlackHat" || V.PC.career === "hacker" || V.PC.career === "script kiddy") {
 		r.push(`Your reputation is strong enough that society has come to accept your background as part of your image.`);
 	}
 
diff --git a/src/endWeek/endWeek.js b/src/endWeek/endWeek.js
index 871f5566d3a35ffc8af09754bcaea386d50e724d..afa7d21b13553468f6755adac8d1117b86d7d053 100644
--- a/src/endWeek/endWeek.js
+++ b/src/endWeek/endWeek.js
@@ -29,7 +29,6 @@ globalThis.endWeek = (function() {
 	}
 
 	function resetSlaveMarkets() {
-		V.gingering = 0;
 		V.market = null;
 		for (const school of App.Data.misc.schools.keys()) {
 			V[school].schoolSale = 0;
diff --git a/src/endWeek/nextWeek/nextWeek.js b/src/endWeek/nextWeek/nextWeek.js
index a6add17ab0d2ff3fcc6780dc864333278a16134f..4f979c52816b0c0db7bb432142efd4a7ca7beccb 100644
--- a/src/endWeek/nextWeek/nextWeek.js
+++ b/src/endWeek/nextWeek/nextWeek.js
@@ -99,7 +99,7 @@ App.EndWeek.nextWeek = function() {
 		V.drugsCost = Math.trunc(10000 / V.localEcon);
 		V.rulesCost = Math.trunc(10000 / V.localEcon);
 		V.modCost = Math.trunc(5000 / V.localEcon);
-		V.surgeryCost = Math.trunc(30000 / (V.localEcon * (V.PC.career === "medicine" ? 2 : 1)));
+		V.surgeryCost = Math.trunc(30000 / (V.localEcon * ((V.PC.career === "medicine" || V.PC.career === "medical assistant" || V.PC.career === "nurse") ? 2 : 1)));
 	}
 
 	V.arcologies[0].prosperity = Math.clamp(V.arcologies[0].prosperity, 1, V.AProsperityCap);
@@ -213,7 +213,7 @@ App.EndWeek.nextWeek = function() {
 		slave.skill.whoring = Math.clamp(slave.skill.whoring.toFixed(1), 0, 100);
 		slave.skill.entertainment = Math.clamp(slave.skill.entertainment.toFixed(1), 0, 100);
 		slave.lactationAdaptation = Math.clamp(slave.lactationAdaptation.toFixed(1), 0, 100);
-		slave.intelligenceImplant = Math.clamp(slave.intelligenceImplant.toFixed(1), 0, 30);
+		slave.intelligenceImplant = Math.clamp(slave.intelligenceImplant.toFixed(1), -15, 30);
 		slave.prematureBirth = 0;
 		if (V.HGSuiteEquality === 1 && V.HeadGirlID !== 0 && slave.devotion > 50) {
 			if (slave.assignment === "live with your Head Girl") {
@@ -291,10 +291,7 @@ App.EndWeek.nextWeek = function() {
 	}
 
 	if (V.secExpEnabled > 0) {
-		if (V.foughtThisWeek === 1) {
-			V.foughtThisWeek = 0;
-		}
-
+		V.foughtThisWeek = 0;
 		if (V.SecExp.buildings.riotCenter) {
 			V.SecExp.buildings.riotCenter.sentUnitCooldown = Math.max(V.SecExp.buildings.riotCenter.sentUnitCooldown - 1, 0);
 		}
@@ -320,6 +317,7 @@ App.EndWeek.nextWeek = function() {
 		V.prisonCircuitIndex = 0;
 	}
 
+	V.independenceDay = 1;
 	V.coursed = 0;
 	V.prestigeAuctioned = 0;
 	V.eliteAuctioned = 0;
diff --git a/src/endWeek/nextWeek/resetGlobals.js b/src/endWeek/nextWeek/resetGlobals.js
index e1a63cefc0315c418792ac747d849368bbb0dac8..2b3143a1b5e860db067ca92ae610f6c28642b00c 100644
--- a/src/endWeek/nextWeek/resetGlobals.js
+++ b/src/endWeek/nextWeek/resetGlobals.js
@@ -66,9 +66,6 @@ App.EndWeek.resetGlobals = function() {
 	V.relative = 0;
 	V.relative2 = 0;
 
-	// Slave Objects that never get zeroed so null them here. Second most memory eaten up.
-	V.beforeGingering = null;
-
 	// Strings Memory varies.
 	V.buyer = "";
 	V.desc = "";
diff --git a/src/endWeek/reports/brothelReport.js b/src/endWeek/reports/brothelReport.js
index cf79c57d336cd6dae081c13879a78750954e9229..f22c8e70c04629c803d0bf26f350852aa042d5ec 100644
--- a/src/endWeek/reports/brothelReport.js
+++ b/src/endWeek/reports/brothelReport.js
@@ -48,6 +48,7 @@ App.EndWeek.brothelReport = function() {
 						FLsFetish = 1;
 						S.Madam.fetishKnown = 1;
 						S.Madam.fetish = "dom";
+						S.Madam.fetishStrength = 10;
 					}
 				} else if (S.Madam.fetishKnown === 0) {
 					FLsFetish = 1;
diff --git a/src/endWeek/reports/cellblockReport.js b/src/endWeek/reports/cellblockReport.js
index 59cb643ca983ff9bd89c214f37f78c67ad1b7bc6..344449e1a79ebfbf151da80bfde3b644d7f78959 100644
--- a/src/endWeek/reports/cellblockReport.js
+++ b/src/endWeek/reports/cellblockReport.js
@@ -48,6 +48,7 @@ App.EndWeek.cellblockReport = function() {
 					FLsFetish = 1;
 					S.Wardeness.fetishKnown = 1;
 					S.Wardeness.fetish = "sadist";
+					S.Wardeness.fetishStrength = 10;
 				}
 			} else if (S.Wardeness.fetishKnown === 0) {
 				FLsFetish = 1;
diff --git a/src/endWeek/reports/clinicReport.js b/src/endWeek/reports/clinicReport.js
index 1073e82bd91a11b3d3d83b25b25235fdbf49a94e..9366fb523ede2bf98ee03d5ea15d2e63ca9956b7 100644
--- a/src/endWeek/reports/clinicReport.js
+++ b/src/endWeek/reports/clinicReport.js
@@ -36,6 +36,7 @@ App.EndWeek.clinicReport = function() {
 						FLsFetish = 1;
 						S.Nurse.fetishKnown = 1;
 						S.Nurse.fetish = "dom";
+						S.Nurse.fetishStrength = 10;
 					}
 				} else if (S.Nurse.fetishKnown === 0) {
 					FLsFetish = 1;
diff --git a/src/endWeek/reports/clubReport.js b/src/endWeek/reports/clubReport.js
index 65f83a2e2a94bd4fbbdd018cb73b9b0e7f861364..20230974547efcf4c18b711374ac24cbfb11b640 100644
--- a/src/endWeek/reports/clubReport.js
+++ b/src/endWeek/reports/clubReport.js
@@ -39,6 +39,7 @@ App.EndWeek.clubReport = function() {
 					FLsFetish = 1;
 					S.DJ.fetishKnown = 1;
 					S.DJ.fetish = "humiliation";
+					S.DJ.fetishStrength = 10;
 				}
 			} else if (S.DJ.fetishKnown === 0) {
 				FLsFetish = 1;
diff --git a/src/endWeek/reports/dairyReport.js b/src/endWeek/reports/dairyReport.js
index c6a0bbb2c4d51483ea5c318c66a7707770a27b71..6c67054e3d8079ba0b358a3989270abe2c22d193 100644
--- a/src/endWeek/reports/dairyReport.js
+++ b/src/endWeek/reports/dairyReport.js
@@ -138,6 +138,7 @@ App.EndWeek.dairyReport = function() {
 						FLsFetish = 1;
 						S.Milkmaid.fetishKnown = 1;
 						S.Milkmaid.fetish = "boobs";
+						S.Milkmaid.fetishStrength = 10;
 					}
 				} else if (S.Milkmaid.fetishKnown === 0) {
 					FLsFetish = 1;
@@ -152,6 +153,7 @@ App.EndWeek.dairyReport = function() {
 						FLsFetish = 3;
 						S.Milkmaid.fetishKnown = 1;
 						S.Milkmaid.fetish = "cumslut";
+						S.Milkmaid.fetishStrength = 10;
 					}
 				} else if (S.Milkmaid.fetishKnown === 0) {
 					FLsFetish = 3;
@@ -166,6 +168,7 @@ App.EndWeek.dairyReport = function() {
 						FLsFetish = 5;
 						S.Milkmaid.fetishKnown = 1;
 						S.Milkmaid.fetish = "pregnancy";
+						S.Milkmaid.fetishStrength = 10;
 					}
 				} else if (S.Milkmaid.fetishKnown === 0) {
 					FLsFetish = 5;
diff --git a/src/endWeek/reports/farmyardReport.js b/src/endWeek/reports/farmyardReport.js
index 10b7d475f9df6da16eb4d6e515ab7acfcab0321a..5f9d59c893af2354942d32591a0a819d98103729 100644
--- a/src/endWeek/reports/farmyardReport.js
+++ b/src/endWeek/reports/farmyardReport.js
@@ -109,6 +109,7 @@ App.Facilities.Farmyard.farmyardReport = function farmyardReport() {
 			if (fetishChangeChance(slave) > jsRandom(0, 100)) {
 				slave.fetishKnown = 1;
 				slave.fetish = 'dom';
+				slave.fetishStrength = 10;
 				return 1;
 			}
 		} else if (!slave.fetishKnown) {
diff --git a/src/endWeek/reports/personalAttention.js b/src/endWeek/reports/personalAttention.js
index ecd47ff39e3c3587669db54aff7513b5a0d9b12d..a4782a775c293074cd6d9cbccfe7b2e7450e4dea 100644
--- a/src/endWeek/reports/personalAttention.js
+++ b/src/endWeek/reports/personalAttention.js
@@ -580,7 +580,7 @@ globalThis.personalAttention = (function() {
 				break;
 			case "learn skills":
 				trainingEfficiency = 10 + Math.trunc(slave.devotion / 30) + Math.floor(slave.intelligence / 32);
-				if (V.PC.career === "escort") {
+				if (V.PC.career === "escort" || V.PC.career === "prostitute" || V.PC.career === "child prostitute") {
 					r.push(`You are well-versed in sexual techniques and how to employ them, giving you an edge in teaching ${him}.`);
 					trainingEfficiency += 10;
 				}
@@ -730,11 +730,11 @@ globalThis.personalAttention = (function() {
 					r.push(`Since ${he} has only basic entertainment skills, you teach ${him} more about poise and Free Cities etiquette.`);
 					r.push(App.UI.DOM.makeElement("span", `${His} entertainment skills have improved.`, "lime"));
 					r.push(slaveSkillIncrease('entertainment', slave, trainingEfficiency));
-				} else if (slave.skill.whoring <= 60 && V.PC.career === "escort") {
+				} else if (slave.skill.whoring <= 60 && (V.PC.career === "escort" || V.PC.career === "prostitute" || V.PC.career === "child prostitute")) {
 					r.push(`${He} is already a skilled whore, so you teach ${him} some of your personal tricks to squeezing every last drop from a patron.`);
 					r.push(App.UI.DOM.makeElement("span", `${His} prostitution skills have improved.`, "lime"));
 					r.push(slaveSkillIncrease('whoring', slave, trainingEfficiency));
-				} else if (slave.skill.entertainment <= 60 && V.PC.career === "escort") {
+				} else if (slave.skill.entertainment <= 60 && (V.PC.career === "escort" || V.PC.career === "prostitute" || V.PC.career === "child prostitute")) {
 					r.push(`${He} is already skilled at luring in partners, so you teach ${him} some of your sexual persuasion techniques.`);
 					r.push(App.UI.DOM.makeElement("span", `${His} entertainment skills have improved.`, "lime"));
 					r.push(slaveSkillIncrease('entertainment', slave, trainingEfficiency));
diff --git a/src/endWeek/reports/schoolroomReport.js b/src/endWeek/reports/schoolroomReport.js
index e6854c231a8798b2399dfb0a54523d9c40e24ab6..0ab52049ad6c993797135a5b446f028dec7d73ed 100644
--- a/src/endWeek/reports/schoolroomReport.js
+++ b/src/endWeek/reports/schoolroomReport.js
@@ -39,6 +39,7 @@ App.EndWeek.schoolroomReport = function() {
 						FLsFetish = 1;
 						S.Schoolteacher.fetishKnown = 1;
 						S.Schoolteacher.fetish = "dom";
+						S.Schoolteacher.fetishStrength = 10;
 					}
 				} else if (S.Schoolteacher.fetishKnown === 0) {
 					FLsFetish = 1;
diff --git a/src/endWeek/reports/servantsQuartersReport.js b/src/endWeek/reports/servantsQuartersReport.js
index 3e09cb8b1a2139fb4d3e355003cbc49cd8185f7b..a429906ac1e9c76fcf0be0f4e383a4925508bd72 100644
--- a/src/endWeek/reports/servantsQuartersReport.js
+++ b/src/endWeek/reports/servantsQuartersReport.js
@@ -33,6 +33,7 @@ App.EndWeek.servantsQuartersReport = function() {
 						FLsFetish = 1;
 						S.Stewardess.fetishKnown = 1;
 						S.Stewardess.fetish = "dom";
+						S.Stewardess.fetishStrength = 10;
 					}
 				} else if (S.Stewardess.fetishKnown === 0) {
 					FLsFetish = 1;
diff --git a/src/endWeek/reports/spaReport.js b/src/endWeek/reports/spaReport.js
index 2e70f4714f460f9e08203710701e3c58f457cb3d..d0d4f0770c1b3f351f57f31453f46ce16c9829fb 100644
--- a/src/endWeek/reports/spaReport.js
+++ b/src/endWeek/reports/spaReport.js
@@ -35,6 +35,7 @@ App.EndWeek.spaReport = function() {
 					FLsFetish = 1;
 					S.Attendant.fetishKnown = 1;
 					S.Attendant.fetish = "submissive";
+					S.Attendant.fetishStrength = 10;
 				}
 			} else if (S.Attendant.fetishKnown === 0) {
 				FLsFetish = 1;
diff --git a/src/endWeek/saClothes.js b/src/endWeek/saClothes.js
index bf925dfc8df15fe35d7c4b68fc87a66406214d2f..914f95a5d114e439633608ac242b6f5e80834ffd 100644
--- a/src/endWeek/saClothes.js
+++ b/src/endWeek/saClothes.js
@@ -87,6 +87,7 @@ App.SlaveAssignment.clothes = (function() {
 	function clothingEffects(slave) {
 		switch (slave.clothes) {
 			case "no clothing":
+			case "body oil":
 				if (slave.devotion >= -20) {
 					if (slave.fetish === "humiliation" && slave.fetishKnown === 0) {
 						r.push(`${He} pretends to be embarrassed by ${his} nudity but seems to get off on it. <span class="lightcoral">${He}'s into humiliation.</span>`);
@@ -273,9 +274,17 @@ App.SlaveAssignment.clothes = (function() {
 				break;
 			default:
 				if (slave.devotion <= 20) {
-					r.push(`${He} is <span class="mediumorchid">inappropriately proud</span> of the nice clothes ${he}'s wearing, <span class="mediumaquamarine">building ${his} confidence.</span>`);
+					if (App.Data.clothes.get(slave.clothes).exposure === 0) {
+						r.push(`${He} is <span class="mediumorchid">inappropriately proud</span> of the modest clothes ${he}'s wearing; their decency <span class="mediumaquamarine">rapidly building ${his} confidence.</span>`);
+						slave.trust += 7;
+					} else if (App.Data.clothes.get(slave.clothes).exposure === 1) {
+						r.push(`${He} is <span class="mediumorchid">inappropriately proud</span> of the nice clothes ${he}'s wearing; their relative decency <span class="mediumaquamarine">building ${his} confidence.</span>`);
+						slave.trust += 5;
+					} else if (App.Data.clothes.get(slave.clothes).exposure <= 3) {
+						r.push(`${He} is <span class="mediumorchid">inappropriately proud</span> of the nice clothes ${he}'s wearing, <span class="mediumaquamarine">building ${his} confidence.</span>`);
+						slave.trust += 3;
+					}
 					slave.devotion -= 5;
-					slave.trust += 3;
 				} else if (slave.fetish === "boobs" && slave.clothes === "a monokini") {
 					if (slave.fetishKnown === 0) {
 						r.push(`${He} pretends to be embarrassed by how ${his} monokini draws attention to ${his} breasts but <span class="hotpink">seems to get off on it.</span>`);
@@ -287,7 +296,7 @@ App.SlaveAssignment.clothes = (function() {
 						r.push(`${He} pretends to be embarrassed by ${his} clearly exposed breasts but <span class="hotpink">secretly gets off on it.</span>`);
 						slave.devotion += 1;
 					}
-				} else if (slave.fetish === "humiliation" && setup.humiliatingClothes.includes(slave.clothes)) {
+				} else if (slave.fetish === "humiliation" && App.Data.clothes.get(slave.clothes).exposure === 3) {
 					if (slave.fetishKnown === 0) {
 						r.push(`${He} pretends to be embarrassed by ${his} extremely revealing clothing but seems to get off on it. <span class="lightcoral">${He}'s into humiliation.</span>`);
 						slave.fetishKnown = 1;
@@ -324,7 +333,7 @@ App.SlaveAssignment.clothes = (function() {
 
 		// humiliating clothing effects
 		if (slave.fetishKnown === 0 || slave.fetish === "none") {
-			if (setup.humiliatingClothes.includes(slave.clothes)) {
+			if (App.Data.clothes.get(slave.clothes).exposure === 3) {
 				if (fetishChangeChance(slave) > jsRandom(0, 100)) {
 					r.push(`Surprisingly, ${he} takes to ${his} extremely revealing clothing, and gets an obvious thrill from it. <span class="lightcoral">${He}'s become a humiliation fetishist!</span>`);
 					slave.fetish = "humiliation";
diff --git a/src/endWeek/saDevotion.js b/src/endWeek/saDevotion.js
index abd02ed4ab34eaf9bdfeeb0ae775a9cb1c48ef94..72238362d3a9b51f4cb505bdc7d160092af42b86 100644
--- a/src/endWeek/saDevotion.js
+++ b/src/endWeek/saDevotion.js
@@ -145,7 +145,7 @@ App.SlaveAssignment.devotion = (function() {
 	 *
 	 */
 	function playerPregnancyThoughts(slave) {
-		 if (PC.preg >= 20 || (PC.preg >= 16 && PC.career === "escort")) {
+		 if (PC.preg >= 20 || (PC.preg >= 16 && PC.career === "escort")) { // switch to .belly
 			if (slave.devotion > 60) {
 				if (PC.pregMood === 2) {
 					r.push(`${He} is devoted to you and does ${his} best to satisfy your demanding, hormone driven libido, no matter what you want from ${him}. ${His} efforts to give ${himself} you to <span class="devotion inc">further ${his} submission</span> to you.`);
diff --git a/src/endWeek/saPleaseYou.js b/src/endWeek/saPleaseYou.js
index 6f8dfd270b91428fcc3dad8f73d77ef6f612745f..8c390277e44e98af1e86df7455873aea7eea55e1 100644
--- a/src/endWeek/saPleaseYou.js
+++ b/src/endWeek/saPleaseYou.js
@@ -1782,7 +1782,7 @@ App.SlaveAssignment.pleaseYou = (function() {
 			r.push(`${slave.slaveName} knows being part of your harem is the best romance ${he} can realistically expect, and does ${his} best to <span class="mediumaquamarine">be content</span> with it.`);
 			slave.trust += 1;
 		}
-		if (slave.fetish === "pregnancy" && (V.PC.preg >= 20 || (V.PC.preg >= 16 && V.PC.career === "escort"))) {
+		if (slave.fetish === "pregnancy" && (V.PC.preg >= 20 || (V.PC.preg >= 16 && V.PC.career === "escort"))) { // .belly
 			r.push(`${slave.slaveName} <span class="hotpink">enjoys being so close to ${his} gravid ${getWrittenTitle(slave)}.</span>`);
 			slave.devotion += 1;
 			if (slave.fetishKnown === 0) {
diff --git a/src/endWeek/saPregnancy.js b/src/endWeek/saPregnancy.js
index 7411e739ccf258926f74c1f3618b767d01c62f1f..4ed68a461faecb90d59026b3bd27ca3dd6ee9f6b 100644
--- a/src/endWeek/saPregnancy.js
+++ b/src/endWeek/saPregnancy.js
@@ -313,8 +313,8 @@ App.SlaveAssignment.pregnancy = (function() {
 			slave.devotion += 1;
 			if (slave.relationship === -3) {
 				r.push(`This is compounded by the fact that ${he} is your <span class="devotion inc">devoted ${wife}</span> and <span class="trust inc">feels it is ${his} duty</span> to bear your children.`);
-				slave.devotion -= 5;
-				slave.trust -= -5;
+				slave.devotion += 5;
+				slave.trust += 5;
 			}
 		}
 		if (slave.pregSource === slave.relationshipTarget && slave.relationship > 2) {
diff --git a/src/endWeek/saRecruitGirls.js b/src/endWeek/saRecruitGirls.js
index b477133b47db7a84ea4877a4a9d0b43176312ef9..c93602efdfc5e9cbfc3f0a9fc72358a2a4569b74 100644
--- a/src/endWeek/saRecruitGirls.js
+++ b/src/endWeek/saRecruitGirls.js
@@ -645,7 +645,7 @@ App.SlaveAssignment.recruitGirls = (function() {
 				if (targetArcology.FSRestart !== "unset") {
 					r.push(`${He} advances Eugenics there by congratulating high class couples while completely ignoring everyone`);
 					if (slave.belly < 1500 && !canGetPregnant(slave)) {
-						r.push(`else, and by showing off ${his} baby-free body`);
+						r.push(`else, and by showing off ${his} baby-free`);
 						if (slave.pregKnown === 1) {
 							r.push(`body (even though ${he}'s hiding ${his} own pregnancy).`);
 						} else {
diff --git a/src/endWeek/saRelationships.js b/src/endWeek/saRelationships.js
index ed45109b57e076010e0767e6109d44058c11aa2a..b470976241be7c412c0e9e48b513318cae0fd459 100644
--- a/src/endWeek/saRelationships.js
+++ b/src/endWeek/saRelationships.js
@@ -8,7 +8,6 @@ App.SlaveAssignment.relationships = (function() {
 	let playerPronouns;
 
 	let PC;
-	let friend;
 
 	return saRelationships;
 
@@ -346,6 +345,7 @@ App.SlaveAssignment.relationships = (function() {
 	 *
 	 */
 	function existingRelationship(slave) {
+		let friend;
 		let him2, his2, wife2;
 		if (slave.relationship > 0) {
 			friend = getSlave(slave.relationshipTarget);
@@ -454,6 +454,7 @@ App.SlaveAssignment.relationships = (function() {
 					case Job.QUARTER:
 						r.push(`${He} is <span class="devotion inc">happy</span> to be allowed to live ${his} life close to you, since ${he}'s your ${wife}. In addition, ${his} deep reliance on ${his} formal relationship to you produces a steady increase of both <span class="devotion inc">devotion</span> and <span class="trust inc">trust.</span>`);
 						slave.devotion += 2;
+						slave.trust += 2;
 						break;
 					case Job.WHORE:
 					case Job.BROTHEL:
@@ -554,7 +555,9 @@ App.SlaveAssignment.relationships = (function() {
 				}
 			}
 		} else if (slave.rules.relationship === "restrictive" && slave.relationship !== 5) {
-			 if (friend.rules.relationship === "restrictive") {
+			if (disobedience(friend) > random(0, 100)) {
+				r.push(`${friend.slaveName} knows ${slave.slaveName} isn't allowed to be in a relationship with ${him2}, but keeps seeing ${him} anyway.`);
+			} else {
 				r.push(`Since the rules forbid the relationship between ${slave.slaveName} and ${friend.slaveName}, they are <span class="relationship dec">forced apart.</span>`);
 				 if (slave.relationship > 1) {
 					slave.relationship--;
@@ -578,7 +581,9 @@ App.SlaveAssignment.relationships = (function() {
 				}
 			}
 		} else if (slave.rules.relationship === "just friends" && slave.relationship !== 5 && slave.relationship > 2) {
-			 if (friend.rules.relationship === "restrictive") {
+			if (disobedience(friend) > random(0, 100)) {
+				r.push(`${friend.slaveName} knows ${slave.slaveName} isn't allowed to be in a sexual relationship with ${him2}, but keeps fucking ${him} anyway.`);
+			} else {
 				r.push(`Since the sexual relationship between ${slave.slaveName} and ${friend.slaveName} is against the rules, they`);
 				if (!hasAnyArms(slave) && !hasAnyArms(friend)) {
 					r.push(`are, metaphorically speaking,`);
diff --git a/src/endWeek/saRules.js b/src/endWeek/saRules.js
index 2e1b33261e3abef2b8feef70a38fe666c0d345c9..000a5c72763196834b3e16f0a8552011d6e17b19 100644
--- a/src/endWeek/saRules.js
+++ b/src/endWeek/saRules.js
@@ -2449,7 +2449,7 @@ App.SlaveAssignment.rules = function(slave) {
 					}
 
 					if (slave.rules.lactation === "induce") {
-						r.push(`When you have the free time, you message ${his} breasts and work ${his} nipples in an effort to bring in ${his} lactation.`);
+						r.push(`When you have the free time, you massage ${his} breasts and work ${his} nipples in an effort to bring in ${his} lactation.`);
 						r.push(induceLactation(slave, 2));
 						if (slave.lactation === 1) {
 							slave.rules.lactation = "maintain";
diff --git a/src/events/PE/concubineInterview.js b/src/events/PE/concubineInterview.js
index 40b5db7e7cb649db4aa2a75d07d4846c269e5b8d..30aae14a734f264d17a3aa823fa98529a8a91651 100644
--- a/src/events/PE/concubineInterview.js
+++ b/src/events/PE/concubineInterview.js
@@ -416,9 +416,9 @@ App.Events.PEConcubineInterview = class PEConcubineInterview extends App.Events.
 
 			App.Events.addParagraph(node, t);
 
-			t = [];
-
 			if (eventSlave.intelligence + eventSlave.intelligenceImplant > 50) {
+				t = [];
+				
 				t.push(`Only because you know ${him} so well are you able to perceive the instant of cold calculation before ${he} makes a <span class="green">perfect tactical decision</span> and turns directly to the camera. "Whatever you want," ${he} ${say}s confidently, ${speak(`"You can find it in a Free Cities arcology like my ${Master}'s. Where I live, there's`)}`);
 				if (arcology.FSRestart > 0) {
 					t.push(speak(`the most interesting people,`));
@@ -531,19 +531,20 @@ App.Events.PEConcubineInterview = class PEConcubineInterview extends App.Events.
 
 				if (PC.title === 0) {
 					t = [];
+					
 					t.push(`${eventSlave.slaveName} even manages to <span class="green">respond well</span> to a probing question about your gender. ${He} ${lisps ? `lisps` : `explains`}, ${speak(`"You have to understand that all that nonsense about men and women means less to us in the Free Cities. My ${Master} is a successful and powerful ${womanP}.`)}`);
 					if (!PC.dick) {
 						t.push(`${speak(`We just pay the right amount of attention to the success and the power.`)} ${He} quirks a corner of ${his} mouth. "I know <em>I</em> do."`);
 					} else {
 						t.push(`${He} quirks a corner of ${his} mouth. ${speak(`"And ${heP} has a <em>wonderful</em> cock."`)}`);
 					}
+					
+					rep(500);
+					
+					App.Events.addParagraph(node, t);
 				}
-
-				rep(500);
 			}
 
-			App.Events.addParagraph(node, t);
-
 			t = [];
 
 			t.push(`At the conclusion, the host`);
diff --git a/src/events/RETS/reFucktoyPrefersRelative.js b/src/events/RETS/reFucktoyPrefersRelative.js
index 8a2c620e2fcb3162852a4e0127031f21cefd867c..787232d2eb024d5936c4ead2bfc18eb89a6496c7 100644
--- a/src/events/RETS/reFucktoyPrefersRelative.js
+++ b/src/events/RETS/reFucktoyPrefersRelative.js
@@ -22,7 +22,7 @@ App.Events.RETSFucktoyPrefersRelative = class RETSFucktoyPrefersRelative extends
 				s => s.fetish !== "mindbroken",
 				s => s.genes === RETSFucktoyPrefersRelative.preferredSex(getSlave(this.actors[0])),
 				s => areRelated(s, getSlave(this.actors[0])),
-				s => this.actors[0].rivalTarget !== s.ID,
+				s => s.rivalTarget !== this.actors[0],
 				s => (canWalk(s) || (canMove(s) && s.rules.mobility === "permissive")),
 				isSlaveAvailable
 			]
diff --git a/src/events/RETS/reTopExhaustion.js b/src/events/RETS/reTopExhaustion.js
new file mode 100644
index 0000000000000000000000000000000000000000..4db34abde09ced7cc20d6439fb803f3a20ac8125
--- /dev/null
+++ b/src/events/RETS/reTopExhaustion.js
@@ -0,0 +1,442 @@
+App.Events.RETSTopExhaustion = class RETSTopExhaustion extends App.Events.BaseEvent {
+	eventPrerequisites() {
+		return [
+			() => V.PC.belly < 5000
+		];
+	}
+
+	actorPrerequisites() {
+		return [
+			[ // event slave
+				s => s.fetish !== "mindbroken",
+				s => s.rules.release.partner !== 0,
+				s => (canDoAnal(s) && s.anus !== 0) || (canDoVaginal(s) && s.vagina !== 0 && s.fetish !== "buttslut"),
+				hasAnyArms,
+				canWalk,
+				canTalk,
+				s => (s.assignment !== Job.MASTERSUITE && s.assignment !== Job.CONCUBINE && s.assignment !== Job.QUARTER),
+				s => s.rules.living === "luxurious",
+				s => s.relationship > 3,
+				s => s.devotion > 50,
+				s => s.trust > 50
+			],
+			[ // and her dom
+				s => s.fetish !== "mindbroken",
+				s => s.relationshipTarget === this.actors[0],
+				isSlaveAvailable,
+				s => (s.assignment !== Job.MASTERSUITE && s.assignment !== Job.CONCUBINE && s.assignment !== Job.QUARTER),
+				s => s.rules.release.partner !== 0,
+				canTalk,
+				hasAnyArms,
+				canMove,
+				s => s.devotion > 20,
+				s => s.energy > 80,
+				s => (s.dick === 0 || canPenetrate(s)),
+				s => (s.fetish === "dom" || s.fetish === "sadist")
+			]
+		];
+	}
+
+	execute(node) {
+		/** @type {Array<App.Entity.SlaveState>} */
+		let [subSlave, domSlave] = this.actors.map(a => getSlave(a)); // Pay attention! The main slave is the sub here!
+		const {
+			He, he, his, His, him, himself, wife, girl
+		} = getPronouns(subSlave);
+		const {
+			He2, he2, His2, his2, him2, himself2, wife2, girl2
+		} = getPronouns(domSlave).appendSuffix("2");
+		const arms = hasBothArms(subSlave) ? "arms" : "arm";
+		const belly = bellyAdjective(subSlave);
+		const desc = SlaveTitle(subSlave);
+
+		/** @type {App.Entity.PlayerState} */
+		let PC = V.PC;
+
+		const usingAss = (subSlave.fetish === "buttslut" || subSlave.vagina <= 0 || !canDoVaginal(subSlave));
+
+		V.nextLink = "Next Week";
+
+		App.Events.drawEventArt(node, [domSlave, subSlave], ["no clothing", subSlave.clothes]);
+
+		let t = [];
+
+		t.push(`As you stroll past the best part of the slave living area one evening, you hear a lewd slap, slap, slap coming from the room`);
+		t.push(App.UI.DOM.slaveDescriptionDialog(subSlave));
+		t.push(`and`);
+		t.push(contextualIntro(subSlave, domSlave, "DOM"));
+		t.push(`share. It's quite obvious what they're up to, but you look in anyway. ${subSlave.slaveName} has clearly had a long day, and is tired, but ${he}'s being a good ${subSlave.relationship > 4 ? `${wife}` : `lover`} and letting ${domSlave.slaveName} use ${his} body. ${subSlave.slaveName} is lying`);
+		if (subSlave.belly < 5000) {
+			t.push(`face-down on their bed, ${arms} crossed under ${his} head, looking quite relaxed. ${He} has a couple of pillows tucked under ${his} hips to raise them so that ${his} ${subSlave.relationship > 4 ? `${wife2}` : `sweetheart`} can fuck ${him}`);
+			if (subSlave.belly >= 1500) {
+				t.push(`comfortably and to give ${his} ${belly} ${subSlave.bellyPreg >= 3000 ? "pregnancy" : "belly"} room beneath ${him}.`);
+			} else {
+				t.push(`comfortably.`);
+			}
+		} else {
+			t.push(`on ${his} side on their bed,`);
+			if (hasBothArms(subSlave)) {
+				t.push(`one arm supporting ${his} head and the other stroking ${his} ${belly} ${subSlave.bellyPreg >= 3000 ? "pregnancy" : "belly"},`);
+			} else {
+				t.push(`${his} arm supporting ${his} head,`);
+			}
+			t.push(`looking quite relaxed. ${He} has a couple of pillows tucked under ${his} hips to angle them so that ${his} ${subSlave.relationship > 4 ? `${wife2}` : `sweetheart`} can fuck ${him} comfortably.`);
+		}
+		t.push(`They've obviously been at this for a while. ${domSlave.slaveName} likes to top and is not gentle at it, and ${he2}'s pounding ${subSlave.slaveName} as hard as ${he2} can. ${He2}'s`);
+		if (domSlave.muscles > 50) {
+			t.push(`a very strong ${girl2}, and ${his2} muscles work noticeably`);
+		} else if (domSlave.muscles > 5) {
+			t.push(`physically fit, but even so, ${he2}'s showing signs of fatigue`);
+		} else {
+			t.push(`not very fit, and ${he2}'s gasping tiredly`);
+		}
+		t.push(`as ${he2} pistons`);
+		if (canPenetrate(domSlave)) {
+			t.push(`${his2} penis`);
+		} else {
+			t.push(`the strap-on ${he2}'s wearing`);
+		}
+		t.push(`in and out of the ${usingAss ? "asshole" : "pussy"} ${subSlave.belly < 5000 ? "beneath" : "before"} ${him2}.`);
+		App.Events.addParagraph(node, t);
+		t = [];
+
+		t.push(`For ${his} part, ${subSlave.slaveName} is playing an utterly passive role. ${He} even has ${his} eyes closed, though ${he}'s obviously conscious; ${he}'s`);
+		if (subSlave.fetish === "buttslut") {
+			t.push(`smiling, and the shameless ${desc} buttslut loves being treated like this.`);
+		} else {
+			t.push(`smiling.`);
+		}
+		if (usingAss) {
+			if (subSlave.anus > 2) {
+				t.push(`${His} welcoming asspussy can take this all night.`);
+			} else if (subSlave.anus > 1) {
+				if (canPenetrate(domSlave)) {
+					if (domSlave.dick > 4) {
+						t.push(`${His} lover's cock is big enough that it sometimes bothers even ${his} experienced anus, but ${he} was clearly fucked into a nice relaxed gape a while ago.`);
+					} else if (domSlave.dick > 1) {
+						t.push(`${He} can take ${his} lover's modest cock easily.`);
+					} else {
+						t.push(`${He} can barely feel ${his} lover's tiny cock inside ${his} relaxed hole.`);
+					}
+					if (canImpreg(subSlave, domSlave)) {
+						knockMeUp(subSlave, 10, 1, domSlave.ID, true);
+					}
+				} else {
+					t.push(`${His} lover is using a formidable phallus, but ${he} was clearly fucked into a nice relaxed gape a while ago.`);
+				}
+			} else {
+				if (canPenetrate(domSlave)) {
+					if (domSlave.dick > 4) {
+						t.push(`${His} lover's cock stretches ${him} to ${his} limit, often leaving ${him} with a sore ass, but ${his} tight rear has clearly been worked in gradually tonight, and ${he}'s taking it just fine.`);
+					} else if (domSlave.dick > 2) {
+						t.push(`${His} lover's cock is big enough that it often causes ${him} some anal pain, but ${his} tight ass has clearly been worked in gradually tonight, and ${he}'s taking it just fine.`);
+					} else if (domSlave.dick > 1) {
+						t.push(`${His} lover's little dick is well suited to ${his} tight butt, and ${he}'s taking ${his} anal pounding just fine.`);
+					} else {
+						t.push(`${He} lover's dick is a little on the small side, but ${he}'s enjoying it all the same.`);
+					}
+					if (canImpreg(subSlave, domSlave)) {
+						knockMeUp(subSlave, 10, 1, domSlave.ID, true);
+					}
+				} else {
+					t.push(`${His} lover is using a formidable phallus, but ${his} tight ass has clearly been worked in gradually tonight, and ${he}'s taking it just fine.`);
+				}
+			}
+			seX(subSlave, "anal", domSlave, "penetrative", 6);
+		} else {
+			if (subSlave.vagina > 2) {
+				t.push(`${His} gaping cunt can take this all night.`);
+			} else if (subSlave.vagina > 1) {
+				if (canPenetrate(domSlave)) {
+					if (domSlave.dick > 4) {
+						t.push(`${His} lover's cock is big enough that it sometimes bothers even ${his} veteran pussy, but ${he}'s relaxed and taking it easily.`);
+					} else if (domSlave.dick > 1) {
+						t.push(`${He} can take ${his} lover's modest cock easily.`);
+					} else {
+						t.push(`${He} can barely feel ${his} lover's tiny cock inside ${his} relaxed hole.`);
+					}
+					if (canImpreg(subSlave, domSlave)) {
+						knockMeUp(subSlave, 10, 0, domSlave.ID, true);
+					}
+				} else {
+					t.push(`${His} lover is using a formidable phallus, but ${he}'s relaxed and taking it easily.`);
+				}
+			} else {
+				if (canPenetrate(domSlave)) {
+					if (domSlave.dick > 4) {
+						t.push(`${His} lover's cock fills ${him} to ${his} limit, often leaving ${him} rather sore, but ${his} tight pussy has clearly been worked in gradually tonight, and ${he}'s taking it just fine.`);
+					} else if (domSlave.dick > 2) {
+						t.push(`${His} lover's cock is big enough that it often causes ${him} some pain, but ${his} tight little pussy has clearly been worked in gradually tonight, and ${he}'s taking it just fine.`);
+					} else if (domSlave.dick > 1) {
+						t.push(`${His} lover's little dick is well suited to ${his} tight little pussy, and ${he}'s taking ${his} pounding just fine.`);
+					} else {
+						t.push(`${He} lover's dick is a little on the small side, but ${he}'s enjoying it all the same.`);
+					}
+					if (canImpreg(subSlave, domSlave)) {
+						knockMeUp(subSlave, 10, 0, domSlave.ID, true);
+					}
+				} else {
+					t.push(`${His} lover is using a formidable phallus, but ${his} tight little pussy has clearly been worked in gradually tonight, and ${he}'s taking it just fine.`);
+				}
+			}
+			seX(subSlave, "vaginal", domSlave, "penetrative", 6);
+		}
+		t.push(`Being the ${subSlave.relationship > 4 ? `${wife}` : `lover`} of a lusty fucker like ${domSlave.slaveName} can be tiring, especially in addition to ${his} other duties. But despite the vigor, the sex looks quite loving. ${subSlave.slaveName} goes on smiling comfortably as ${his}`);
+		if (subSlave.buttImplant / subSlave.butt > .60) {
+			t.push(`implant-filled butt wobbles slightly`);
+		} else {
+			if (subSlave.butt > 11) {
+				t.push(`inhuman ass wobbles obscenely`);
+			} else if (subSlave.butt > 7) {
+				t.push(`enormous ass ripples`);
+			} else if (subSlave.butt > 4) {
+				t.push(`heavy ass jiggles`);
+			} else {
+				t.push(`cute butt jiggles a bit`);
+			}
+		}
+		t.push(`under each hard slap as ${domSlave.slaveName} brings ${his2} hips down to penetrate ${him} fully, yet again.`);
+		App.Events.addParagraph(node, t);
+		t = [];
+
+		t.push(`Mere moments after you absorb this arresting scene, ${domSlave.slaveName} thrusts`);
+		if (canPenetrate(domSlave)) {
+			t.push(`${his2} cock`);
+		} else {
+			t.push(`the strap-on`);
+		}
+		t.push(`all the way inside ${subSlave.slaveName}'s ${usingAss ? "ass" : "womanhood"} and shudders,`);
+		if (canPenetrate(domSlave)) {
+			t.push(`filling it with ${his2} cum.`);
+		} else {
+			t.push(`orgasming.`);
+		}
+		t.push(`Then ${he2} collapses, utterly spent. ${subSlave.slaveName}`);
+		if (canPenetrate(domSlave)) {
+			t.push(`gasps at the sensation of the ejaculate shooting into ${his} body,`);
+		} else {
+			t.push(`smiles a little wider as ${he} feels ${domSlave.slaveName}'s muscles tense with climax,`);
+		}
+		t.push(`and then grunts a little as ${domSlave.slaveName}`);
+		if (subSlave.belly < 5000) {
+			t.push(`lies down on top of ${him}.`);
+			if (domSlave.boobs > 5000) {
+				t.push(`The enormous weight of ${his} lover's boobs squashes ${him}.`);
+			}
+			if (domSlave.belly >= 5000) {
+				t.push(`${His2} ${bellyAdjective(domSlave)} ${domSlave.bellyPreg >= 3000 ? "pregnancy" : "belly"} pushing into the small of ${his} back.`);
+			}
+		} else {
+			t.push(`slumps against`);
+			if (domSlave.belly >= 5000) {
+				t.push(`${him}, ${his2} ${bellyAdjective(domSlave)} ${domSlave.bellyPreg >= 3000 ? "pregnancy" : "belly"} keeping ${him2} upright.`);
+			} else {
+				t.push(`${him}.`);
+			}
+		}
+		t.push(`After a few seconds, ${he} wiggles ${his} hips a little as a wordless question. The sensation`);
+		if (canPenetrate(domSlave)) {
+			t.push(`against ${domSlave.slaveName}'s softening, overstimulated member`);
+		} else {
+			t.push(`is transmitted through the phallus and its harness to ${domSlave.slaveName}'s overstimulated clit, and this`);
+		}
+		t.push(`makes the exhausted slave on top quiver, eliciting a giggle from the slave underneath ${him2}.`);
+		t.push(Spoken(subSlave, `"I love you, ${domSlave.slaveName},"`));
+		t.push(`${he} whispers, and receives a mumbled "I love you too" in breathy`);
+		if (subSlave.belly < 5000) {
+			t.push(`response, right next to ${his} ear.`);
+		} else {
+			t.push(`response.`);
+		}
+		App.Events.addParagraph(node, t);
+		t = [];
+
+		App.Events.addResponses(node, [
+			new App.Events.Result("They're not done yet", alongside),
+			new App.Events.Result("Rinse off with them", showertime)
+		]);
+
+		function alongside() {
+			t = [];
+
+			t.push(`${domSlave.slaveName} is out of it, and doesn't realize you're there. The first indication ${he2} gets of your presence is the`);
+			if (PC.dick !== 0) {
+				t.push(`head of your penis`);
+			} else {
+				t.push(`tip of your strap-on`);
+			}
+			if (canDoVaginal(domSlave) && domSlave.vagina > 0) {
+				if (domSlave.vagina > 2) {
+					t.push(`slipping easily into ${his2} loose pussy.`);
+				} else if (domSlave.vagina > 1) {
+					t.push(`slipping into ${his2} experienced pussy.`);
+				} else {
+					t.push(`penetrating ${his2} tight slit.`);
+				}
+				seX(domSlave, "vaginal", PC, "penetrative");
+			} else if (canDoAnal(domSlave) && domSlave.anus > 0) {
+				if (domSlave.anus > 2) {
+					t.push(`sliding easily inside ${his2} soft butthole.`);
+				} else if (domSlave.anus > 1) {
+					t.push(`pushing firmly up ${his2} relaxed anus.`);
+				} else {
+					t.push(`penetrating ${his2} tight little asshole.`);
+				}
+				seX(domSlave, "anal", PC, "penetrative");
+			} else {
+				if (PC.dick > 5) {
+					t.push(`pressing against, and then sliding up, ${his2} back.`);
+				} else {
+					t.push(`pressing against the small of ${his2} back.`);
+				}
+			}
+			t.push(`${He2} groans, but greets you properly, slurring a little from sheer fatigue and overstimulation.`);
+			if ((canDoVaginal(domSlave) && domSlave.vagina > 0) || (canDoAnal(domSlave) && domSlave.anus > 0)) {
+				t.push(`Nevertheless, ${he2} reaches clumsily around to spread ${his2} cheeks for you. As you begin to fuck ${his2} butt, your invading ${PC.dick !== 0 ? "cock" : "phallus"}`);
+				if (canPenetrate(domSlave)) {
+					if (domSlave.prostate) {
+						t.push(`presses against ${his2} prostate,`);
+					} else {
+						t.push(`stirs up ${his2} insides,`);
+					}
+					t.push(`forcing ${him2} hard again.`);
+				} else {
+					t.push(`and thrusting hips get ${him2} moving again, too.`);
+				}
+			} else {
+				t.push(`Nevertheless, ${he2} clumsily wiggles ${his2} hips for you. As you begin to grind against ${him2},`);
+				if (canPenetrate(domSlave)) {
+					t.push(`the lewdity of the act manages to get ${his2} member hard again.`);
+				} else {
+					t.push(`${he2} starts to move along with you.`);
+				}
+			}
+			t.push(`Beneath ${him2}, ${subSlave.slaveName} shifts uncomfortably at the resumed sex and the extra weight. To relieve ${him}, you haul ${his} ${subSlave.relationship > 4 ? `${wife2}` : "lover"} into a more upright position so ${he2} can fuck and be fucked`);
+			if (subSlave.belly < 5000) {
+				t.push(`while straddling ${subSlave.slaveName}'s pressed-together thighs.`);
+			} else {
+				t.push(`without putting so much pressure on ${subSlave.slaveName}.`);
+			}
+			t.push(`You fuck ${domSlave.slaveName} just as hard as ${he2} was fucking ${subSlave.slaveName}, taking your pleasure from ${him2} without mercy. Despite this, the sexed-out slave orgasms again.`);
+			if (PC.dick !== 0 && canPenetrate(domSlave)) {
+				t.push(`Deciding to really fill ${subSlave.slaveName}, you shove ${domSlave.slaveName}'s quivering body off to one side without ceremony, shove yourself inside the ${desc} on the bottom, and add your cum to the two loads already inside ${him}.`);
+			} else {
+				t.push(`You climax yourself, and then stand.`);
+			}
+			t.push(`Pleased, you head off to find more amusement, leaving the sex-stained slaves dozing in each other's arms, <span class="devotion inc">not thinking for a moment</span> about how profoundly sexual pleasure dominates their lives.`);
+			subSlave.devotion += 4;
+			domSlave.devotion += 4;
+			if (usingAss) {
+				seX(subSlave, "anal", domSlave, "penetrative");
+				seX(subSlave, "anal", PC, "penetrative");
+				if (canPenetrate(domSlave)) {
+					if (canImpreg(subSlave, domSlave)) {
+						knockMeUp(subSlave, 5, 1, domSlave.ID, true);
+					}
+					if (canImpreg(subSlave, PC)) {
+						knockMeUp(subSlave, 5, 1, -1, true);
+					}
+				} else {
+					if (canImpreg(subSlave, PC)) {
+						knockMeUp(subSlave, 5, 1, -1, true);
+					}
+				}
+			} else {
+				seX(subSlave, "vaginal", domSlave, "penetrative");
+				seX(subSlave, "vaginal", PC, "penetrative");
+				if (canPenetrate(domSlave)) {
+					if (canImpreg(subSlave, domSlave)) {
+						knockMeUp(subSlave, 5, 0, domSlave.ID, true);
+					}
+					if (canImpreg(subSlave, PC)) {
+						knockMeUp(subSlave, 5, 0, -1, true);
+					}
+				} else {
+					if (canImpreg(subSlave, PC)) {
+						knockMeUp(subSlave, 5, 0, -1, true);
+					}
+				}
+			}
+			return t;
+		}
+
+		function showertime() {
+			t = [];
+
+			t.push(`You announce that they definitely need to rinse off before bed. They both start with surprise and then greet you as best they can, though ${domSlave.slaveName} groans a little at having to get up so soon after exhausting ${himself2} and then climaxing. Giggling, ${subSlave.slaveName} heaves ${him2} to ${his2} feet, and between the two of you, you get ${him2} to the showers. ${He2}'s really spent; ${his2} legs are wobbly, and ${he2} slithers down to crouch under the warm water as soon as ${he2} can. Uncoordinated, ${he2} fumbles for the soap and washes ${his2} sore body, only vaguely noticing the sex going on mere ${V.showInches === 2 ? "inches" : "centimeters"} over ${his2} head. Since ${subSlave.slaveName} was being such a good ${girl} and looking after ${his} ${subSlave.relationship > 4 ? `${wife2}` : "lover"}'s needs, you take ${him} in the way ${he} likes it best,`);
+			switch (subSlave.fetish) {
+				case "submissive":
+					t.push(`holding the submissive ${desc} up against the shower wall and giving ${him} a second reaming.`);
+					break;
+				case "cumslut":
+					t.push(`giving the cumslut a soapy massage as ${he}`);
+					if (PC.dick !== 0) {
+						t.push(`sucks your`);
+						if (PC.vagina !== -1) {
+							t.push(`cock and`);
+						} else {
+							t.push(`cock.`);
+						}
+						seX(subSlave, "oral", PC, "penetrative");
+					}
+					if (PC.vagina !== -1) {
+						t.push(`eats you out.`);
+						seX(subSlave, "oral", PC, "vaginal");
+					}
+					break;
+				case "humiliation":
+					t.push(`holding the humiliation slut up against the shower wall so passing slaves can see ${him} get fucked.`);
+					break;
+				case "buttslut":
+					t.push(`holding the submissive buttslut up against the shower wall and giving ${him} a second anal reaming.`);
+					break;
+				case "boobs":
+					t.push(`fucking the boob fetishist from behind so you can play with ${his} nipples,`);
+					break;
+				case "pregnancy":
+					if (subSlave.bellyPreg >= 1500) {
+						t.push(`massaging the pregnant slut's belly as you fuck ${him}.`);
+					} else if (subSlave.belly >= 1500) {
+						t.push(`massaging the slut's belly as you fuck ${him}.`);
+					} else {
+						t.push(`pushing the impregnation slut into a corner and pretending you're knocking ${him} up.`);
+					}
+					break;
+				case "dom":
+				case "sadist":
+					t.push(`holding the sexually aggressive ${desc} against the wall so ${he} can push ${himself} back against you.`);
+					break;
+				case "masochist":
+					t.push(`pushing the pain slut into a corner and spanking ${him} while you fuck ${him}.`);
+					break;
+				default:
+					t.push(`pushing the vanilla ${girl}'s back against the wall and kissing ${him} lovingly.`);
+			}
+			t.push(`As ${subSlave.slaveName} orgasms in your arms, you feel ${domSlave.slaveName} hug your thighs lightly before starting to`);
+			if (PC.dick !== 0) {
+				t.push(`blow you`);
+				seX(subSlave, "oral", PC, "penetrative");
+			} else {
+				t.push(`lick your pussy`);
+				seX(subSlave, "oral", PC, "vaginal");
+			}
+			t.push(`${himself2}. Afterward, you bring the tired pair back to their bed and get them tucked in. They <span class="trust inc">find the gesture comforting,</span> and are asleep in an instant.`);
+			subSlave.trust += 4;
+			domSlave.trust += 4;
+			if (subSlave.fetish !== "cumslut") {
+				if (usingAss) {
+					seX(subSlave, "anal", PC, "penetrative");
+					if (canImpreg(subSlave, PC)) {
+						knockMeUp(subSlave, 5, 1, -1, true);
+					}
+				} else {
+					seX(subSlave, "vaginal", PC, "penetrative");
+					if (canImpreg(subSlave, PC)) {
+						knockMeUp(subSlave, 5, 1, -1, true);
+					}
+				}
+			}
+			return t;
+		}
+	}
+};
diff --git a/src/events/eventUtils.js b/src/events/eventUtils.js
index 6a117d3f283b325621417b3d09bd237fd7d42943..b8a9df8934acf8860d3ed8b22d143739862bb0ac 100644
--- a/src/events/eventUtils.js
+++ b/src/events/eventUtils.js
@@ -1,5 +1,5 @@
 App.Events.drawEventArt = (function() {
-	const validSingleOutfits = App.Data.slaveWear.niceClothes.map(c => c.value).concat(App.Data.slaveWear.harshClothes.map(c => c.value));
+	const validSingleOutfits = Array.from(App.Data.clothes.keys());
 
 	/** draw event art, with the option to dress the slave in a particular way
 	 * @param {Node} node - DOM node to attach art to
diff --git a/src/events/intro/acquisition.js b/src/events/intro/acquisition.js
index 4cf8481e4361563ae52dbb9ec9c1853a5304ed2c..2bbbd65bb06fc5dea9745a4a148b897902d69adb 100644
--- a/src/events/intro/acquisition.js
+++ b/src/events/intro/acquisition.js
@@ -282,31 +282,9 @@ App.Intro.acquisition = function() {
 		if (V.PC.slaveSurname) {
 			V.PC.birthSurname = V.PC.slaveSurname;
 		}
-		if (V.PC.title === 1) {
-			V.PC.muscles = 50;
-		} else {
-			V.PC.hLength = 15;
-			V.PC.waist = -20;
-			V.PC.voice = 2;
-			V.PC.shoulders = -1;
-			V.PC.hips = 1;
-			V.PC.muscles = 30;
-		}
-		if (V.PC.career === "escort") {
-			V.PC.anus = 1;
-			V.PC.clothes = "a slutty outfit";
-			V.PC.intelligenceImplant = 15;
-		} else if (V.PC.career === "servant") {
-			V.PC.geneticQuirks.fertility = 1;
-			V.PC.clothes = "a nice maid outfit";
-			V.PC.intelligenceImplant = 0;
-		}
-		if (V.PC.vagina === -1) {
-			V.PC.ovaries = 0;
-		} else if (V.PC.vagina > 0) {
-			V.PC.vaginaLube = 1;
+		if (V.PC.vagina > 0) {
 			V.PC.counter.birthsTotal = 0;
-			if (V.PC.career === "servant") {
+			if (V.PC.career === "servant" || V.PC.career === "handmaiden" || V.PC.career === "child servant") {
 				if (V.PC.pregType !== 8) {
 					if (V.PC.actualAge >= 50) {
 						V.PC.counter.birthsTotal = 9;
@@ -314,9 +292,12 @@ App.Intro.acquisition = function() {
 					} else if (V.PC.actualAge >= 35) {
 						V.PC.counter.birthsTotal = 6;
 						V.PC.counter.birthMaster = 6;
-					} else {
+					} else if (V.PC.actualAge >= 16) {
 						V.PC.counter.birthsTotal = 3;
 						V.PC.counter.birthMaster = 3;
+					} else if (V.PC.pubertyXX === 1) {
+						V.PC.counter.birthsTotal = 2;
+						V.PC.counter.birthMaster = 2;
 					}
 				} else { // Master kept you pregged up
 					if (V.PC.actualAge >= 50) {
@@ -325,12 +306,14 @@ App.Intro.acquisition = function() {
 					} else if (V.PC.actualAge >= 35) {
 						V.PC.counter.birthsTotal = 40;
 						V.PC.counter.birthMaster = 40;
-					} else {
+					} else if (V.PC.actualAge >= 16) {
 						V.PC.counter.birthsTotal = 16;
 						V.PC.counter.birthMaster = 16;
+					} else if (V.PC.pubertyXX === 1) {
+						V.PC.counter.birthsTotal = 8;
+						V.PC.counter.birthMaster = 8;
 					}
 				}
-				V.PC.geneticQuirks.fertility = 2;
 				for (const slave of V.slaves) {
 					if (slave.mother === -1) {
 						V.PC.counter.birthsTotal += 1;
@@ -342,7 +325,7 @@ App.Intro.acquisition = function() {
 						}
 					}
 				}
-			} else if (V.PC.career === "escort") {
+			} else if (V.PC.career === "escort" || V.PC.career === "prostitute" || V.PC.career === "child prostitute") {
 				for (const slave of V.slaves) {
 					if (slave.mother === -1) {
 						V.PC.counter.birthsTotal += 1;
@@ -375,12 +358,12 @@ App.Intro.acquisition = function() {
 				} else {
 					V.PC.geneticQuirks.hyperFertility = 2;
 				}
-				if (V.PC.career === "servant") {
+				if (V.PC.career === "servant" || V.PC.career === "handmaiden" || V.PC.career === "child servant") {
 					V.PC.pregSource = -3;
 					if (V.PC.pregType !== 8) {
 						V.PC.pregType += either(0, 0, 1);
 					}
-				} else if (V.PC.career === "escort") {
+				} else if (V.PC.career === "escort" || V.PC.career === "prostitute" || V.PC.career === "child prostitute") {
 					V.PC.pregSource = -5;
 				}
 				V.PC.pregKnown = 1;
@@ -388,14 +371,6 @@ App.Intro.acquisition = function() {
 				WombImpregnate(V.PC, V.PC.pregType, V.PC.pregSource, V.PC.preg);
 			}
 		}
-		if (V.PC.dick !== 0) {
-			V.PC.geneticQuirks.wellHung = 2;
-		} else {
-			V.PC.balls = 0;
-			V.PC.scrotum = 0;
-			V.PC.prostate = 0;
-		}
-		V.PC.ovaryAge = V.PC.physicalAge;
 	}
 
 
diff --git a/src/events/intro/initNationalities.js b/src/events/intro/initNationalities.js
index e484c6a4aa1b9bc18d5afc3c780f0caaf003f219..491a310a163420291102d36146a0ccb0a4a225a8 100644
--- a/src/events/intro/initNationalities.js
+++ b/src/events/intro/initNationalities.js
@@ -1,6 +1,5 @@
 App.Intro.initNationalities = function() {
 	function initSecExp() {
-		/* base vars */
 		App.SecExp.generalInit();
 		V.fort = {
 			reactor: 0,
@@ -22,39 +21,130 @@ App.Intro.initNationalities = function() {
 		resetEyeColor(V.PC);
 		generatePlayerPronouns(V.PC);
 
-		if (V.PC.career === "wealth") {
-			V.trinkets.push("a collection of diplomas from expensive schools");
-			cashX(10000, "personalBusiness");
-		} else if (V.PC.career === "capitalist") {
-			V.trinkets.push("a framed low denomination piece of paper money from your native country");
-		} else if (V.PC.career === "mercenary") {
-			V.trinkets.push("a battered old assault rifle");
-		} else if (V.PC.career === "slaver") {
-			V.trinkets.push("a framed picture of a slave with her sale price scrawled across the bottom");
-		} else if (V.PC.career === "engineer") {
-			V.trinkets.push("an artist's impression of an early arcology design");
-			V.arcologyUpgrade.drones = 1;
-			V.arcologyUpgrade.hydro = 1;
-			if (V.secExpEnabled > 0) {
-				V.secBots = App.SecExp.generateUnit("bots");
-			}
-		} else if (V.PC.career === "medicine") {
-			V.trinkets.push("a framed postsurgical x-ray");
-			V.surgeryCost = Math.trunc(V.surgeryCost/2);
-		} else if (V.PC.career === "celebrity") {
-			V.trinkets.push("a framed copy of the first news story featuring yourself");
-			repX(4000, "event");
-		} else if (V.PC.career === "arcology owner") {
-			V.trinkets.push("a miniature model of your first arcology");
-			repX(2000, "event");
-		} else if (V.PC.career === "escort") {
-			V.trinkets.push("a copy of the first porno you starred in");
-		} else if (V.PC.career === "servant") {
-			V.trinkets.push("a framed picture of your late Master");
-		} else if (V.PC.career === "gang") {
-			V.trinkets.push("your favorite handgun, whose sight has instilled fear in many");
-		} else if (V.PC.career === "BlackHat") {
-			V.trinkets.push("a news clipping of your first successful live hack");
+		switch(V.PC.career) {
+			case "arcology owner":
+				V.trinkets.push("a miniature model of your first arcology");
+				repX(2000, "event");
+				break;
+			case "wealth":
+				V.trinkets.push("a collection of diplomas from expensive schools");
+				cashX(10000, "personalBusiness");
+				break;
+			case "trust fund":
+				V.trinkets.push("a diploma from your expensive boarding school");
+				cashX(8000, "personalBusiness");
+				break;
+			case "rich kid":
+				V.trinkets.push("an extensive collection of pricey Old World trading cards.");
+				cashX(6000, "personalBusiness");
+				break;
+			case "capitalist":
+			case "entrepreneur":
+			case "business kid":
+				V.trinkets.push("a framed low denomination piece of paper money from your native country");
+				break;
+			case "mercenary":
+				V.trinkets.push("a battered old assault rifle");
+				break;
+			case "recruit":
+				V.trinkets.push("a battered old pistol");
+				break;
+			case "child soldier":
+				V.trinkets.push("a combat knife");
+				break;
+			case "slaver":
+				V.trinkets.push("a framed picture of a slave with her sale price scrawled across the bottom");
+				break;
+			case "slave overseer":
+				V.trinkets.push("a framed picture of slave pens you used to lord over");
+				break;
+			case "slave tender":
+				V.trinkets.push("a framed picture of you hosing down a slave for market");
+				break;
+			case "engineer":
+				V.trinkets.push("an artist's impression of an early arcology design");
+				V.arcologyUpgrade.drones = 1;
+				V.arcologyUpgrade.hydro = 1;
+				if (V.secExpEnabled > 0) {
+					V.SecExp.units.bots = App.SecExp.unit.gen("bots");
+				}
+				break;
+			case "construction":
+				V.trinkets.push("the blueprints of a proto-arcology you helped construct");
+				V.arcologyUpgrade.drones = 1;
+				if (V.secExpEnabled > 0) {
+					V.SecExp.units.bots = App.SecExp.unit.gen("bots");
+				}
+			case "worksite helper":
+				V.trinkets.push("the hardhat you used to wear around worksites");
+				break;
+			case "medicine":
+				V.trinkets.push("a framed postsurgical x-ray");
+				V.surgeryCost = Math.trunc(V.surgeryCost / 2);
+				break;
+			case "medical assistant":
+				V.trinkets.push("your personal set of surgical tools");
+				V.surgeryCost = Math.trunc(V.surgeryCost / 2);
+				break;
+			case "nurse":
+				V.trinkets.push("a framed picture of you outside the clinic you worked in");
+				V.surgeryCost = Math.trunc(V.surgeryCost / 2);
+				break;
+			case "celebrity":
+				V.trinkets.push("a framed copy of the first news story featuring yourself");
+				repX(4000, "event");
+				break;
+			case "rising star":
+				V.trinkets.push("a framed poster of the first movie you starred in");
+				repX(3000, "event");
+				break;
+			case "child star":
+				V.trinkets.push("a copy of the movie that gave you fame");
+				repX(2000, "event");
+				break;
+			case "BlackHat":
+				V.trinkets.push("a news clipping of your first successful live hack");
+				break;
+			case "hacker":
+				V.trinkets.push("an old USB stick that ruined a corporation");
+				break;
+			case "script kiddy":
+				V.trinkets.push("a CD containing your first foray into scripting");
+				break;
+			case "escort":
+				V.trinkets.push("a copy of the first porno you starred in");
+				break;
+			case "prostitute":
+				V.trinkets.push("a nude pinup of you from the brothel you used to work in");
+				V.PC.boobsTat = "You have your ID number from your days as a prostitute tattooed on your left breast.";
+				break;
+			case "child prostitute":
+				V.trinkets.push("a pair of your used underwear");
+				V.PC.boobsTat = "You have your ID number from your days as a prostitute tattooed on your left breast.";
+				break;
+			case "servant":
+				V.trinkets.push("a framed picture of your late Master");
+				V.PC.boobsTat = "You have your Master's brand tattooed on your left breast.";
+				break;
+			case "handmaiden":
+				V.trinkets.push("a framed picture of your late Master's family");
+				V.PC.boobsTat = "You have your Master's brand tattooed on your left breast.";
+				break;
+			case "child servant":
+				V.trinkets.push("a framed picture of your late Master patting your head");
+				V.PC.boobsTat = "You have your Master's brand tattooed on your left breast.";
+				break;
+			case "gang":
+				V.trinkets.push("your favorite handgun, whose sight has instilled fear in many");
+				break;
+			case "hoodlum":
+				V.trinkets.push("a hood ornament stolen from a fancy Old World vehicle");
+				V.PC.shoulderTat = "You have a tattoo denoting your gang affiliation on your neck.";
+				break;
+			case "street urchin":
+				V.trinkets.push("your trusty knife, whose kept you safe many a night");
+				V.PC.shoulderTat = "You have a tattoo denoting your gang affiliation on your neck.";
+				break;
 		}
 
 		if (V.PC.rumor === "wealth") {
diff --git a/src/events/intro/introSummary.js b/src/events/intro/introSummary.js
index 1a2d27cbf306ef455dd495f79658350b9d6505c5..3dd66bb04df8dfa4cb273c0671fdeafb688a76cf 100644
--- a/src/events/intro/introSummary.js
+++ b/src/events/intro/introSummary.js
@@ -138,84 +138,366 @@ App.Intro.summary = function() {
 				() => {
 					if (V.freshPC === 1 || V.saveImported === 0) {
 						switch (V.PC.career) {
+							case "arcology owner":
+								V.PC.skill.trading = 100;
+								V.PC.skill.warfare = 100;
+								V.PC.skill.hacking = 100;
+								V.PC.skill.slaving = 100;
+								V.PC.skill.engineering = 100;
+								V.PC.skill.medicine = 100;
+								break;
 							case "wealth":
-							case "celebrity":
 								if (V.PC.vagina === 1) {
 									V.PC.vagina = 2;
 								}
+								V.PC.weight = 60;
+								V.PC.muscles = 0;
+								break;
+							case "trust fund":
+								V.PC.intelligenceImplant = 15;
+								V.PC.skill.warfare = -50;
+								V.PC.skill.slaving = -50;
+								V.PC.skill.engineering = -50;
+								V.PC.skill.medicine = -50;
+								V.PC.weight = 60;
+								V.PC.muscles = 0;
+								break;
+							case "rich kid":
+								V.PC.intelligenceImplant = 5;
+								V.PC.skill.trading = -25;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -100;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -25;
+								V.PC.weight = 60;
+								V.PC.muscles = 0;
 								break;
 							case "capitalist":
 								V.PC.skill.trading = 100;
+								V.PC.muscles = 0;
+								break;
+							case "entrepreneur":
+								V.PC.intelligenceImplant = 15;
+								V.PC.skill.trading = 50;
+								V.PC.skill.warfare = -25;
+								V.PC.skill.slaving = -25;
+								V.PC.skill.engineering = -25;
+								V.PC.skill.medicine = -25;
+								V.PC.muscles = 0;
+								break;
+							case "business kid":
+								V.PC.intelligenceImplant = 5;
+								V.PC.skill.warfare = -80;
+								V.PC.skill.slaving = -80;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -20;
+								V.PC.muscles = 0;
 								break;
 							case "mercenary":
 								V.PC.skill.warfare = 100;
+								V.PC.muscles = 50;
+								break;
+							case "recruit":
+								V.PC.intelligenceImplant = 15;
+								V.PC.skill.trading = -25;
+								V.PC.skill.warfare = 50;
+								V.PC.skill.slaving = -25;
+								V.PC.skill.engineering = -25;
+								V.PC.skill.medicine = -25;
+								V.PC.muscles = 40;
+								break;
+							case "child soldier":
+								V.PC.intelligenceImplant = 0;
+								V.PC.skill.trading = -100;
+								V.PC.skill.slaving = -80;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -80;
 								break;
 							case "slaver":
 								V.PC.skill.slaving = 100;
+								V.PC.muscles = 50;
+								break;
+							case "slave overseer":
+								V.PC.intelligenceImplant = 15;
+								V.PC.skill.trading = -20;
+								V.PC.skill.warfare = -20;
+								V.PC.skill.slaving = 50;
+								V.PC.skill.engineering = -25;
+								V.PC.skill.medicine = -20;
+								V.PC.muscles = 50;
+								break;
+							case "slave tender":
+								V.PC.intelligenceImplant = 0;
+								V.PC.skill.trading = -100;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -60;
+								V.PC.skill.hacking = -100;
+								V.PC.muscles = 10;
 								break;
 							case "engineer":
 								V.PC.skill.engineering = 100;
 								break;
+							case "construction":
+								V.PC.intelligenceImplant = 15;
+								V.PC.skill.trading = -25;
+								V.PC.skill.warfare = -50;
+								V.PC.skill.slaving = -25;
+								V.PC.skill.engineering = 50;
+								V.PC.skill.medicine = -25;
+								V.PC.skill.hacking = -20;
+								V.PC.muscles = 50;
+								break;
+							case "worksite helper":
+								V.PC.intelligenceImplant = 0;
+								V.PC.skill.trading = -80;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -100;
+								V.PC.skill.engineering = 0;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -100;
+								break;
 							case "medicine":
 								V.PC.skill.medicine = 100;
+								V.PC.muscles = 0;
+								break;
+							case "medical assistant":
+								V.PC.intelligenceImplant = 15;
+								V.PC.skill.trading = -25;
+								V.PC.skill.warfare = -50;
+								V.PC.skill.slaving = -25;
+								V.PC.skill.engineering = 50;
+								V.PC.skill.medicine = -25;
+								V.PC.skill.hacking = -20;
+								V.PC.muscles = 0;
+								break;
+							case "nurse":
+								V.PC.intelligenceImplant = 5;
+								V.PC.skill.trading = -100;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -100;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.hacking = -20;
+								V.PC.muscles = 0;
+								break;
+							case "celebrity":
+								if (V.PC.vagina === 1) {
+									V.PC.vagina = 2;
+								}
+								V.PC.muscles = -20;
+								break;
+							case "rising star":
+								V.PC.intelligenceImplant = 15;
+								V.PC.skill.trading = -50;
+								V.PC.skill.warfare = -50;
+								V.PC.skill.slaving = -50;
+								V.PC.skill.engineering = -50;
+								V.PC.skill.medicine = -50;
+								V.PC.muscles = -20;
+								break;
+							case "child star":
+								V.PC.intelligenceImplant = 0;
+								V.PC.skill.trading = -100;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -100;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -20;
+								V.PC.muscles = 0;
 								break;
 							case "BlackHat":
 								V.PC.skill.hacking = 100;
+								V.PC.muscles = -20;
 								break;
-							case "arcology owner":
-								V.PC.skill.trading = 100;
-								V.PC.skill.warfare = 100;
-								V.PC.skill.hacking = 100;
-								V.PC.skill.slaving = 100;
-								V.PC.skill.engineering = 100;
-								V.PC.skill.medicine = 100;
+							case "hacker":
+								V.PC.intelligenceImplant = 15;
+								V.PC.skill.trading = -50;
+								V.PC.skill.warfare = -50;
+								V.PC.skill.slaving = -50;
+								V.PC.skill.engineering = -50;
+								V.PC.skill.medicine = -50;
+								V.PC.skill.hacking = 50;
+								V.PC.muscles = -20;
+								break;
+							case "script kiddy":
+								V.PC.intelligenceImplant = 5;
+								V.PC.skill.trading = -80;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -80;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = 20;
+								V.PC.muscles = -20;
 								break;
 							case "escort":
-								if (V.PC.vagina === 1) {
+								if (V.PC.vagina >= 0) {
 									V.PC.vagina = 4;
 								}
 								V.PC.anus = 1;
 								V.PC.clothes = "a slutty outfit";
-								V.PC.education = 15;
+								V.PC.intelligenceImplant = 15;
 								V.PC.skill.trading = 50;
 								V.PC.skill.warfare = -100;
 								V.PC.skill.slaving = -100;
 								V.PC.skill.engineering = -100;
 								V.PC.skill.medicine = 10;
 								V.PC.skill.hacking = 10;
+								V.PC.muscles = 0;
+								break;
+							case "prostitute":
+								if (V.PC.vagina >= 0) {
+									V.PC.vagina = 3;
+								}
+								V.PC.anus = 1;
+								V.PC.clothes = "a slutty outfit";
+								V.PC.intelligenceImplant = 0;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -100;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -50;
+								V.PC.skill.hacking = -20;
+								V.PC.muscles = 0;
+								break;
+							case "child prostitute":
+								if (V.PC.vagina >= 0) {
+									V.PC.vagina = 2;
+								}
+								V.PC.anus = 1;
+								V.PC.clothes = "a slutty outfit";
+								V.PC.intelligenceImplant = 0;
+								V.PC.skill.trading = -50;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -100;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -80;
+								V.PC.muscles = -20;
 								break;
 							case "servant":
 								V.PC.clothes = "a nice maid outfit";
-								V.PC.education = 0;
-								if (V.PC.vagina === 1) {
+								V.PC.intelligenceImplant = 0;
+								if (V.PC.vagina >= 1) {
 									V.PC.vagina = 4;
 								}
+								if (V.PC.vagina >= 0) {
+									V.PC.geneticQuirks.fertility = 2;
+								}
 								V.PC.skill.trading = -100;
 								V.PC.skill.warfare = -100;
 								V.PC.skill.slaving = -100;
 								V.PC.skill.engineering = -100;
 								V.PC.skill.medicine = -100;
 								V.PC.skill.hacking = -100;
+								V.PC.muscles = 0;
+								V.PC.geneticQuirks.fertility = 1;
+								break;
+							case "handmaiden":
+								V.PC.clothes = "a nice maid outfit";
+								V.PC.intelligenceImplant = 0;
+								if (V.PC.vagina >= 1) {
+									V.PC.vagina = 3;
+								}
+								if (V.PC.vagina >= 0) {
+									V.PC.geneticQuirks.fertility = 2;
+								}
+								V.PC.skill.trading = -100;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -100;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -100;
+								V.PC.muscles = 0;
+								V.PC.geneticQuirks.fertility = 1;
+								break;
+							case "child servant":
+								V.PC.clothes = "a nice maid outfit";
+								V.PC.intelligenceImplant = 0;
+								if (V.PC.vagina >= 1) {
+									V.PC.vagina = 2;
+								}
+								if (V.PC.vagina >= 0) {
+									V.PC.geneticQuirks.fertility = 2;
+								}
+								V.PC.skill.trading = -100;
+								V.PC.skill.warfare = -100;
+								V.PC.skill.slaving = -100;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -100;
+								V.PC.muscles = 0;
+								V.PC.geneticQuirks.fertility = 1;
 								break;
 							case "gang":
 								if (V.PC.vagina === 1) {
 									V.PC.vagina = 2;
 								}
+								V.PC.intelligenceImplant = 15;
 								V.PC.skill.trading = 50;
 								V.PC.skill.warfare = 50;
 								V.PC.skill.slaving = 50;
 								V.PC.skill.engineering = -100;
-								V.PC.skill.medicine = 0;
 								V.PC.skill.hacking = 50;
+								V.PC.muscles = 60;
+								break;
+							case "hoodlum":
+								V.PC.intelligenceImplant = 0;
+								V.PC.skill.warfare = -20;
+								V.PC.skill.slaving = -20;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -50;
+								V.PC.skill.hacking = 0;
+								break;
+							case "street urchin":
+								V.PC.intelligenceImplant = 0;
+								V.PC.skill.trading = -20;
+								V.PC.skill.warfare = -40;
+								V.PC.skill.slaving = -80;
+								V.PC.skill.engineering = -100;
+								V.PC.skill.medicine = -100;
+								V.PC.skill.hacking = -100;
+								break;
 						}
+						if (V.PC.rumor === "diligence") {
+							V.PC.weight = 0;
+							if (V.PC.muscles < 30) {
+								V.PC.muscles += 20;
+							}
+						} else if (V.PC.rumor === "force") {
+							V.PC.muscles += 20;
+						}
+					}
+
+					if (V.PC.dick !== 0) {
+						V.PC.geneticQuirks.wellHung = 2;
+					} else {
+						V.PC.balls = 0;
+						V.PC.scrotum = 0;
+						V.PC.prostate = 0;
 					}
+					if (V.PC.title === 0) {
+						V.PC.hLength = 15;
+						V.PC.waist = -20;
+						V.PC.voice = 2;
+						V.PC.shoulders = -1;
+						V.PC.hips = 1;
+					}
+					if (V.PC.vagina === -1) {
+						V.PC.ovaries = 0;
+					} else if (V.PC.vagina > 0) {
+						V.PC.vaginaLube = 1;
+					}
+					V.PC.ovaryAge = V.PC.physicalAge;
+
 					if (V.saveImported === 1 && V.freshPC === 0 && V.PC.rules.living !== "luxurious") {
 						if (V.PC.rules.living === "spare") {
 							V.PC.rules.living = "normal";
 						} else {
 							V.PC.rules.living = "luxurious";
 						}
-					} else if (V.PC.career === "wealth" || V.PC.career === "celebrity") {
+					} else if (["wealth", "trust fund", "rich kid", "celebrity", "rising star", "child star"].includes(V.PC.career)) {
 						V.PC.rules.living = "normal";
 					} else {
 						V.PC.rules.living = "spare";
@@ -408,7 +690,8 @@ App.Intro.summary = function() {
 					.addValue("Africa").addCallback(() => V.language = "Arabic")
 					.addValue("Asia").addCallback(() => V.language = "Chinese")
 					.addValue("Australia").addCallback(() => V.language = "English")
-					.addValue("Japan").addCallback(() => V.language = "Japanese");
+					.addValue("Japan").addCallback(() => V.language = "Japanese")
+					.pulldown();
 			}
 
 			options.addOption("The lingua franca of your arcology is", "language")
diff --git a/src/events/intro/pcAppearance.js b/src/events/intro/pcAppearance.js
index 96b5024ccaee1d0cc7e6bd95e6ca3d56a2f23e11..8eedb327acdc323eb60c5d9ba4ce27e493eae0d2 100644
--- a/src/events/intro/pcAppearance.js
+++ b/src/events/intro/pcAppearance.js
@@ -2,8 +2,8 @@ App.UI.Player = {};
 
 App.UI.Player.appearance = function(options) {
 	options.addOption("Your nationality is", "nationality", V.PC).showTextBox()
-		.addValueList(Object.keys(App.Data.SlaveSummary.short.nationality))
-		.addComment("For best result capitalize it.");
+		.addValueList(App.Data.misc.baseNationalities)
+		.addComment("For best result capitalize it.").pulldown();
 
 	options.addOption("Your race is", "race", V.PC).showTextBox()
 		.addValueList(Array.from(setup.filterRaces, (k => [k, k.toLowerCase()])));
@@ -14,11 +14,11 @@ App.UI.Player.appearance = function(options) {
 	}
 
 	options.addOption("Your skin tone is", "skin", V.PC).showTextBox()
-		.addValueList(makeAList(setup.naturalSkins));
+		.addValueList(makeAList(App.Medicine.Modification.naturalSkins));
 
 	if (V.cheatMode) {
 		options.addOption("Your genetic skin tone is", "origSkin", V.PC).showTextBox()
-			.addValueList(makeAList(setup.naturalSkins));
+			.addValueList(makeAList(App.Medicine.Modification.naturalSkins));
 	}
 
 	options.addOption("Your body", "markings", V.PC)
diff --git a/src/events/randomEvent.js b/src/events/randomEvent.js
index 2762760c2dd46d7c119645cdded41c73b26d82a3..3bba2250cb378e4ba4199847794e5f042cd74ba2 100644
--- a/src/events/randomEvent.js
+++ b/src/events/randomEvent.js
@@ -50,6 +50,7 @@ App.Events.getIndividualEvents = function() {
 		new App.Events.RETSSiblingTussle(),
 		new App.Events.RETSSimpleAssault(),
 		new App.Events.RETSFucktoyPrefersRelative(),
+		new App.Events.RETSTopExhaustion(),
 	];
 };
 
diff --git a/src/events/scheduled/assholeKnight.tw b/src/events/scheduled/assholeKnight.tw
index 4868fa8e06d2d672a4b18d5c4430427543d44314..05d9a0cfa48c42442d941ed3ec7a99ddb71499da 100644
--- a/src/events/scheduled/assholeKnight.tw
+++ b/src/events/scheduled/assholeKnight.tw
@@ -20,33 +20,30 @@ This singular Knight has apparently been using their position to extort and bull
 <br>&nbsp;&nbsp;&nbsp;&nbsp;<<link "Have him publicly flogged, then enslaved">>
 	<<replace "#result">>
 	You have the insolent Knight's gear and weapons confiscated, then publicly flog him in the plaza and announce that he's to be enslaved for crimes against the people of $arcologies[0].name. Although the watching peasants are clearly @@.green;relieved@@ that the cruel bully is off the streets, some of them, those who did not feel the fist of the howling man on their own neck, @@.red;recoil@@ somewhat at the sudden brutality against a class that most of them idolize and romanticize.
-    <<run repX(1000, "event")>>
-    <<set $activeSlaveOneTimeMinAge = 22>>
-    <<set $activeSlaveOneTimeMaxAge = 34>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XY")>>
-	<<set $activeSlave.prestige = 1>>
-    <<set $activeSlave.prestigeDesc = "$He was formerly an Imperial Knight, a highly prestigious position indicating both nobility and exceptional combat prowess. Although $he has had $his coat of arms stripped, many still recognize $him from his former Knighthood.">>
-	<<set $activeSlave.origin = "$He used to be a Knight within your arcology, until you had $him stripped of $his title and summarily enslaved for cruelly abusing citizens beneath $his stature.">>
-	<<set $activeSlave.career = "spec ops">>
-    <<set $activeSlave.devotion = random(-80,-60)>>
-    <<set $activeSlave.muscles = random(50,75)>>
-    <<set $activeSlave.skill.combat = 1>>
-    <<set $activeSlave.behavioralFlaw = "malicious">>
-	<<set $activeSlave.behavioralQuirk = "none">>
-	<<set $activeSlave.trust = random(-30,-20)>>
-	<<set $activeSlave.boobs = 150>>
-	<<set $activeSlave.butt = random(0,1)>>
-	<<set $activeSlave.faceShape = "masculine">>
-	<<set $activeSlave.height = random(175,195)>>
-	<<set $activeSlave.fetish = "sadist">>
-	<<set $activeSlave.fetishStrength = 80>>
-	<<set $activeSlave.preg = 0>>
-	<<set $activeSlave.dick = random(3,5)>>
-	<<set $activeSlave.balls = random(2,4)>>
-	<<set $activeSlave.scrotum = $activeSlave.balls>>
-	<<set $activeSlave.prostate = 1>>
-	<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+	<<run repX(1000, "event")>>
+	<<set _slave = GenerateNewSlave("XY", {minAge: 22, maxAge: 34, disableDisability: 1})>>
+	<<set _slave.prestige = 1>>
+	<<set _slave.prestigeDesc = "$He was formerly an Imperial Knight, a highly prestigious position indicating both nobility and exceptional combat prowess. Although $he has had $his coat of arms stripped, many still recognize $him from his former Knighthood.">>
+	<<set _slave.origin = "$He used to be a Knight within your arcology, until you had $him stripped of $his title and summarily enslaved for cruelly abusing citizens beneath $his stature.">>
+	<<set _slave.career = "spec ops">>
+	<<set _slave.devotion = random(-80,-60)>>
+	<<set _slave.muscles = random(50,75)>>
+	<<set _slave.skill.combat = 1>>
+	<<set _slave.behavioralFlaw = "malicious">>
+	<<set _slave.behavioralQuirk = "none">>
+	<<set _slave.trust = random(-30,-20)>>
+	<<set _slave.boobs = 150>>
+	<<set _slave.butt = random(0,1)>>
+	<<set _slave.faceShape = "masculine">>
+	<<set _slave.height = random(175,195)>>
+	<<set _slave.fetish = "sadist">>
+	<<set _slave.fetishStrength = 80>>
+	<<set _slave.preg = 0>>
+	<<set _slave.dick = random(3,5)>>
+	<<set _slave.balls = random(2,4)>>
+	<<set _slave.scrotum = _slave.balls>>
+	<<set _slave.prostate = 1>>
+	<<includeDOM App.UI.newSlaveIntro(_slave)>>
 	<</replace>>
 <</link>>
 <br>&nbsp;&nbsp;&nbsp;&nbsp;<<link "Turn a blind eye">>
@@ -56,4 +53,4 @@ This singular Knight has apparently been using their position to extort and bull
     <<run repX(-2000, "event")>>
 	<</replace>>
 <</link>>
-</span>
+</span>
\ No newline at end of file
diff --git a/src/events/scheduled/murderAttempt.js b/src/events/scheduled/murderAttempt.js
index 2cec793ad25e113a322a1e4e4b5d022984c546fe..6f96ecc9ea567a749f3afe21388f8b4d69e35eac 100644
--- a/src/events/scheduled/murderAttempt.js
+++ b/src/events/scheduled/murderAttempt.js
@@ -5,7 +5,7 @@ App.Events.murderAttempt = function() {
 	V.nextButton = " ";
 	App.Utils.updateUserButton();
 	const nextPassage = "Random Nonindividual Event";
-	const perceptiveCareers = ["mercenary", "gang", "escort"];
+	const perceptiveCareers = ["mercenary", "gang", "hoodlum", "street urchin", "escort", "prostitute"];
 	// event unique
 	const variation = jsEither(["trade", "slave", "drug", "military"]);
 	let isSincere = Math.random() > 0.6;
@@ -106,7 +106,7 @@ App.Events.murderAttempt = function() {
 
 		let r = [];
 		r.push(`${capFirstChar(V.assistant.name)} schedules a meeting a few days later to take place in your personal office, an oddity given these meetings are usually conducted in a more neutral, albeit less secure location, but ${companyName} insisted on it.`);
-		if (["capitalist", "mercenary", "slaver", "engineer", "escort"].includes(V.PC.career)) {
+		if (["capitalist", "mercenary", "recruit", "slaver", "slave overseer", "engineer", "escort"].includes(V.PC.career)) {
 			r.push("You should prepare for anything; it's better to be prepared in case something goes awry.");
 		} else {
 			r.push("You can't really complain; it's easier for you and cheaper should nothing come of it.");
diff --git a/src/facilities/bodyModification/bodyModification.js b/src/facilities/bodyModification/bodyModification.js
index 96ec38bc8c26a8acdfae6c6a872ece274ec4c163..93e3be757f1c1fa864bbd37018aa0e28c5c1aa97 100644
--- a/src/facilities/bodyModification/bodyModification.js
+++ b/src/facilities/bodyModification/bodyModification.js
@@ -12,11 +12,12 @@ App.UI.bodyModification = function(slave, cheat = false) {
 	} = getPronouns(slave);
 	Enunciate(slave);
 	let piercingLevel;
-	let modReaction;
-	let scarApplied;
-	let tattooChoice;
-	let brandApplied;
-	let degradation;
+	let modReaction = "";
+	/** @type {string|0} */
+	let tattooChoice = "";
+	let scarApplied = false;
+	let brandApplied = false;
+	let degradation = 0;
 
 	container.append(createPage());
 	return container;
@@ -40,7 +41,7 @@ App.UI.bodyModification = function(slave, cheat = false) {
 	function intro() {
 		const el = new DocumentFragment();
 		App.UI.DOM.appendNewElement("h1", el, "Body Modification Studio");
-		App.UI.DOM.appendNewElement("div", el, `${SlaveFullName(slave)} is lying strapped down on the table in your body modification studio. ${He} is entirely at your mercy.`);
+		App.UI.DOM.appendNewElement("div", el, `${SlaveFullName(slave)} is lying strapped down on the table in your body modification studio. ${He} is entirely at your mercy.`, "scene-intro");
 		return el;
 	}
 
@@ -187,9 +188,9 @@ App.UI.bodyModification = function(slave, cheat = false) {
 				}
 				if (modReaction) {
 					r.push(modReaction);
-					modReaction = false;
 				}
 			}
+			modReaction = "";
 		}
 		App.Events.addNode(el, r, "p");
 		return el;
@@ -203,7 +204,11 @@ App.UI.bodyModification = function(slave, cheat = false) {
 		App.UI.DOM.appendNewElement("h2", el, "Piercings");
 
 		for (const piercing of piercingLocations.concat(["chastity"])) {
-			r.push(App.UI.DOM.makeElement("div", App.Desc.piercing(slave, piercing)));
+			if (piercing === "nipples") {
+				r.push(App.UI.DOM.makeElement("div", App.Desc.piercing(slave, "nipple"))); // This is stupid, but the variable is slave.nipplesPiercing, plural nipples, but in almost all other places we refer to plural body parts as singular (eyebrow, ear, nose, etc).
+			} else {
+				r.push(App.UI.DOM.makeElement("div", App.Desc.piercing(slave, piercing)));
+			}
 		}
 		if (r.length === 0) {
 			r.push(App.UI.DOM.makeElement("div", `${His} smooth ${slave.skin} skin is completely unpierced.`));
@@ -243,7 +248,7 @@ App.UI.bodyModification = function(slave, cheat = false) {
 		let validPiercingLocations = Array.from(piercingLocations);
 
 		if (piercingLevel !== 0) { // Sometimes a piercing winds up in a place that is no longer valid.  Make sure players can always remove an existing piercing.
-			if (slave.nipples !== "fuckable") {
+			if (slave.nipples === "fuckable") {
 				removePiercingLocation("nipples");
 			}
 
@@ -278,7 +283,6 @@ App.UI.bodyModification = function(slave, cheat = false) {
 				App.UI.DOM.link(
 					"Entire body",
 					() => {
-						modReaction = "";
 						for (const location of validPiercingLocations) {
 							if (slave[`${location}Piercing`] !== piercingLevel) {
 								modReaction += App.Medicine.Modification.setPiercing(slave, location, piercingLevel);
@@ -299,8 +303,7 @@ App.UI.bodyModification = function(slave, cheat = false) {
 						App.UI.DOM.link(
 							capFirstChar(location),
 							() => {
-								modReaction = "";
-								modReaction += App.Medicine.Modification.setPiercing(slave, location, piercingLevel);
+								modReaction = App.Medicine.Modification.setPiercing(slave, location, piercingLevel);
 								if (piercingLevel > 1) {
 									degradation += 1;
 								}
@@ -354,13 +357,17 @@ App.UI.bodyModification = function(slave, cheat = false) {
 			["vagina", "vagina"],
 			["dick", "dick"],
 			["anus", "anus"],
-			["thigh", "legs"]
+			["leg", "legs"]
 		]);
 		// DESCRIPTIONS
 		App.UI.DOM.appendNewElement("h2", el, "Tattoos");
 
 		for (const name of tattooLocations.keys()) {
-			r.push(App.UI.DOM.makeElement("div", App.Desc.tattoo(slave, name)));
+			if (name === "leg") {
+				r.push(App.UI.DOM.makeElement("div", App.Desc.tattoo(slave, "thigh")));
+			} else {
+				r.push(App.UI.DOM.makeElement("div", App.Desc.tattoo(slave, name)));
+			}
 		}
 		if (r.length === 0) {
 			r.push(App.UI.DOM.makeElement("div", `${His} smooth ${slave.skin} skin is completely unmarked.`));
@@ -387,7 +394,7 @@ App.UI.bodyModification = function(slave, cheat = false) {
 			"possessive",
 			"paternalist",
 		]);
-		if (slave.anusTat !== 0) {
+		if (slave.anusTat === 0) {
 			tattooChoiceNames.add("bleached");
 		}
 		let linkArray = [];
@@ -433,10 +440,6 @@ App.UI.bodyModification = function(slave, cheat = false) {
 
 			if (!hasAnyNaturalArms(slave)) {
 				removeTattooLocation("thigh");
-			} else {
-				// There is a disagreement between description and application if we are talking about the leg or thigh.  Switch to leg now for application.
-				const index = validTattooLocations.indexOf("thigh");
-				validTattooLocations.splice(index, 1, "leg");
 			}
 
 			if (slave.dick === 0 || tattooChoice === "scenes") {
@@ -468,7 +471,6 @@ App.UI.bodyModification = function(slave, cheat = false) {
 				App.UI.DOM.link(
 					"Entire body",
 					() => {
-						modReaction = "";
 						for (const location of validTattooLocations) {
 							if (slave[`${location}tattoo`] !== tattooChoice) {
 								applyTat(location);
@@ -481,12 +483,11 @@ App.UI.bodyModification = function(slave, cheat = false) {
 		}
 		// Each individual tattoo
 		for (const location of validTattooLocations) {
-			if (slave[`${location}tattoo`] !== tattooChoice) {
+			if (slave[`${tattooLocations.get(location)}Tat`] !== tattooChoice) {
 				linkArray.push(
 					App.UI.DOM.link(
 						capFirstChar(location),
 						() => {
-							modReaction = "";
 							applyTat(location);
 							refresh();
 						}
@@ -523,47 +524,45 @@ App.UI.bodyModification = function(slave, cheat = false) {
 
 		function oddTattoos() {
 			const el = new DocumentFragment();
-			let linkArray;
+			let linkArray = [];
 			let r = [];
+
+			// Has tat, display option to remove
+			if (slave.bellyTat !== 0) {
+				r.push(`${His} navel is tattooed with ${slave.bellyTat}.`);
+				linkArray.push(
+					App.UI.DOM.link(
+						"Remove tattoos",
+						() => {
+							tattooChoice = 0;
+							modReaction += App.Medicine.Modification.setTattoo(slave, "belly", tattooChoice);
+							refresh();
+						}
+					)
+				);
+			}
+
 			if (slave.belly >= 10000 && slave.bellyPreg < 450000 && slave.bellyFluid < 5000) {
-				if (slave.bellyTat === 0) {
-					r.push(`${He} has no navel tattoos.`);
-				} else {
-					r.push(`${His} navel is tattooed with ${slave.bellyTat}.`);
-				}
 				if (slave.bellyTat === 0) {
 					const bellyTats = new Map([
 						["Heart", "a heart"],
 						["Star", "a star"],
 						["Butterfly", "a butterfly"],
 					]);
-					linkArray = [];
+					r.push(`${He} has no navel tattoos.`);
 					for (const [title, value] of bellyTats) {
 						linkArray.push(
 							App.UI.DOM.link(
 								title,
 								() => {
 									tattooChoice = value;
-									applyTat("belly");
+									modReaction += App.Medicine.Modification.setTattoo(slave, "belly", tattooChoice);
 									refresh();
 								}
 							)
 						);
 					}
 				}
-				if (slave.bellyTat !== 0) {
-					linkArray.push(
-						App.UI.DOM.link(
-							"Remove tattoos",
-							() => {
-								tattooChoice = 0;
-								applyTat("belly");
-								refresh();
-							}
-						)
-					);
-				}
-				r.push(App.UI.DOM.generateLinksStrip(linkArray));
 			} else if (slave.bellyPreg >= 450000) {
 				r.push(`${His} middle is large and taut enough to be a suitable canvas for a navel focused tattoo, but ${his} brood is too active to permit the needle to do its work.`);
 			} else if (slave.bellyFluid >= 10000) {
@@ -571,6 +570,7 @@ App.UI.bodyModification = function(slave, cheat = false) {
 			} else {
 				r.push(`${His} middle isn't large enough to be a suitable canvas for a navel focused tattoo.`);
 			}
+			r.push(App.UI.DOM.generateLinksStrip(linkArray));
 			App.Events.addNode(el, r, "div");
 
 			r = [];
@@ -790,7 +790,7 @@ App.UI.bodyModification = function(slave, cheat = false) {
 				App.UI.DOM.link(
 					"Remove Scar",
 					() => {
-						scarApplied = 0;
+						scarApplied = false;
 						delete slave.scar[_scarName];
 						billSurgery();
 						degradation -= 10;
@@ -953,7 +953,7 @@ App.UI.bodyModification = function(slave, cheat = false) {
 						"left",
 						() => {
 							V.scarTarget.local = _leftTarget;
-							scarApplied = 1;
+							scarApplied = true;
 							App.Medicine.Modification.addScar(slave, _leftTarget, V.scarDesign.local);
 							billMod();
 							degradation += 10;
@@ -975,7 +975,7 @@ App.UI.bodyModification = function(slave, cheat = false) {
 						"right",
 						() => {
 							V.scarTarget.local = _rightTarget;
-							scarApplied = 1;
+							scarApplied = true;
 							App.Medicine.Modification.addScar(slave, _rightTarget, V.scarDesign.local);
 							billSurgery();
 							degradation += 10;
@@ -1032,7 +1032,7 @@ App.UI.bodyModification = function(slave, cheat = false) {
 							}
 						}
 						billMod();
-						scarApplied = 1;
+						scarApplied = true;
 						degradation += 10;
 						refresh();
 					}
@@ -1049,10 +1049,6 @@ App.UI.bodyModification = function(slave, cheat = false) {
 		const el = new DocumentFragment();
 		let p = document.createElement('p');
 		let div = document.createElement('div');
-		const {
-			him, He,
-			his, His
-		} = getPronouns(slave);
 
 		App.UI.DOM.appendNewElement("h2", el, "Branding");
 
diff --git a/src/facilities/farmyard/food/pFoodCrisis.tw b/src/facilities/farmyard/food/pFoodCrisis.tw
index cbf28f977c7187b82d3a0ec4cec725be03061e2f..1e34af8d9ea6758b107226b09844e9c63a8186f7 100644
--- a/src/facilities/farmyard/food/pFoodCrisis.tw
+++ b/src/facilities/farmyard/food/pFoodCrisis.tw
@@ -4,9 +4,9 @@
 
 <<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event">>
 
-<<if ($PC.skill.trading >= 100) || ($PC.career == "capitalist")>>
+<<if ($PC.skill.trading >= 100) || ($PC.career == "capitalist" || $PC.career == "entrepreneur" || $PC.career == "business kid")>>
 	<<set _price = 2500>>
-<<elseif ($PC.skill.trading >= 50) || ($PC.career == "capitalist")>>
+<<elseif ($PC.skill.trading >= 50) || ($PC.career == "capitalist" || $PC.career == "entrepreneur" || $PC.career == "business kid")>>
 	<<set _price = 5000>>
 <<else>>
 	<<set _price = 10000>>
@@ -32,7 +32,7 @@
 		<<set $rations = 2>>
 		<</replace>>
 	<</link>>
-	<<if ($PC.skill.trading >= 50) || ($PC.career == "capitalist")>>//This will cost <<print cashFormat(_price*2)>> and some upkeep, @@.springgreen;reduced by your knowledge of trading@@//<<else>>//This will cost <<print cashFormat(_price*2)>> and incur significant upkeep costs//<</if>>
+	<<if ($PC.skill.trading >= 50) || ($PC.career == "capitalist" || $PC.career == "entrepreneur" || $PC.career == "business kid")>>//This will cost <<print cashFormat(_price*2)>> and some upkeep, @@.springgreen;reduced by your knowledge of trading@@//<<else>>//This will cost <<print cashFormat(_price*2)>> and incur significant upkeep costs//<</if>>
 	<br><<link "Give them enough to survive on">>
 		<<replace "#result">>
 		You have your own problems to deal with, but that doesn't mean you don't look out for your own. You have a number of rationing stations set up throughout $arcologies[0].name and announce that each citizen is entitled to two full meals a day, just enough for your citizens not to starve. Your citizens are @@.green;happy@@ to hear that their leader is looking out for them.
@@ -41,7 +41,7 @@
 		<<set $rations = 1>>
 		<</replace>>
 	<</link>>
-	<<if ($PC.skill.trading >= 50) || ($PC.career == "capitalist")>>//This will cost <<print cashFormat(_price)>> and some upkeep, @@.springgreen;reduced by your knowledge of trading@@//<<else>>//This will cost <<print cashFormat(_price)>> and incur significant upkeep costs//<</if>>
+	<<if ($PC.skill.trading >= 50) || ($PC.career == "capitalist" || $PC.career == "entrepreneur" || $PC.career == "business kid")>>//This will cost <<print cashFormat(_price)>> and some upkeep, @@.springgreen;reduced by your knowledge of trading@@//<<else>>//This will cost <<print cashFormat(_price)>> and incur significant upkeep costs//<</if>>
 	<br><<link "They can figure their problem out on their own">>
 		<<replace "#result">>
 		You have your own problems to deal with, and you simply can't afford to drop everything and solve theirs at the moment. That you can't take care of your arcology's citizen @@.red;reflects poorly on you.@@
@@ -65,7 +65,7 @@
 		<<set $rations = 4>>
 		<</replace>>
 	<</link>>
-	<<if ($PC.skill.trading >= 50) || ($PC.career == "capitalist")>>//This will cost <<print cashFormat(_price*2)>> and some upkeep, @@.springgreen;reduced by your knowledge of trading@@//<<else>>//This will cost <<print cashFormat(_price*2)>> and incur significant upkeep costs//<</if>>
+	<<if ($PC.skill.trading >= 50) || ($PC.career == "capitalist" || $PC.career == "entrepreneur" || $PC.career == "business kid")>>//This will cost <<print cashFormat(_price*2)>> and some upkeep, @@.springgreen;reduced by your knowledge of trading@@//<<else>>//This will cost <<print cashFormat(_price*2)>> and incur significant upkeep costs//<</if>>
 	<br><<link "Provide them with enough sustenance to survive on too">>
 		<<replace "#result">>
 		As much as you'd like to provide them with all of the food in the world, it simply is not feasible in your current situation. Therefore, you announce to the leaders that you will provide them only enough rations to live off of. The leaders understand, and are @@.green;pleased@@ to hear that you would provide for them at all.
@@ -74,7 +74,7 @@
 		<<set $rations = 3>>
 		<</replace>>
 	<</link>>
-	<<if ($PC.skill.trading >= 50) || ($PC.career == "capitalist")>>//This will cost <<print cashFormat(_price)>> and some upkeep, @@.springgreen;reduced by your knowledge of trading@@//<<else>>//This will cost <<print cashFormat(_price)>> and incur significant upkeep costs//<</if>>
+	<<if ($PC.skill.trading >= 50) || ($PC.career == "capitalist" || $PC.career == "entrepreneur" || $PC.career == "business kid")>>//This will cost <<print cashFormat(_price)>> and some upkeep, @@.springgreen;reduced by your knowledge of trading@@//<<else>>//This will cost <<print cashFormat(_price)>> and incur significant upkeep costs//<</if>>
 	<br><<link "Change your mind about giving out any rations at all">>
 		<<replace "#result">>
 		Having given the people rations at all was a mistake, you think to yourself. You have a great number of your own problems to deal with, and providing rations to everyone that can't afford food is putting an unnecessary strain on your own situation. With this is mind, you tell the leaders that you simply can't help them at this time, and have decided that you can't help anyone with food at all. The citizens are understandably @@.red;angry@@ that you would go back on your word.
@@ -103,7 +103,7 @@
 		<<unset $rations>>
 		<</replace>>
 	<</link>>
-	<<if ($PC.skill.trading >= 50) || ($PC.career == "capitalist")>>//This will cost an initial investment of <<print cashFormat(_price*5)>>, @@.springgreen;reduced by your knowledge of trading@@//<<else>>//This will cost an initial investment of <<print cashFormat(_price*5)>>//<</if>>
+	<<if ($PC.skill.trading >= 50) || ($PC.career == "capitalist" || $PC.career == "entrepreneur" || $PC.career == "business kid")>>//This will cost an initial investment of <<print cashFormat(_price*5)>>, @@.springgreen;reduced by your knowledge of trading@@//<<else>>//This will cost an initial investment of <<print cashFormat(_price*5)>>//<</if>>
 	<br><<link "Politely decline their offer, but continue giving them rations">>
 		<<replace "#result">>
 		Things have been going fairly well for you, but not //that// well — setting up an entirely new place to buy, sell, and store food would no doubt be an expensive undertaking. You tell the citizens that while you can't spare the resources to create a new market at the moment, you will honor your past agreement and continue giving them free rations. The people initially seem a bit disappointed that you don't seem to want to expand $arcologies[0].name, but are ultimately @@.green;glad@@ to hear that you'll continue taking care of them.
@@ -112,7 +112,7 @@
 		<<set $rations = 5>>
 		<</replace>>
 	<</link>>
-	<<if ($PC.skill.trading >= 50) || ($PC.career == "capitalist")>>//This will cost <<print cashFormat(_price)>> and some upkeep, @@.springgreen;reduced by your knowledge of trading@@//<<else>>//This will cost <<print cashFormat(_price)>> and incur significant upkeep costs//<</if>>
+	<<if ($PC.skill.trading >= 50) || ($PC.career == "capitalist" || $PC.career == "entrepreneur" || $PC.career == "business kid")>>//This will cost <<print cashFormat(_price)>> and some upkeep, @@.springgreen;reduced by your knowledge of trading@@//<<else>>//This will cost <<print cashFormat(_price)>> and incur significant upkeep costs//<</if>>
 	<br><<link "Turn down their offer and end rationing completely">>
 		<<replace "#result">>
 		While a new place to buy, sell, and store food in $arcologies[0].name would most likely come in quite handy in the future, you ultimately decide that you simply cannot spare the resources required. In fact, giving rations at all was a costly venture, and after not having seen any sort of return-on-investment, you decide that you are unable to continue giving out rations anymore. Your citizens are @@.red;angry@@ at the fact that you seem not to care about them at all, but that's their problem.
diff --git a/src/facilities/fsDecoration.js b/src/facilities/fsDecoration.js
index 56ae1ec98b48f22ecd192c9998518af9d958aa23..b937b06c90caf3aef67c299a4f7f0affdeb39164 100644
--- a/src/facilities/fsDecoration.js
+++ b/src/facilities/fsDecoration.js
@@ -1,29 +1,267 @@
 /** Replaces <<SetFacilityDecoration>> widget
- * @param {string} variable - global property name for the facility decoration (no $ etc)
  * @returns {DocumentFragment}
  */
-App.UI.facilityRedecoration = function(variable) {
-	const frag = new DocumentFragment();
+App.UI.facilityRedecoration = function() {
+	const el = new DocumentFragment();
+	const activeFacilities = new Map([]);
+	const options = new App.UI.OptionsGroup();
 	const arc = V.arcologies[0];
-	for (const FS of FutureSocieties.activeFSes(arc)) {
-		if (arc[FS] > 20) {
-			const decorationName = FutureSocieties.decorationName(FS);
-			if (decorationName && V[variable] !== decorationName) {
-				const link = App.UI.DOM.link(`${decorationName} Redecoration`, () => {
-					V[variable] = decorationName;
-					cashX(-5000, "capEx");
-					App.UI.reload();
-				});
-				App.UI.DOM.appendNewElement("div", frag, link, "indent");
+
+	FutureSocieties.DecorationCleanup();
+
+	const applicableFS = FutureSocieties.activeFSes(arc).filter(name => (arc[name] > 20));
+	const decorationNames =  Array.from(applicableFS, FS => FutureSocieties.decorationName(FS)).filter(Boolean);
+
+	if (V.brothel > 0) {
+		activeFacilities.set(V.brothelName, "brothelDecoration");
+	}
+
+	if (V.club > 0) {
+		activeFacilities.set(V.clubName, "clubDecoration");
+	}
+
+	if (V.dairy > 0) {
+		activeFacilities.set(V.dairyName, "dairyDecoration");
+	}
+
+	if (V.farmyard > 0) {
+		activeFacilities.set(V.farmyardName, "farmyardDecoration");
+	}
+
+	if (V.spa > 0) {
+		activeFacilities.set(V.spaName, "spaDecoration");
+	}
+
+	if (V.nursery > 0) {
+		activeFacilities.set(V.nurseryName, "nurseryDecoration");
+	}
+
+	if (V.clinic > 0) {
+		activeFacilities.set(V.clinicName, "clinicDecoration");
+	}
+
+	if (V.schoolroom > 0) {
+		activeFacilities.set(V.schoolroomName, "schoolroomDecoration");
+	}
+
+	if (V.cellblock > 0) {
+		activeFacilities.set(V.cellblockName, "cellblockDecoration");
+	}
+
+	if (V.servantsQuarters > 0) {
+		activeFacilities.set(V.servantsQuartersName, "servantsQuartersDecoration");
+	}
+
+	if (V.arcade > 0) {
+		activeFacilities.set(V.arcadeName, "arcadeDecoration");
+	}
+
+	if (V.masterSuite > 0) {
+		activeFacilities.set(V.masterSuiteName, "masterSuiteDecoration");
+	}
+
+	options.addOption(`Change style for all facilities`)
+		.addCustomDOM(modifyAll());
+
+	for (const [name, decoration] of activeFacilities) {
+		options.addOption(`The decoration style of ${name} is`)
+			.addCustomDOM(createPulldown(decoration));
+	}
+	el.append(options.render());
+
+	return el;
+
+	function createPulldown(variable) {
+		const select = document.createElement("select");
+		select.classList.add("rajs-list");
+
+		// Standard decorations
+		const choice = App.UI.DOM.appendNewElement("option", select, "Standard");
+		choice.value = "standard";
+		if (V[variable] === "standard") {
+			choice.selected = true;
+		}
+
+		// FS decorations
+		for (const decorationName of decorationNames) {
+			const choice = App.UI.DOM.makeElement("option", decorationName);
+			if (V[variable] === decorationName) {
+				choice.selected = true;
 			}
+			select.append(choice);
 		}
+
+		select.onchange = () => {
+			const O = select.options[select.selectedIndex];
+			if (O.value !== "standard") {
+				cashX(-5000, "capEx");
+			}
+			V[variable] = O.value;
+			App.UI.reload();
+		};
+		return select;
 	}
-	if (V[variable] !== "standard") {
-		const link = App.UI.DOM.link(`Remove all decorations`, () => {
-			V[variable] = "standard";
+
+	function modifyAll() {
+		const select = document.createElement("select");
+		select.classList.add("rajs-list");
+
+		// Standard decorations
+		const standard = App.UI.DOM.appendNewElement("option", select, "Standard");
+		standard.value = "standard";
+
+		// FS decorations
+		for (const decorationName of decorationNames) {
+			App.UI.DOM.appendNewElement("option", select, decorationName);
+		}
+
+		// Round Robin
+		App.UI.DOM.appendNewElement("option", select, "Distribute Evenly");
+
+		select.onchange = () => {
+			const O = select.options[select.selectedIndex];
+			if (O.value === "Distribute Evenly") { // Cycles through the list of available FS decorations, and distributes them to facilities round robin style.
+				let i = 0;
+				for (const decoration of activeFacilities.values()) {
+					cashX(-5000, "capEx");
+					V[decoration] = decorationNames[i];
+					i++;
+					if (i >= decorationNames.length) {
+						i = 0;
+					}
+				}
+			} else {
+				for (const decoration of activeFacilities.values()) {
+					if (O.value !== "standard") {
+						cashX(-5000, "capEx");
+					}
+					V[decoration] = O.value;
+				}
+			}
 			App.UI.reload();
-		});
-		App.UI.DOM.appendNewElement("div", frag, link, "indent");
+		};
+		select.selectedIndex = -1;
+		return select;
+	}
+};
+
+/**
+ *
+ * @param {FC.FutureSociety} FS
+ * @param {Array} [items]
+ * @returns {HTMLElement}
+ */
+App.UI.FSChangeDecoration = function(FS, items = []) {
+	const el = document.createElement("div");
+	el.classList.add("indent");
+	const FSDecoration = FS + "Decoration";
+	let costs;
+	switch (V.arcologies[0][FSDecoration]) {
+		case 20:
+			costs = 2500;
+			el.append(`${V.arcologies[0].name} is not customized to support this goal. `);
+			if (V.arcologies[0][FS] >= 10) {
+				el.append(
+					App.UI.DOM.link(
+						`Modify your arcology's internal media to support this goal`,
+						() => {
+							V.arcologies[0][FSDecoration] = 40;
+							cashX(forceNeg(costs), "capEx");
+						},
+						[],
+						"Future Society",
+						`Costs ${cashFormat(costs)}`
+					),
+				);
+			} else {
+				el.append(`You must advance this goal before customization to support it becomes available. `);
+			}
+			break;
+		case 40:
+			el.append(`${V.arcologies[0].name}'s media is supporting this goal. `);
+			if (V.arcologies[0][FS] >= 30) {
+				costs = 10000;
+				el.append(
+					App.UI.DOM.link(
+						`Redecorate your arcology's public spaces to support this goal`,
+						() => {
+							V.arcologies[0][FSDecoration] = 60;
+							cashX(forceNeg(costs), "capEx");
+						},
+						[],
+						"Future Society",
+						`Costs ${cashFormat(costs)}`
+					),
+				);
+			} else {
+				el.append(`You must advance this goal before further customization to support it becomes available. `);
+			}
+			break;
+		case 60:
+			el.append(`${V.arcologies[0].name}'s media is supporting this goal, and ${V.arcologies[0].name}'s public spaces are decorated to support it too. `);
+			if (V.arcologies[0][FS] >= 50) {
+				costs = 10000;
+				el.append(
+					App.UI.DOM.link(
+						`Station slaves in your arcology's public spaces to promote this goal`,
+						() => {
+							V.arcologies[0][FSDecoration] = 80;
+							cashX(forceNeg(costs), "capEx");
+						},
+						[],
+						"Future Society",
+						`Costs ${cashFormat(costs)}`
+					),
+				);
+			} else {
+				el.append(`You must advance this goal before further customization to support it becomes available. `);
+			}
+			break;
+		case 80:
+			el.append(`${V.arcologies[0].name}'s media is supporting this goal; ${V.arcologies[0].name}'s public spaces are decorated to support it, and have slaves stationed in them to support it too. `);
+			if (V.arcologies[0][FS] >= 70) {
+				if (FS === "FSRestart") {
+					costs = 75000;
+					el.append(
+						App.UI.DOM.link(
+							`Customize the exterior of the arcology to support this goal and fully establish the Societal Elite`,
+							() => {
+								V.arcologies[0][FSDecoration] = 100;
+								V.upgradeMultiplierArcology = upgradeMultiplier('engineering');
+								V.upgradeMultiplierMedicine = upgradeMultiplier('medicine');
+								for (const item of items) {
+									_.set(V, item, 1);
+								}
+							},
+							[],
+							"Future Society",
+							`Costs ${cashFormat(costs)}`
+						),
+					);
+				} else {
+					costs = 10000;
+					el.append(
+						App.UI.DOM.link(
+							`Customize the exterior of the arcology to support this goal`,
+							() => {
+								V.arcologies[0][FSDecoration] = 100;
+								cashX(forceNeg(costs), "capEx");
+								for (const item of items) {
+									_.set(V, item, 1);
+								}
+							},
+							[],
+							"Future Society",
+							`Costs ${cashFormat(costs)}`
+						),
+					);
+				}
+			} else {
+				el.append(`You must advance this goal before further customization to support it becomes available. `);
+			}
+			break;
+		case 100:
+			el.append(`${V.arcologies[0].name}'s media is supporting this goal; ${V.arcologies[0].name}'s public spaces are decorated to support it, and have slaves stationed in them to support it. The exterior of the arcology has been remodeled to support it as well; the arcology is fully customized for this goal. `);
 	}
-	return frag;
+	return el;
 };
diff --git a/src/facilities/fsPassage.js b/src/facilities/fsPassage.js
new file mode 100644
index 0000000000000000000000000000000000000000..86fda835310939f6dd3581be857dc52f43834da3
--- /dev/null
+++ b/src/facilities/fsPassage.js
@@ -0,0 +1,1346 @@
+App.UI.FSPassage = function() {
+	const el = new DocumentFragment();
+	const arc = V.arcologies[0];
+	V.FSReminder = 0;
+	const _FSCredits = FutureSocieties.availCredits();
+	setup();
+
+	if (V.cheatMode) {
+		App.UI.DOM.appendNewElement("div", el, App.UI.DOM.link(
+			"Cheat Edit Future Society",
+			() => {
+				V.cheater = 1;
+			},
+			[],
+			"MOD_Edit FS Cheat"
+		));
+	}
+
+	el.append(overview());
+	el.append(FSPerception());
+	el.append(unlocks());
+	el.append(spending());
+	el.append(rename());
+	el.append(selectFS());
+
+	return el;
+
+	/**
+	 * FIRST FS STORING FOR RIVALRY
+	 */
+	function setup() {
+		if (V.rivalryFS === 0) {
+			if (arc.FSSubjugationist !== "unset") {
+				V.rivalryFS = "Racial Subjugationism";
+				V.rivalryFSRace = arc.FSSubjugationistRace;
+			}
+			if (arc.FSSupremacist !== "unset") {
+				V.rivalryFS = "Racial Supremacism";
+				V.rivalryFSRace = arc.FSSupremacistRace;
+			}
+			if (arc.FSGenderRadicalist !== "unset") {
+				V.rivalryFS = "Gender Radicalism";
+			} else if (arc.FSGenderFundamentalist !== "unset") {
+				V.rivalryFS = "Gender Fundamentalism";
+			}
+			if (arc.FSRepopulationFocus !== "unset") {
+				V.rivalryFS = "Repopulation Focus";
+			} else if (arc.FSRestart !== "unset") {
+				V.rivalryFS = "Eugenics";
+			}
+			if (arc.FSPaternalist !== "unset") {
+				V.rivalryFS = "Paternalism";
+			} else if (arc.FSDegradationist !== "unset") {
+				V.rivalryFS = "Degradationism";
+			}
+			if (arc.FSBodyPurist !== "unset") {
+				V.rivalryFS = "Body Purism";
+			} else if (arc.FSTransformationFetishist !== "unset") {
+				V.rivalryFS = "Transformation Fetishism";
+			}
+			if (arc.FSYouthPreferentialist !== "unset") {
+				V.rivalryFS = "Youth Preferentialism";
+			} else if (arc.FSMaturityPreferentialist !== "unset") {
+				V.rivalryFS = "Maturity Preferentialism";
+			}
+			if (arc.FSSlimnessEnthusiast !== "unset") {
+				V.rivalryFS = "Slimness Enthusiasm";
+			} else if (arc.FSAssetExpansionist !== "unset") {
+				V.rivalryFS = "Asset Expansionism";
+			}
+			if (arc.FSPastoralist !== "unset") {
+				V.rivalryFS = "Pastoralism";
+			} else if (arc.FSCummunism !== "unset") {
+				V.rivalryFS = "Cummunism";
+			}
+			if (arc.FSHedonisticDecadence !== "unset") {
+				V.rivalryFS = "Hedonistic Decadence";
+			} else if (arc.FSPhysicalIdealist !== "unset") {
+				V.rivalryFS = "Physical Idealism";
+			}
+			if (arc.FSIntellectualDependency !== "unset") {
+				V.rivalryFS = "Intellectual Dependency";
+			} else if (arc.FSSlaveProfessionalism !== "unset") {
+				V.rivalryFS = "Slave Professionalism";
+			}
+			if (arc.FSPetiteAdmiration !== "unset") {
+				V.rivalryFS = "Petite Admiration";
+			} else if (arc.FSStatuesqueGlorification !== "unset") {
+				V.rivalryFS = "Statuesque Glorification";
+			}
+			if (arc.FSChattelReligionist !== "unset") {
+				V.rivalryFS = "Chattel Religionism";
+			} else if (arc.FSNull !== "unset") {
+				V.rivalryFS = "Multiculturalism";
+			}
+			if (arc.FSRomanRevivalist !== "unset") {
+				V.rivalryFS = "Roman Revivalism";
+			} else if (arc.FSNeoImperialist !== "unset") {
+				V.rivalryFS = "Neo-Imperialism";
+			} else if (arc.FSAztecRevivalist !== "unset") {
+				V.rivalryFS = "Aztec Revivalism";
+			} else if (arc.FSEgyptianRevivalist !== "unset") {
+				V.rivalryFS = "Egyptian Revivalism";
+			} else if (arc.FSEdoRevivalist !== "unset") {
+				V.rivalryFS = "Edo Revivalism";
+			} else if (arc.FSArabianRevivalist !== "unset") {
+				V.rivalryFS = "Arabian Revivalism";
+			} else if (arc.FSChineseRevivalist !== "unset") {
+				V.rivalryFS = "Chinese Revivalism";
+			}
+		}
+	}
+
+	function overview() {
+		const el = new DocumentFragment();
+		const r = [];
+		if (_FSCredits > 0) {
+			r.push(App.UI.DOM.makeElement("span", `${arc.name}'s society is ready to begin accepting a new societal direction.`, "yellow"));
+		} else if (V.FSGotRepCredits >= 3) {
+			r.push(`Your society is so radically changed that it is starting to take on a life of its own. The major decisions about its direction have been made.`);
+		} else {
+			r.push(`You must develop your reputation further for ${arc.name}'s society to be ready for a new societal direction.`);
+		}
+		App.Events.addNode(el, r, "div");
+		return el;
+	}
+
+	function FSPerception() {
+		const el = new DocumentFragment();
+		for (const FS of App.Data.FutureSociety.playerFSNames) {
+			if (arc[FS] !== "unset") {
+				App.UI.DOM.appendNewElement("div", el, FutureSocieties.arcSupport(FS, arc));
+			}
+		}
+		return el;
+	}
+
+	function unlocks() {
+		const el = new DocumentFragment();
+		const r = [];
+		r.push(`You have unlocked`);
+		r.push(App.UI.DOM.makeElement("span", `${num(V.FSGotRepCredits, true)} of ${num(V.FSCreditCount, true)}`, "note"));
+		r.push(`possible societal customizations.`);
+		App.Events.addNode(el, r, "div");
+		return el;
+	}
+
+	function spending() {
+		const el = new DocumentFragment();
+		let r = [];
+		V.FSSpending = Number(V.FSSpending) || 0;
+		V.FSSpending = Math.clamp(Math.ceil(V.FSSpending / 1000) * 1000, 0, 10000);
+		r.push(`You are spending ¤`);
+		r.push(App.UI.DOM.makeTextBox(
+			V.FSSpending,
+			(v) => { V.FSSpending = v; },
+			true
+		));
+		r.push(`each week to support your societal goals.`);
+		App.Events.addNode(el, r, "div");
+		if (V.FSSpending > 10000) {
+			App.UI.DOM.appendNewElement("div", el, `Spending more than ${cashFormat(10000)} weekly is a waste`, "note");
+		}
+		return el;
+	}
+
+	function rename() {
+		const el = document.createElement('span');
+		el.id = "mass";
+		const linkArray = [];
+
+		if (arc.FSChattelReligionist !== "unset") {
+			linkArray.push(
+				App.UI.DOM.link(
+					"Give all your slaves devotional names",
+					() => {
+						for (const slave of V.slaves) {
+							slave.slaveName = App.Data.misc.chattelReligionistSlaveNames.random();
+						}
+						refresh();
+					}
+				)
+			);
+		}
+
+		if (arc.FSPastoralist !== "unset") {
+			linkArray.push(
+				App.UI.DOM.link(
+					"Give all your lactating slaves cow names",
+					() => {
+						for (const slave of V.slaves) {
+							slave.slaveName = App.Data.misc.cowSlaveNames.random();
+						}
+						refresh();
+					}
+				)
+			);
+		}
+
+		if (arc.FSIntellectualDependency !== "unset") {
+			linkArray.push(
+				App.UI.DOM.link(
+					"Give all your idiotic slaves stripper names",
+					() => {
+						for (const slave of V.slaves) {
+							slave.slaveName = App.Data.misc.bimboSlaveNames.random();
+						}
+						refresh();
+					}
+				)
+			);
+		}
+
+		if (arc.FSRomanRevivalist !== "unset") {
+			linkArray.push(
+				App.UI.DOM.link(
+					"Rename all your slaves according to Roman custom",
+					() => {
+						for (const slave of V.slaves) {
+							slave.slaveName = App.Data.misc.romanSlaveNames.random();
+							slave.slaveSurname = App.Data.misc.romanSlaveSurnames.random();
+						}
+						refresh();
+					}
+				)
+			);
+		} else if (arc.FSAztecRevivalist !== "unset") {
+			linkArray.push(
+				App.UI.DOM.link(
+					"Rename all your slaves according to ancient Aztec custom",
+					() => {
+						for (const slave of V.slaves) {
+							slave.slaveName = App.Data.misc.aztecSlaveNames.random();
+							slave.slaveSurname = 0;
+						}
+						refresh();
+					}
+				)
+			);
+		} else if (arc.FSEgyptianRevivalist !== "unset") {
+			linkArray.push(
+				App.UI.DOM.link(
+					"Rename all your slaves according to ancient Egyptian custom",
+					() => {
+						for (const slave of V.slaves) {
+							slave.slaveName = App.Data.misc.ancientEgyptianSlaveNames.random();
+							slave.slaveSurname = 0;
+						}
+						refresh();
+					}
+				)
+			);
+		} else if (arc.FSEdoRevivalist !== "unset") {
+			linkArray.push(
+				App.UI.DOM.link(
+					"Rename all your slaves according to feudal Japanese custom",
+					() => {
+						for (const slave of V.slaves) {
+							slave.slaveName = App.Data.misc.edoSlaveNames.random();
+							slave.slaveSurname = App.Data.misc.edoSlaveSurnames.random();
+						}
+						refresh();
+					}
+				)
+			);
+		}
+		if (arc.FSDegradationist !== "unset") {
+			linkArray.push(
+				App.UI.DOM.link(
+					"Rename all your slaves according to Degradationist custom",
+					() => {
+						for (const slave of V.slaves) {
+							DegradingName(slave);
+						}
+						refresh();
+					}
+				)
+			);
+		}
+
+		if (arc.FSPaternalist !== "unset") {
+			linkArray.push(
+				App.UI.DOM.link(
+					"Rename your obedient slaves according to Paternalist custom",
+					() => {
+						for (const slave of V.slaves) {
+							if (slave.devotion > 20 || (slave.devotion >= -20 && slave.trust < -20)) {
+								const _toSearch = slave.slaveName;
+								if (_toSearch.indexOf("Miss") === -1) {
+									if (_toSearch.indexOf("Ms.") === -1) {
+										if (_toSearch.indexOf("Mrs.") === -1) {
+											if (slave.relationship > 4) {
+												/*
+												<<for V.j = 0; V.j < V.slaves.length; V.j++>>
+													if (slave.relationshipTarget === V.slaves[V.j].ID) {
+														slave.slaveName = ("Mrs. " + slave.slaveName + " " + V.slaves[V.j].slaveName);
+													}
+												<</for>>
+												*/
+												slave.slaveName = ("Mrs. " + slave.slaveName);
+											} else if (slave.actualAge > 24) {
+												slave.slaveName = ("Ms. " + slave.slaveName);
+											} else {
+												slave.slaveName = ("Miss " + slave.slaveName);
+											}
+										}
+									}
+								}
+							}
+						}
+						refresh("Obedient slaves renamed.");
+					}
+				)
+			);
+		}
+
+		if (arc.FSIntellectualDependency !== "unset") {
+			linkArray.push(
+				App.UI.DOM.link(
+					"Give all your slaves simple bimbo names",
+					() => {
+						for (const slave of V.slaves) {
+							slave.slaveName = App.Data.misc.bimboSlaveNames.random();
+							slave.slaveSurname = 0;
+						}
+						refresh();
+					}
+				)
+			);
+		}
+
+		if (linkArray.length > 0) {
+			App.UI.DOM.appendNewElement("h3", el, "Names");
+			el.append(App.UI.DOM.generateLinksStrip(linkArray));
+		}
+
+		return el;
+
+		function refresh(text = "Slaves renamed.") {
+			jQuery("#mass").empty().append(text);
+		}
+	}
+
+	function selectFS() {
+		const el = new DocumentFragment();
+		let r;
+		let p;
+
+		/* Race */
+		p = document.createElement("p");
+		r = [];
+		if (arc.FSSupremacist !== "unset") {
+			r.push(pursuit());
+			r.push(`${arc.FSSupremacistRace} superiority.`);
+			r.push(activeFS("FSSupremacist"));
+		} else {
+			if (_FSCredits > 0) {
+				r.push(
+					App.UI.DOM.link(
+						"Racial Supremacism",
+						() => {
+							arc.FSSupremacist = 4;
+							App.UI.reload();
+						}
+					)
+				);
+				r.push(`is a belief in`);
+				if (arc.FSSupremacistRace === 0) {
+					r.push(`the superiority of a chosen race.`);
+				} else {
+					r.push(`${arc.FSSupremacistRace} superiority.`);
+				}
+				r.push(`Select race:`);
+				const select = document.createElement("select");
+				r.push(select);
+				for (const race of App.Data.misc.filterRacesLowercase.filter(race => race !== arc.FSSubjugationistRace)) { // Subjugation race cannot be superior, so remove
+					const choice = App.UI.DOM.appendNewElement("option", select, capFirstChar(race));
+					choice.value = race;
+					if (race === arc.FSSupremacistRace) {
+						choice.selected = true;
+					}
+				}
+
+				select.onchange = () => {
+					const O = select.options[select.selectedIndex];
+					arc.FSSupremacistRace = O.value;
+					App.UI.reload();
+				};
+			} else {
+				/* <span class="note"><span style="font-weight:Bold">Racial Supremacism:</span> a belief in the superiority of a chosen race.</span>*/
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		r = [];
+		if (arc.FSSubjugationist !== "unset") {
+			r.push(pursuit());
+			r.push(`${arc.FSSubjugationistRace} inferiority.`);
+			r.push(activeFS("FSSubjugationist"));
+		} else {
+			if (_FSCredits > 0) {
+				r.push(
+					App.UI.DOM.link(
+						"Racial Subjugationism",
+						() => {
+							arc.FSSubjugationist = 4;
+							App.UI.reload();
+						}
+					)
+				);
+				r.push(`is a belief in`);
+				if (arc.FSSubjugationistRace === 0) {
+					r.push(`the inferiority of a chosen race.`);
+				} else {
+					r.push(`${arc.FSSubjugationistRace} inferiority.`);
+				}
+				r.push(`Select race:`);
+				const select = document.createElement("select");
+				r.push(select);
+
+				for (const race of App.Data.misc.filterRacesLowercase.filter(race => race !== arc.FSSupremacistRace)) { // Superior race cannot be subj, so remove
+					const choice = App.UI.DOM.appendNewElement("option", select, capFirstChar(race));
+					choice.value = race;
+					if (race === arc.FSSubjugationistRace) {
+						choice.selected = true;
+					}
+				}
+
+				select.onchange = () => {
+					const O = select.options[select.selectedIndex];
+					arc.FSSubjugationistRace = O.value;
+					App.UI.reload();
+				};
+			} else {
+				/* <span class="note"><span style="font-weight:Bold">Racial Subjugationism:</span> a belief in the inferiority of a subject race.</span>*/
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		el.append(p);
+
+		/* Preg vs Eugenics */
+		if (V.seePreg !== 0) {
+			p = document.createElement("p");
+			r = [];
+			if (arc.FSRestart === "unset") {
+				if (arc.FSRepopulationFocus !== "unset") {
+					r.push(pursuit());
+					r.push(`the belief that mass breeding will save humanity.`);
+					r.push(activeFS("FSRepopulationFocus", ["boughtItem.clothing.maternityLingerie", "boughtItem.clothing.maternityDress", "boughtItem.clothing.belly"]));
+				} else {
+					if (_FSCredits > 0) {
+						r.push(
+							App.UI.DOM.link(
+								"Repopulation Efforts",
+								() => {
+									arc.FSRepopulationFocus = 4 + arc.FSRepopulationFocusInterest - arc.FSEugenicsInterest;
+									arc.FSRepopulationFocusPregPolicy = 0;
+									arc.FSRepopulationFocusMilfPolicy = 0;
+									App.UI.reload();
+								}
+							)
+						);
+						r.push(`is a focus on mass breeding in order to repopulate the future world.`);
+					} else {
+						/* <span class="note"><span style="font-weight:Bold">Repopulation Efforts:</span> societal fetishization of pregnancy.</span>*/
+					}
+				}
+			}
+			App.Events.addNode(p, r, "div");
+			r = [];
+			if (arc.FSRepopulationFocus === "unset") {
+				if (arc.FSRestart !== "unset") {
+					if (arc.FSRestartDecoration !== 100) {
+						r.push(pursuit());
+						r.push(`Eugenics.`);
+						r.push(activeFS("FSRestart"));
+					} else {
+						r.push(App.UI.DOM.makeElement("span", "You have established", "bold"));
+						r.push(`Eugenics.`);
+						r.push(activeFS("FSRestart"));
+						r.push(`The Societal Elite exist as the highest class, allowing you access to all manner of benefits`);
+					}
+				} else {
+					if (_FSCredits > 0) {
+						r.push(
+							App.UI.DOM.link(
+								"Eugenics",
+								() => {
+									arc.FSRestart = 4 + arc.FSEugenicsInterest - arc.FSRepopulationFocusInterest;
+									arc.FSRepopulationFocusPregPolicy = 0;
+									arc.FSRepopulationFocusMilfPolicy = 0;
+									App.UI.reload();
+								}
+							)
+						);
+						r.push(`is rebuilding society using restrictive breeding programs reserved solely for society's finest.`);
+					} else {
+						/* <span class="note"><span style="font-weight:Bold">Complete Societal Reconstruction:</span> rebuilding society based off the elite.</span>*/
+					}
+				}
+			}
+			App.Events.addNode(p, r, "div");
+			el.append(p);
+		}
+
+		/* Pro vs Dependant */
+		p = document.createElement("p");
+		r = [];
+		if (arc.FSSlaveProfessionalism === "unset") {
+			if (arc.FSIntellectualDependency !== "unset") {
+				r.push(pursuit());
+				r.push(`intellectual dependency, a belief that slaves should be airheaded, horny and fully dependent on their owners.`);
+				r.push(activeFS("FSIntellectualDependency", ["boughtItem.clothing.bimbo"]));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Intellectual Dependency",
+							() => {
+								arc.FSIntellectualDependency = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is a belief that slaves should be airheaded, horny and fully dependent on their owners.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Intellectual Dependency:</span> a belief that slaves should be airheaded, horny and fully dependent on their owners.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		r = [];
+		if (arc.FSIntellectualDependency === "unset") {
+			if (arc.FSSlaveProfessionalism !== "unset") {
+				r.push(pursuit());
+				r.push(`slave professionalism, a focus on smart, refined, altogether perfect slaves.`);
+				r.push(activeFS("FSSlaveProfessionalism", ["boughtItem.clothing.courtesan"]));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Slave Professionalism",
+							() => {
+								arc.FSSlaveProfessionalism = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is increased interest in smart, refined, altogether perfect slaves.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Slave Professionalism:</span> increased interest in smart, refined, altogether perfect slaves.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		el.append(p);
+
+		/* Gender */
+		p = document.createElement("p");
+		r = [];
+		if (V.seeDicks !== 0 || V.makeDicks === 1) {
+			if (arc.FSGenderFundamentalist === "unset") {
+				if (arc.FSGenderRadicalist !== "unset") {
+					r.push(pursuit());
+					r.push(`a radical redefinition of gender that identifies powerful people as male, and everyone else as female.`);
+					r.push(activeFS("FSGenderRadicalist"));
+				} else {
+					if (_FSCredits > 0) {
+						r.push(
+							App.UI.DOM.link(
+								"Gender radicalism",
+								() => {
+									arc.FSGenderRadicalist = 4;
+									App.UI.reload();
+								}
+							)
+						);
+						r.push(`is a radical redefinition of gender that identifies powerful people as male, and everyone else as female.`);
+					} else {
+						/* <span class="note"><span style="font-weight:Bold">Gender radicalism:</span> a radical redefinition of gender that identifies powerful people as male, and everyone else as female.</span>*/
+					}
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		r = [];
+		if (arc.FSGenderRadicalist === "unset") {
+			if (arc.FSGenderFundamentalist !== "unset") {
+				r.push(pursuit());
+				r.push(`gender traditionalism, including a societal preference for feminine slaves ${(V.seePreg !== 0) ? ` and support for slave pregnancy` : ``}.`);
+				r.push(activeFS("FSGenderFundamentalist", ["boughtItem.clothing.bunny"]));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Gender traditionalism",
+							() => {
+								arc.FSGenderFundamentalist = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`gender traditionalism, including a societal preference for feminine slaves ${(V.seePreg !== 0) ? ` and support for slave pregnancy` : ``}.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Gender traditionalism:</span> a societal preference for feminine slaves
+						if (V.seePreg !== 0) {
+							r.push(`and support for slave pregnancy`);
+						}
+						r.push(`.</span>`);*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		el.append(p);
+
+		/* Deg vs Paternalist */
+		p = document.createElement("p");
+		r = [];
+		if (arc.FSDegradationist === "unset") {
+			if (arc.FSPaternalist !== "unset") {
+				r.push(pursuit());
+				r.push(`a vision of slave improvement, including slaves' health, mental well-being, and education.`);
+				r.push(activeFS("FSPaternalist", ["boughtItem.clothing.conservative"]));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Paternalism",
+							() => {
+								arc.FSPaternalist = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is a vision of slave improvement, including slaves' health, mental well-being, and education.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Paternalism:</span> a vision of slave improvement, including slaves' health, mental well-being, and education.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		r = [];
+		if (arc.FSPaternalist === "unset") {
+			if (arc.FSDegradationist !== "unset") {
+				r.push(pursuit());
+				r.push(`slave degradation, a belief that slaves are not human and should not be treated decently.`);
+				r.push(activeFS("FSDegradationist", ["boughtItem.clothing.chains"]));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Degradationism",
+							() => {
+								arc.FSDegradationist = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is a belief that slaves are not human and should not be treated decently.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Degradation:</span> a belief that slaves are not human and should not be treated decently.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		el.append(p);
+
+		/* TF vs Purist */
+		p = document.createElement("p");
+		r = [];
+		if (arc.FSTransformationFetishist === "unset") {
+			if (arc.FSBodyPurist !== "unset") {
+				r.push(pursuit());
+				r.push(`societal disapproval of implant surgery.`);
+				r.push(activeFS("FSBodyPurist"));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Body Purism",
+							() => {
+								arc.FSBodyPurist = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is societal disapproval of implant surgery`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Body Purism:</span> societal disapproval of implant surgery.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		r = [];
+		if (arc.FSBodyPurist === "unset") {
+			if (arc.FSTransformationFetishist !== "unset") {
+				r.push(pursuit());
+				r.push(`societal fetishization of implant surgery.`);
+				r.push(activeFS("FSTransformationFetishist"));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Transformation Fetishism",
+							() => {
+								arc.FSTransformationFetishist = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is societal fetishization of implant surgery.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Transformation Fetishism:</span> societal fetishization of implant surgery.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		el.append(p);
+
+		/* Maturity vs Youth */
+		p = document.createElement("p");
+		r = [];
+		if (arc.FSMaturityPreferentialist === "unset") {
+			if (arc.FSYouthPreferentialist !== "unset") {
+				r.push(pursuit());
+				r.push(`an accentuated societal preference for younger slaves.`);
+				r.push(activeFS("FSYouthPreferentialist"));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Youth Preferentialism",
+							() => {
+								arc.FSYouthPreferentialist = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is increased interest in girls just past their majority.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Youth Preferentialism:</span> increased interest in girls just past their majority.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		r = [];
+		if (arc.FSYouthPreferentialist === "unset") {
+			if (arc.FSMaturityPreferentialist !== "unset") {
+				r.push(pursuit());
+				r.push(`a societal preference for older women.`);
+				r.push(activeFS("FSMaturityPreferentialist"));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Maturity Preferentialism",
+							() => {
+								arc.FSMaturityPreferentialist = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is increased interest in mature slaves.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Maturity Preferentialism:</span> increased interest in mature slaves.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		el.append(p);
+
+		/* Statuesque vs Petite */
+		p = document.createElement("p");
+		r = [];
+		if (arc.FSStatuesqueGlorification === "unset") {
+			if (arc.FSPetiteAdmiration !== "unset") {
+				r.push(pursuit());
+				r.push(`an accentuated societal preference for short slaves.`);
+				r.push(activeFS("FSPetiteAdmiration"));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Petite Admiration",
+							() => {
+								arc.FSPetiteAdmiration = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is increased interest in short slaves.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Petite Admiration:</span> increased interest in short slaves.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		r = [];
+		if (arc.FSPetiteAdmiration === "unset") {
+			if (arc.FSStatuesqueGlorification !== "unset") {
+				r.push(pursuit());
+				r.push(`a societal fixation on tallness.`);
+				r.push(activeFS("FSStatuesqueGlorification"));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Statuesque Glorification",
+							() => {
+								arc.FSStatuesqueGlorification = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is societal fixation on tallness.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Statuesque Glorification:</span> societal fixation on tallness.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		el.append(p);
+
+		/* Expand vs Slim */
+		p = document.createElement("p");
+		r = [];
+		if (arc.FSAssetExpansionist === "unset") {
+			if (arc.FSSlimnessEnthusiast !== "unset") {
+				r.push(App.UI.DOM.makeElement("span", "You are supporting", "bold"));
+				r.push(`enthusiasm for slaves with girlish figures.`);
+				r.push(activeFS("FSSlimnessEnthusiast"));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Slimness Enthusiasm",
+							() => {
+								arc.FSSlimnessEnthusiast = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is a fashion for slaves with girlish figures.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Slimness Enthusiasm:</span> a fashion for slaves with girlish figures.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		r = [];
+		if (arc.FSSlimnessEnthusiast === "unset") {
+			if (arc.FSAssetExpansionist !== "unset") {
+				r.push(pursuit());
+				r.push(`societal hunger for huge assets.`);
+				r.push(activeFS("FSAssetExpansionist"));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Asset Expansionism",
+							() => {
+								arc.FSAssetExpansionist = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is societal hunger for huge assets of whatever origin.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Asset Expansionism:</span> societal hunger for huge assets of whatever origin.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		el.append(p);
+
+
+		/* Milking stands alone */
+		r = [];
+		if (arc.FSPastoralist !== "unset") {
+			r.push(pursuit());
+			r.push(`societal normalization of slave milking.`);
+			r.push(activeFS("FSPastoralist", ["boughtItem.clothing.western"]));
+		} else {
+			if (_FSCredits > 0) {
+				r.push(
+					App.UI.DOM.link(
+						"Slave Pastoralism",
+						() => {
+							arc.FSPastoralist = 4;
+							App.UI.reload();
+						}
+					)
+				);
+				r.push(`is societal acceptance of slave products like milk.`);
+			} else {
+				/* <span class="note"><span style="font-weight:Bold">Slave Pastoralism:</span> societal acceptance of slave products like milk.</span>*/
+			}
+		}
+		App.Events.addNode(el, r, "p");
+
+
+		/* Physical Idealist vs Hedonist */
+		p = document.createElement("p");
+		r = [];
+		if (arc.FSHedonisticDecadence === "unset") {
+			if (arc.FSPhysicalIdealist !== "unset") {
+				r.push(pursuit());
+				r.push(`societal reverence for the idealized human form, including height, health and muscle.`);
+				r.push(activeFS("FSPhysicalIdealist", ["boughtItem.clothing.oil"]));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Physical Idealism",
+							() => {
+								arc.FSPhysicalIdealist = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is societal reverence for the idealized human form, including height, health and muscle.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Physical Idealism:</span> societal reverence for the idealized human form, including height, health and muscle.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		r = [];
+		if (arc.FSPhysicalIdealist === "unset") {
+			if (arc.FSHedonisticDecadence !== "unset") {
+				r.push(pursuit());
+				r.push(`societal normalization of overindulgence and immediate gratification.Be it food, drink, sex, drugs or whatever one's desire may be.`);
+				r.push(activeFS("FSHedonisticDecadence"));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Hedonistic Decadence",
+							() => {
+								arc.FSHedonisticDecadence = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is societal acceptance of overindulgence and immediate gratification. Be it food, drink, sex, drugs or whatever one's desire may be.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">HedonisticDecadence:</span> societal acceptance of over indulgence, particularly of food, drink, sex and drugs.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		el.append(p);
+
+		/* Chattel religionist vs Multicultural */
+		p = document.createElement("p");
+		r = [];
+		if (arc.FSNull === "unset") {
+			if (arc.FSChattelReligionist !== "unset") {
+				r.push(pursuit());
+				r.push(`a new strain of religion that emphasizes the slaveholding portions of religious history.`);
+				r.push(activeFS("FSChattelReligionist", ["boughtItem.clothing.habit"]));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Chattel Religionism",
+							() => {
+								arc.FSChattelReligionist = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is a new strain of religion that emphasizes the slaveholding portions of religious history.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Chattel Religionism:</span> a new strain of religion that emphasizes the slaveholding portions of religious history.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		r = [];
+		if (arc.FSChattelReligionist === "unset") {
+			if (arc.FSNull !== "unset") {
+				const freedomArray = [`You are permitting`];
+				if (arc.FSNull <= 25) {
+					freedomArray.push(`basic`);
+				} else if (arc.FSNull <= 50) {
+					freedomArray.push(`considerable`);
+				} else if (arc.FSNull <= 75) {
+					freedomArray.push(`advanced`);
+				} else {
+					freedomArray.push(`absolute`);
+				}
+				r.push(App.UI.DOM.makeElement("span", freedomArray.join(" "), "bold"));
+				r.push(`cultural freedom in your arcology.`);
+			}
+			if (V.FSCreditCount === 4) {
+				if (arc.FSNull !== "unset") {
+					r.push(activeFS("FSChattelReligionist"));
+					if (arc.FSNull <= 25) {
+						r.push(abandonRel());
+					} else {
+						r.push(withdrawRel(25));
+					}
+					if (_FSCredits > 0) {
+						if (arc.FSNull < V.FSLockinLevel) {
+							r.push(advanceRel(25));
+						}
+					}
+				} else {
+					if (_FSCredits > 0) {
+						r.push(MulticulturalismRel(25));
+					}
+				}
+			} else if (V.FSCreditCount === 6) {
+				if (arc.FSNull !== "unset") {
+					if (arc.FSNull <= 20) {
+						r.push(abandonRel());
+					} else {
+						r.push(withdrawRel(17));
+					}
+					if (_FSCredits > 0) {
+						if (arc.FSNull < V.FSLockinLevel) {
+							r.push(advanceRel(17));
+						}
+					}
+				} else {
+					if (_FSCredits > 0) {
+						r.push(MulticulturalismRel(17));
+					}
+				}
+			} else if (V.FSCreditCount === 7) {
+				if (arc.FSNull !== "unset") {
+					if (arc.FSNull <= 20) {
+						r.push(abandonRel());
+					} else {
+						r.push(withdrawRel(15));
+					}
+					if (_FSCredits > 0) {
+						if (arc.FSNull < V.FSLockinLevel) {
+							r.push(advanceRel(15));
+						}
+					}
+				} else {
+					if (_FSCredits > 0) {
+						r.push(MulticulturalismRel(15));
+					}
+				}
+			} else {
+				if (arc.FSNull !== "unset") {
+					if (arc.FSNull <= 20) {
+						r.push(abandonRel());
+					} else {
+						r.push(withdrawRel(20));
+					}
+					if (_FSCredits > 0) {
+						if (arc.FSNull < V.FSLockinLevel) {
+							r.push(advanceRel(20));
+						}
+					}
+				} else {
+					if (_FSCredits > 0) {
+						r.push(MulticulturalismRel(20));
+					}
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		el.append(p);
+
+		function withdrawRel(num) {
+			return App.UI.DOM.link(
+				"Withdraw",
+				() => {
+					if (arc.FSNull !== "unset") {
+						arc.FSNull -= num;
+					}
+					App.UI.reload();
+				}
+			);
+		}
+
+		function abandonRel() {
+			return App.UI.DOM.link(
+				"Abandon",
+				() => {
+					FutureSocieties.remove("FSNull");
+					App.UI.reload();
+				}
+			);
+		}
+
+		function advanceRel(num) {
+			return App.UI.DOM.link(
+				"Advance",
+				() => {
+					if (arc.FSNull !== "unset") {
+						arc.FSNull += num;
+					}
+					App.UI.reload();
+				},
+				[],
+				"",
+				"a further commitment to allow your arcology's citizens cultural freedom"
+			);
+		}
+
+		function MulticulturalismRel(num) {
+			const multicultural = App.UI.DOM.makeElement(
+				"span",
+				App.UI.DOM.link(
+					"Multiculturalism",
+					() => {
+						arc.FSNull = num;
+						App.UI.reload();
+					},
+					[],
+					"",
+					"a commitment to allow your arcology's citizens cultural freedom."
+				)
+			);
+			multicultural.append(` is an alternative to societal advancement, and will not advance naturally.`);
+			return multicultural;
+		}
+
+		/* Revival section */
+		p = document.createElement("p");
+		r = [];
+		if ((arc.FSAztecRevivalist === "unset") && (arc.FSEgyptianRevivalist === "unset") && (arc.FSEdoRevivalist === "unset") && (arc.FSArabianRevivalist === "unset") && (arc.FSChineseRevivalist === "unset") && (arc.FSNeoImperialist === "unset")) {
+			if (arc.FSRomanRevivalist !== "unset") {
+				r.push(pursuit());
+				r.push(`a vision of a new Rome.`);
+				r.push(activeFS("FSRomanRevivalist", ["boughtItem.clothing.toga"]));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Roman Revivalism",
+							() => {
+								arc.FSRomanRevivalist = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is a vision of a new Rome.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Roman Revivalism:</span> a vision of a new Rome.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		r = [];
+		if ((arc.FSAztecRevivalist === "unset") && (arc.FSEgyptianRevivalist === "unset") && (arc.FSEdoRevivalist === "unset") && (arc.FSArabianRevivalist === "unset") && (arc.FSChineseRevivalist === "unset") && (arc.FSRomanRevivalist === "unset")) {
+			if (arc.FSNeoImperialist !== "unset") {
+				r.push(pursuit());
+				r.push(`a vision of a new Imperial Society.`);
+				r.push(activeFS("FSNeoImperialist", ["boughtItem.clothing.imperialarmor", "boughtItem.clothing.imperialsuit"]));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Neo-Imperialism",
+							() => {
+								arc.FSNeoImperialist = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is a vision of a new Imperial society, integrating high technology and old-world culture under the iron fist of your absolute rule.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Neo-Imperialism:</span> a vision of a new Imperial Society, integrating high technology and old-world culture under the iron fist of your absolute rule.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		r = [];
+		if ((arc.FSRomanRevivalist === "unset") && (arc.FSEgyptianRevivalist === "unset") && (arc.FSEdoRevivalist === "unset") && (arc.FSArabianRevivalist === "unset") && (arc.FSChineseRevivalist === "unset") && (arc.FSNeoImperialist === "unset")) {
+			if (arc.FSAztecRevivalist !== "unset") {
+				r.push(pursuit());
+				r.push(`a vision of a new Aztec Empire.`);
+				r.push(activeFS("FSAztecRevivalist", ["boughtItem.clothing.huipil"]));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Aztec Revivalism",
+							() => {
+								arc.FSAztecRevivalist = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is a vision of a new Aztec Empire.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Aztec Revivalism:</span> a vision of a new Aztec Empire.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		r = [];
+		if ((arc.FSRomanRevivalist === "unset") && (arc.FSAztecRevivalist === "unset") && (arc.FSEdoRevivalist === "unset") && (arc.FSArabianRevivalist === "unset") && (arc.FSChineseRevivalist === "unset") && (arc.FSNeoImperialist === "unset")) {
+			if (arc.FSEgyptianRevivalist !== "unset") {
+				r.push(pursuit());
+				r.push(`a vision of Pharaoh's Egypt.`);
+				r.push(activeFS("FSEgyptianRevivalist", ["boughtItem.clothing.egypt"]));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Egyptian Revivalism",
+							() => {
+								arc.FSEgyptianRevivalist = 4 + arc.FSEgyptianRevivalistInterest;
+								arc.FSEgyptianRevivalistIncestPolicy = 0;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is a vision of a Pharaoh's Egypt.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Egyptian Revivalism:</span> a vision of Pharaoh's Egypt.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		r = [];
+		if ((arc.FSRomanRevivalist === "unset") && (arc.FSAztecRevivalist === "unset") && (arc.FSEgyptianRevivalist === "unset") && (arc.FSArabianRevivalist === "unset") && (arc.FSChineseRevivalist === "unset") && (arc.FSNeoImperialist === "unset")) {
+			if (arc.FSEdoRevivalist !== "unset") {
+				r.push(pursuit());
+				r.push(`a vision of Edo Japan.`);
+				r.push(activeFS("FSEdoRevivalist", ["boughtItem.clothing.kimono"]));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Edo Revivalism",
+							() => {
+								arc.FSEdoRevivalist = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is a vision of Edo Japan.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Edo Revivalism:</span> a vision of Edo Japan.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		r = [];
+		if ((arc.FSRomanRevivalist === "unset") && (arc.FSAztecRevivalist === "unset") && (arc.FSEgyptianRevivalist === "unset") && (arc.FSEdoRevivalist === "unset") && (arc.FSChineseRevivalist === "unset") && (arc.FSNeoImperialist === "unset")) {
+			if (arc.FSArabianRevivalist !== "unset") {
+				r.push(pursuit());
+				r.push(`a vision of the Sultanate of old.`);
+				r.push(activeFS("FSArabianRevivalist", ["boughtItem.clothing.harem"]));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Arabian Revivalism",
+							() => {
+								arc.FSArabianRevivalist = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is a vision of the Sultanate of old.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Arabian Revivalism:</span> a vision of the Sultanate of old.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		r = [];
+		if ((arc.FSRomanRevivalist === "unset") && (arc.FSAztecRevivalist === "unset") && (arc.FSEgyptianRevivalist === "unset") && (arc.FSEdoRevivalist === "unset") && (arc.FSArabianRevivalist === "unset") && (arc.FSNeoImperialist === "unset")) {
+			if (arc.FSChineseRevivalist !== "unset") {
+				r.push(pursuit());
+				r.push(`a vision of ancient China.`);
+				r.push(activeFS("FSChineseRevivalist", ["boughtItem.clothing.qipao"]));
+			} else {
+				if (_FSCredits > 0) {
+					r.push(
+						App.UI.DOM.link(
+							"Chinese Revivalism",
+							() => {
+								arc.FSChineseRevivalist = 4;
+								App.UI.reload();
+							}
+						)
+					);
+					r.push(`is a vision of ancient China.`);
+				} else {
+					/* <span class="note"><span style="font-weight:Bold">Chinese Revivalism:</span> a vision of ancient China.</span>*/
+				}
+			}
+		}
+		App.Events.addNode(p, r, "div");
+		el.append(p);
+
+		return el;
+
+		function pursuit() {
+			return App.UI.DOM.makeElement("span", "You are pursuing", "bold");
+		}
+
+		/**
+		 *
+		 * @param {FC.FutureSociety} FS
+		 * @param {Array} [itemArray]
+		 */
+		function activeFS(FS, itemArray) {
+			const el = new DocumentFragment();
+			const r = [];
+
+			// Abandon
+			if (FS === "FSRestart" && V.eugenicsFullControl !== 1) {
+				r.push(`The Societal Elite will not permit you to abandon Eugenics.`);
+			} else {
+				r.push(
+					App.UI.DOM.link(
+						"Abandon",
+						() => {
+							FutureSocieties.remove(FS);
+							App.UI.reload();
+						}
+					)
+				);
+			}
+
+			// Decoration
+			r.push(App.UI.FSChangeDecoration(FS, itemArray));
+
+			// Assistant
+			if (V.policies.publicPA === 1) {
+				if (App.Data.Assistant.appearanceForFS.get(FS).includes(V.assistant.appearance)) {
+					const {hisA} = getPronouns(assistant.pronouns().main).appendSuffix('A');
+					r.push(`With ${hisA} ${V.assistant.appearance} appearance,`);
+					r.push(
+						App.UI.DOM.passageLink(V.assistant.name, "Personal assistant options")
+					);
+					r.push(`is a good public mascot for this goal.`);
+				}
+			}
+
+			App.Events.addNode(el, r);
+			return el;
+		}
+	}
+};
diff --git a/src/facilities/salon/salon.tw b/src/facilities/salon/salon.tw
new file mode 100644
index 0000000000000000000000000000000000000000..07bb6f37df73148445f546bf7c0e95cc38fb42a3
--- /dev/null
+++ b/src/facilities/salon/salon.tw
@@ -0,0 +1,5 @@
+:: Salon [nobr jump-from-safe]
+
+<<set $nextButton = "Confirm changes", $nextLink = "Slave Interact", $encyclopedia = "The Auto Salon">>
+
+<<includeDOM App.UI.salon(getSlave($AS))>>
\ No newline at end of file
diff --git a/src/facilities/salon/salonPassage.js b/src/facilities/salon/salonPassage.js
new file mode 100644
index 0000000000000000000000000000000000000000..20b0aab88504918ea0b801d8e069723acbcce54c
--- /dev/null
+++ b/src/facilities/salon/salonPassage.js
@@ -0,0 +1,505 @@
+/**
+ * UI for the Salon.  Refreshes without refreshing the passage.
+ * @param {App.Entity.SlaveState} slave
+ * @param {boolean} cheat if true, will hide scenes and keep the player from being billed for changes.
+ */
+App.UI.salon = function(slave, cheat = false) {
+	const container = document.createElement("span");
+	container.id = "salon";
+	const {
+		He, His,
+		he, his, him
+	} = getPronouns(slave);
+	Enunciate(slave);
+
+	container.append(createPage());
+	return container;
+
+	function createPage() {
+		const el = new DocumentFragment();
+		if (!cheat) {
+			if (V.seeImages > 0) {
+				App.Events.drawEventArt(el, slave);
+			}
+			el.append(intro());
+		}
+		el.append(eyewear());
+		el.append(ears());
+		if (slave.horn !== "none") {
+			el.append(horns());
+		}
+		el.append(hair());
+		el.append(makeup());
+		el.append(skin());
+		el.append(bodyHair());
+		return el;
+	}
+
+	function intro() {
+		const el = new DocumentFragment();
+		App.UI.DOM.appendNewElement("h1", el, "The Auto Salon");
+		App.UI.DOM.appendNewElement("div", el, `${SlaveFullName(slave)} is seated in the auto salon. ${He} is awaiting your artistic pleasure.`, "scene-intro");
+		return el;
+	}
+
+	function eyewear() {
+		const el = new DocumentFragment();
+		App.UI.DOM.appendNewElement("h3", el, "Eyewear");
+		const r = [];
+		const options = new App.UI.OptionsGroup();
+
+		if (getBestVision(slave) === 0) {
+			r.push(`${He} is blind`);
+		} else if (anyVisionEquals(slave, 1)) {
+			r.push(`${He} is nearsighted`);
+		} else {
+			r.push(`${His} vision is normal`);
+		}
+
+		const option = options.addOption(r.join(" "), "eyewear", slave)
+			.addValue("None", "none")
+			.addValue("Cosmetic glasses", "glasses", billMod);
+		if (getBestVision(slave) !== 0 && anyVisionEquals(slave, 1)) {
+			option.addValue("Corrective glasses", "corrective glasses", billMod);
+			option.addValue("Corrective glasses", "corrective glasses", billMod);
+		} else {
+			option.addValue("Blurring glasses", "blurring glasses", billMod);
+			option.addValue("Blurring glasses", "blurring glasses", billMod);
+			option.addComment("Blurring options are annoying and impede performance on some assignments.");
+		}
+		el.append(options.render());
+
+		el.append(App.Medicine.Modification.eyeSelector(slave, cheat));
+		return el;
+	}
+
+	function ears() {
+		const el = new DocumentFragment();
+		App.UI.DOM.appendNewElement("h3", el, "Ears");
+		const r = [];
+		const options = new App.UI.OptionsGroup();
+
+		if (slave.earImplant === 1) {
+			r.push(`${He} has artificial inner ear implants`);
+		} else if (slave.hears < -1) {
+			r.push(`${He} is deaf`);
+		} else if (slave.hears > -1) {
+			r.push(`${His} hearing is normal`);
+		} else {
+			r.push(`${He} is hearing impaired`);
+		}
+		const option = options.addOption(r.join(" "), "earwear", slave)
+			.addValue("None", "none");
+		// Hard of hearing
+		if (slave.hears === -1 && slave.earImplant !== 1) {
+			option.addValue("Hearing aids", "hearing aids", billMod);
+		}
+		// Is not deaf
+		if (slave.hears > -2 || slave.earImplant === 1) {
+			option.addValue("Muffling ear plugs", "muffling ear plugs", billMod);
+			option.addValue("Deafening ear plugs", "deafening ear plugs", billMod);
+		}
+		el.append(options.render());
+
+		el.append(App.Medicine.Salon.ears(slave));
+
+		return el;
+	}
+
+	function horns() {
+		const el = new DocumentFragment();
+		App.UI.DOM.appendNewElement("h3", el, "Horns");
+		const options = new App.UI.OptionsGroup();
+
+		const option = options.addOption(`Set the color of ${his} ${slave.horn}`, "hornColor", slave);
+		for (const hornColor of App.Medicine.Modification.hornColor) {
+			option.addValue(capFirstChar(hornColor), hornColor, billMod);
+		}
+
+		el.append(options.render());
+
+		return el;
+	}
+
+	function makeup() {
+		const el = new DocumentFragment();
+		App.UI.DOM.appendNewElement("h3", el, "Makeup");
+		const options = new App.UI.OptionsGroup();
+
+		options.addOption(App.Desc.makeup(slave), "makeup", slave)
+			.addValue("Nice", 1, billMod)
+			.addValue("Gorgeous", 2, billMod)
+			.addValue("Slutty", 4, billMod)
+			.addValue("Color-coordinate with hair", 3, billMod);
+
+		options.addOption("", "makeup", slave)
+			.addValue("Neon", 5, billMod)
+			.addValue("Neon, color-coordinate with hair", 6, billMod);
+
+		options.addOption("", "makeup", slave)
+			.addValue("Metallic", 7, billMod)
+			.addValue("Metallic, color-coordinate with hair", 8, billMod);
+
+		el.append(options.render());
+
+		return el;
+	}
+
+	function hair() {
+		const el = new DocumentFragment();
+		let option;
+		App.UI.DOM.appendNewElement("h3", el, "Hair");
+		const options = new App.UI.OptionsGroup();
+		let title;
+		let showChoices = true;
+		const hasWig = (slave.bald === 1 && slave.hStyle !== "bald");
+
+		if (slave.bald === 1) {
+			if (slave.hStyle === "bald") {
+				title = `${He} is completely bald.`;
+				showChoices = false;
+			} else {
+				title = `${His} wig is ${slave.hColor}.`;
+			}
+		} else {
+			title = `${His} hair is ${slave.hColor}.`;
+		}
+		App.UI.DOM.appendNewElement("div", el, title);
+
+		if (slave.bald === 1) {
+			options.addOption(`Use a wig`, "hStyle", slave)
+				.addValue("Enable", "neat").on()
+				.addValue("Disable", "bald").off();
+		}
+
+		if (showChoices) {
+			if (slave.hLength > 1) {
+				// Original color
+				if (cheat) {
+					option = options.addOption("Natural color", "origHColor", slave);
+					for (const color of App.Medicine.Modification.Color.Primary) {
+						option.addValue(capFirstChar(color.value), color.value, billMod);
+					}
+					option.pulldown();
+
+					options.addOption("")
+						.customButton(
+							"Sync body hair color",
+							() => {
+								slave.eyebrowHColor = slave.origHColor;
+								slave.pubicHColor = slave.origHColor;
+								slave.underArmHColor = slave.origHColor;
+								App.UI.reload();
+							},
+							""
+						);
+				}
+				// Color
+				option = options.addOption("Primary color", "hColor", slave);
+				if (slave.origHColor !== slave.hColor) {
+					option.addValue("Restore natural color", slave.origHColor, billMod);
+				}
+				for (const color of App.Medicine.Modification.Color.Primary) {
+					option.addValue(capFirstChar(color.value), color.value, billMod);
+				}
+				option.pulldown();
+
+				option = options.addOption("Secondary color", "hColor", slave);
+				for (const color of App.Medicine.Modification.Color.Secondary) {
+					option.addValue(color.title, (slave.hColor + color.value), billMod);
+				}
+				option.pulldown();
+			}
+			// Style
+			if (slave.hLength > 1) {
+				title = `Style ${hasWig ? "wig" : "hair"} `;
+			} else {
+				title = `${His} ${hasWig ? "wig" : "hair"} is too short to style meaningfully`;
+			}
+			option = options.addOption(title, "hStyle", slave);
+			if (slave.hLength > 1) {
+				for (const style of App.Medicine.Modification.hairStyles.Normal) {
+					option.addValue(style.title, style.value, billMod);
+				}
+				option.pulldown();
+			}
+
+			// Style + Cut
+			if (slave.hLength > 1) {
+				option = options.addOption(`${hasWig ? "Change wig style and length" : "Cut and style hair"}`, "hStyle", slave);
+				if (slave.hLength > 1) {
+					for (const style of App.Medicine.Modification.hairStyles.Cut) {
+						option.addValue(
+							style.title,
+							style.value,
+							() => {
+								slave.hLength = style.hLength;
+								billMod();
+							});
+					}
+				}
+			}
+
+			// Length
+			option = options.addOption(`${hasWig ? "Find longer or shorter wig" : "Cut or lengthen hair"}`, "hLength", slave);
+			if (slave.hLength > 0) {
+				for (const style of App.Medicine.Modification.hairStyles.Length) {
+					if (
+						(style.hasOwnProperty("requirements") && !style.requirements(slave)) ||
+						(style.hLength && style.hLength > slave.hLength)
+					) {
+						continue;
+					}
+					option.addValue(style.title, style.hLength, billMod);
+				}
+				if (!slave.bald && slave.hLength < 150) {
+					option.addValue("Apply extensions", slave.hLength + 10, billMod);
+				}
+			} else {
+				option.addValue("Apply hair growth stimulating treatment", 1);
+			}
+
+			option.showTextBox();
+
+			// Maintain
+			if (!hasWig) {
+				options.addOption(`Maintain this length`, "haircuts", slave)
+					.addValue("Enable", 1).on()
+					.addValue("Disable", 0).off();
+			}
+		}
+
+		el.append(options.render());
+		return el;
+	}
+
+	function skin() {
+		const el = new DocumentFragment();
+		let r;
+		let option;
+		App.UI.DOM.appendNewElement("h3", el, "Skin");
+		const options = new App.UI.OptionsGroup();
+		let comment = [];
+
+		if (cheat) {
+			option = options.addOption(`${His} natural skin color is`, "origSkin", slave).showTextBox().pulldown();
+			for (const skin of App.Medicine.Modification.naturalSkins) {
+				option.addValue(capFirstChar(skin), skin, () => slave.skin = slave.origSkin);
+			}
+		}
+
+		option = options.addOption(`${His} skin is ${slave.skin}.`, "skin", slave);
+		if (App.Medicine.Modification.dyedSkins.includes(slave.skin)) {
+			option.addValue("Remove coloring", slave.origSkin, billMod);
+		} else if ((slave.skin === "sun tanned") || (slave.skin === "spray tanned")) {
+			option.addValue("Remove tanning", slave.origSkin, billMod);
+		}
+
+		if (!App.Medicine.Modification.dyedSkins.includes(slave.skin)) {
+			if (slave.skin === "sun tanned" || slave.skin === "spray tanned") {
+				comment.push(`${His} skin tanning must be removed before any advanced procedure to change ${his} skin color.`);
+			} else {
+				if (skinToneLevel(slave.skin) > 1) {
+					option.addValue("Bleach", changeSkinTone(slave.skin, -2), billMod);
+				}
+				if (skinToneLevel(slave.skin) > 8) {
+					option.addValue("Lighten", changeSkinTone(slave.skin, -1), billMod);
+				}
+				if (skinToneLevel(slave.skin) < 18) {
+					option.addValue("Darken", changeSkinTone(slave.skin, 1), billMod);
+				}
+				if (skinToneLevel(slave.skin) < 25) {
+					option.addValue("Blacken", changeSkinTone(slave.skin, 2), billMod);
+				}
+			}
+			if (slave.skin !== "sun tanned") {
+				if (skinToneLevel(slave.skin) < 6) {
+					comment.push(`${His} skin is so light in color that any attempt at natural tanning is more likely to damage ${his} skin.`);
+				} else if ((skinToneLevel(slave.skin) > 20)) {
+					comment.push(`${His} skin is so dark in color that any attempt at natural tanning is not likely to appear on ${his} skin.`);
+				} else {
+					option.addValue("Sun tan", "sun tanned", billMod);
+				}
+			}
+			if (slave.skin !== "spray tanned") {
+				option.addValue("Spray tan", "sun tanned", billMod);
+			}
+			option.addComment(comment.join(" "));
+		}
+
+		option = options.addOption(`Dye or paint`, "skin", slave);
+		for (const dye of App.Medicine.Modification.dyedSkins) {
+			option.addValue(capFirstChar(dye), dye, billMod);
+		}
+
+		if (cheat) {
+			options.addOption(`${His} skin's marks are`, "markings", slave)
+				.addValueList([
+					["None", "none"],
+					["Freckles", "freckles"],
+					["Heavily freckled", "heavily freckled"],
+					["Beauty mark", "beauty mark"],
+					["Birthmark", "birthmark"],
+				]);
+		}
+		option.pulldown();
+
+		if (slave.markings === "beauty mark") {
+			r = [];
+			r.push(`${He} has a prominent mole on ${his} face, which`);
+			if (slave.face > 40) {
+				r.push(`qualifies as a beauty mark and enhances ${his} attractiveness due to ${his} facial beauty.`);
+			} else if (slave.face < -10) {
+				r.push(`makes ${him} even less attractive.`);
+			} else {
+				r.push(`qualifies as a beauty mark since ${he}'s pretty, having no significant impact on ${his} beauty.`);
+			}
+			options.addOption(r.join(" "), "markings", slave)
+				.addValue("Remove it", "none", billMod);
+		}
+		if (slave.markings === "birthmark") {
+			r = [];
+			r.push(`${He} has a large birthmark, which`);
+			if (slave.prestige > 0 || slave.porn.prestige > 1) {
+				r.push(`enhances ${his} attractiveness due to ${his} prestige.`);
+			} else {
+				r.push(`detracts from ${his} attractiveness.`);
+			}
+			options.addOption(r.join(" "), "markings", slave)
+				.addValue("Bleach it", "none", billMod);
+		}
+
+		el.append(options.render());
+
+		return el;
+	}
+
+	function bodyHair() {
+		const el = new DocumentFragment();
+		const options = new App.UI.OptionsGroup();
+		let option;
+		let r = [];
+		App.UI.DOM.appendNewElement("h3", el, "Body hair");
+
+		// Eyebrows
+		if (slave.eyebrowHStyle !== "bald") {
+			// Describe and change color
+			r.push(`${His} eyebrows`);
+			if (slave.eyebrowHStyle === "shaved") {
+				r.push(`would be ${slave.eyebrowHColor} if present.`);
+			} else {
+				r.push(`are ${slave.eyebrowHColor}.`);
+			}
+
+			option = options.addOption(r.join(" "), "eyebrowHColor", slave);
+			if (slave.eyebrowHColor !== slave.hColor) {
+				option.addValue("Match the hair", slave.hColor);
+			}
+			option.addValueList(makeAList(App.Medicine.Modification.Color.Primary.map(color => color.value)));
+			option.addCallbackToEach(billMod);
+			option.pulldown();
+
+			// Style
+			option = options.addOption(`Style ${his} eyebrow hair`, "eyebrowHStyle", slave);
+			for (const fullness of App.Medicine.Modification.eyebrowStyles) {
+				option.addValue(capFirstChar(fullness), fullness, billMod);
+			}
+			option.pulldown();
+
+			// Fullness
+			option = options.addOption(`Shape ${his} eyebrow hair`, "eyebrowFullness", slave);
+			for (const fullness of App.Medicine.Modification.eyebrowFullness) {
+				option.addValue(capFirstChar(fullness), fullness, billMod);
+			}
+			option.pulldown();
+		} else {
+			options.addComment(`${His} eyebrows are completely hairless.`);
+		}
+
+		// Pubic hair
+		const _pubertyAge = Math.min(slave.pubertyAgeXX, slave.pubertyAgeXY);
+		r = [];
+		const hasPubes = (slave.pubicHStyle !== "bald" && slave.pubicHStyle !== "hairless" && slave.physicalAge >= _pubertyAge - 1);
+		if (hasPubes) {
+			r.push(`${His}`);
+			if (slave.physicalAge < _pubertyAge) {
+				r.push(`wispy pubic hair, which is just starting to grow in,`);
+			} else if (slave.pubicHStyle === "in a strip") {
+				r.push(`pubic hair, which is shaved into a strip,`);
+			} else {
+				r.push(`${slave.pubicHStyle} pubic hair`);
+			}
+			if (slave.pubicHStyle === "waxed") {
+				r.push(`would be ${slave.pubicHColor} if present.`);
+			} else {
+				r.push(`is ${slave.pubicHColor}.`);
+			}
+		} else {
+			r.push(`${His} groin is completely hairless.`);
+		}
+		option = options.addOption(r.join(" "), "pubicHColor", slave);
+		if (hasPubes) {
+			if (slave.pubicHColor !== slave.hColor) {
+				option.addValue("Match the curtains", slave.pubicHColor);
+			}
+			option.addValueList(makeAList(App.Medicine.Modification.Color.Primary.map(color => color.value)))
+				.addCallbackToEach(billMod)
+				.pulldown();
+
+			// Style
+			option = options.addOption(`Style ${his} pubic hair`, "pubicHStyle", slave);
+			for (const fullness of App.Medicine.Modification.pubicStyles) {
+				option.addValue(capFirstChar(fullness), fullness, billMod);
+			}
+			option.pulldown();
+		}
+
+		// Armpit hair
+		r = [];
+		const hasPitHair = (slave.underArmHStyle !== "bald" && slave.underArmHStyle !== "hairless" && slave.physicalAge >= _pubertyAge - 1);
+		if (hasPitHair) {
+			r.push(`${His}`);
+			if (slave.physicalAge < _pubertyAge) {
+				r.push(`wispy underarm hair`);
+			} else {
+				r.push(`${slave.underArmHStyle} underarm hair`);
+			}
+			if (slave.underArmHStyle === "waxed") {
+				r.push(`would be ${slave.underArmHColor} if present.`);
+			} else {
+				r.push(`is ${slave.underArmHColor}.`);
+			}
+		} else {
+			r.push(`${His} underarms are completely hairless.`);
+		}
+		option = options.addOption(r.join(" "), "underArmHColor", slave);
+		if (hasPitHair) {
+			if (slave.underArmHColor !== slave.hColor) {
+				option.addValue("Match the hair", slave.hColor);
+			}
+			option.addValueList(makeAList(App.Medicine.Modification.Color.Primary.map(color => color.value)))
+				.addCallbackToEach(billMod)
+				.pulldown();
+
+			// Style
+			option = options.addOption(`Style ${his} armpit hair`, "underArmHStyle", slave);
+			for (const fullness of App.Medicine.Modification.armpitStyles) {
+				option.addValue(capFirstChar(fullness), fullness, billMod);
+			}
+			option.pulldown();
+		}
+
+		el.append(options.render());
+		return el;
+	}
+
+	function billMod() {
+		if (!cheat) {
+			cashX(forceNeg(V.modCost), "slaveMod", slave);
+		}
+	}
+
+	function makeAList(iterable) {
+		return Array.from(iterable, (k => [capFirstChar(k), k]));
+	}
+};
diff --git a/src/facilities/wardrobe/wardrobeShopping.js b/src/facilities/wardrobe/wardrobeShopping.js
index c25b749e9cc0ed36c0033ca3664b8ba9fabc0e29..c1aa035e680c1476eb3d57537a7c0d7ffcdbdffb 100644
--- a/src/facilities/wardrobe/wardrobeShopping.js
+++ b/src/facilities/wardrobe/wardrobeShopping.js
@@ -7,10 +7,8 @@ App.UI.WardrobeShopping = function() {
 
 	let r = [];
 	r.push(`The room containing all the clothes and accessories you have available to dress your slaves in, as well as the supplies and tools your tailor needs to resize them to better fit your slaves. Several mirrors are set up for a slave to try on outfits should they be allowed to dress themselves. The selection includes`);
-	const ownItAll = (
-		App.Data.slaveWear.niceClothes.every((i) => isItemAccessible.entry(i.value, "clothing")) &&
-		App.Data.slaveWear.harshClothes.every((i) => isItemAccessible.entry(i.value, "clothing"))
-	);
+	const ownItAll = Array.from(App.Data.clothes.keys()).every((key) => isItemAccessible.entry(key, "clothing"));
+
 	if (ownItAll) {
 		r.push(`outfits from all manner of cultures and societies; not a single style eludes you.`);
 	} else {
diff --git a/src/gui/css/options.css b/src/gui/css/options.css
index 7ce9fb2705cc625456d3c1fb5e887d9fd6954241..d1d13a5cda81a249638223a767af91562035cbf8 100644
--- a/src/gui/css/options.css
+++ b/src/gui/css/options.css
@@ -4,12 +4,6 @@ div.options-group {
 	align-items: center;
 }
 
-@media only screen and (min-width: 1600px) {
-	div.options-group.double {
-		grid-template-columns: max-content auto max-content auto;
-    }
-}
-
 /* left side */
 div.options-group div.description {
 	margin-right: 10px;
@@ -77,18 +71,64 @@ div.options-group button.neutral:hover {
 div.options-group input {
 	border: 2px solid var(--button-border-color);
 	min-width: unset; /* remove SC styling */
-	width: 140px;
+	width: 12em;
+	/* move back so that the outline of a potential select overlaps in front */
+	position:relative;
+	z-index: 0;
+}
+
+.options-group input:hover, .options-group input:focus {
+	/* show highlighted border in front of neighbours */
+	z-index: 1
 }
 
 div.options-group input.number {
-	width: 50px;
+	width: 4em;
+}
+
+div.options-group input.full-width {
+	width: 100%;
+}
+
+/* custom row */
+.options-group .custom-row {
+	grid-column-start: span 2;
+	width: 70vw
+}
+
+.options-group select {
+	border: none; /* outline instead of border */
+	/* left & right outline overlap each other so we don't have a double border */
+	outline: solid 2px var(--button-border-color);
+	margin-left: 2px;
+	min-width: 12em;
+	/* move in front of a potential textbox, so the outline overlaps the border of the textbox */
+	position: relative;
+	z-index: 1;
+}
+
+.options-group select:hover {
+	outline: solid 2px #eee;
+}
+
+/* double column */
+@media only screen and (min-width: 1600px) {
+	.options-group.double {
+		grid-template-columns: max-content auto max-content auto;
+	}
+
+	.options-group.double .custom-row {
+		width: 35vw
+	}
 }
 
+/* other */
 .subHeading {
 	width: 85%;
 	text-align: center;
 	margin-top: 1.5em;
 }
+
 .scLink {
 	width: 85%;
 	text-align: center;
@@ -104,8 +144,3 @@ table.invisible {
     border-spacing: 5px;
     margin:1em auto;
 }
-
-/* custom row */
-.options-group .custom-row {
-	grid-column-start: span 2;
-}
diff --git a/src/gui/options/descriptionOptions.js b/src/gui/options/descriptionOptions.js
new file mode 100644
index 0000000000000000000000000000000000000000..6b4e0da08707ff4981c98a0cf8784a82d6660807
--- /dev/null
+++ b/src/gui/options/descriptionOptions.js
@@ -0,0 +1,70 @@
+App.UI.descriptionOptions = function() {
+	const f = document.createDocumentFragment();
+	App.UI.DOM.appendNewElement("h1", f, "Description Options");
+
+	App.UI.DOM.appendNewElement("p", f,
+		"These options will affect both the long form description of each slave and the miniscenes available from the main menu.",
+		"scene-intro");
+
+	const options = new App.UI.OptionsGroup();
+
+	options.addOption("", "surnameOrder")
+		.addValue("Allow nationality name order", 0).customDescription("Order names ''based on country of origin''.")
+		.addValue("Force name surname", 1).customDescription("Names will always be ''Name Surname''.")
+		.addValue("Force surname name", 2).customDescription("Names will always be ''Surname Name''.");
+
+	options.addOption("", "seeRace")
+		.addValue("Disable most mentions of race", 0).off()
+		.customDescription("Ethnicity will ''almost never'' be mentioned.")
+		.addValue("Enable mentions of race", 1).on().customDescription("Ethnicity will ''occasionally'' be mentioned.");
+
+	options.addOption("", "seeNationality")
+		.addValue("Disable most mentions of nationality", 0).off()
+		.customDescription("Nationality will ''almost never'' be mentioned.")
+		.addValue("Enable mentions of nationality", 1).on()
+		.customDescription("Nationality will ''occasionally'' be mentioned.");
+
+	options.addOption("The effects of implants are", "showImplantEffects")
+		.addValue("Shown", 1).on().addValue("Hidden", 0).off();
+
+	options.addOption("Clothing is mostly", "showClothing")
+		.addValue("Shown", 1).on().addValue("Hidden", 0).off();
+
+	options.addOption("Detailed slave age information is", "showAgeDetail")
+		.addValue("Shown", 1).on().addValue("Hidden", 0).off();
+
+	options.addOption("Approximate height is", "showHeightCMs")
+		.addValue("Shown", 1).on().addValue("Hidden", 0).off();
+
+	options.addOption("Cosmetic body mods are", "showBodyMods")
+		.addValue("Shown", 1).on().addValue("Hidden", 0).off();
+
+	options.addOption("Sexual histories are", "showSexualHistory")
+		.addValue("Shown", 1).on().addValue("Hidden", 0).off();
+
+	options.addOption("Attractiveness and Sexual scores are", "showScores")
+		.addValue("Shown", 1).on().addValue("Hidden", 0).off();
+
+	options.addOption("Volume, in CCs, of breasts is", "showBoobCCs")
+		.addValue("Shown", 1).on().addValue("Hidden", 0).off();
+
+	options.addOption("Height and length units are in", "showInches")
+		.addValueList([["Metric", 0], ["Both", 1], ["Imperial", 2]]);
+
+	if (V.seeDicks > 0) {
+		options.addOption("Approximate sizes of dicks and balls are", "showDickCMs")
+			.addValue("Shown", 1).on().addValue("Hidden", 0).off();
+	}
+
+	options.addOption("Numbers are displayed as", "showNumbers")
+		.addValueList([["Integers", 2], ["Both", 1], ["Words", 0]]);
+
+	if (V.showNumbers === 1) {
+		options.addOption("Only numbers up to $showNumbersMax are displayed as words", "showNumbersMax")
+			.addValue("Default (20)", 20).showTextBox();
+	}
+
+	App.UI.DOM.appendNewElement("p", f, options.render());
+
+	return f;
+};
diff --git a/src/gui/options/descriptionOptions.tw b/src/gui/options/descriptionOptions.tw
deleted file mode 100644
index b4b0c1a7075d5b046b65e1b92fdaf8ac4a4ede47..0000000000000000000000000000000000000000
--- a/src/gui/options/descriptionOptions.tw
+++ /dev/null
@@ -1,74 +0,0 @@
-:: Description Options [nobr jump-to-safe jump-from-safe]
-
-<<set $nextButton = "Back">>
-<<if $storedLink !== "Slave Interact">>
-	<<if lastVisited("Slave Interact") === 1>>
-		<<set $storedLink = "Slave Interact">>
-	<<else>>
-		<<set $storedLink = "Options">>
-	<</if>>
-<</if>>
-<<set $nextLink = $storedLink>>
-
-<h1>Description Options</h1>
-
-//These options will affect both the long form description of each slave and the miniscenes available from the main menu.//
-
-<<set _options = new App.UI.OptionsGroup()>>
-
-<<run _options.addOption("", "surnameOrder")
-.addValue("Allow nationality name order", 0).customDescription("Order names ''based on country of origin''.")
-.addValue("Force name surname", 1).customDescription("Names will always be ''Name Surname''.")
-.addValue("Force surname name", 2).customDescription("Names will always be ''Surname Name''.")>>
-
-<<run _options.addOption("", "seeRace")
-.addValue("Disable most mentions of race", 0).off().customDescription("Ethnicity will ''almost never'' be mentioned.")
-.addValue("Enable mentions of race", 1).on().customDescription("Ethnicity will ''occasionally'' be mentioned.")>>
-
-<<run _options.addOption("", "seeNationality")
-.addValue("Disable most mentions of nationality", 0).off().customDescription("Nationality will ''almost never'' be mentioned.")
-.addValue("Enable mentions of nationality", 1).on().customDescription("Nationality will ''occasionally'' be mentioned.")>>
-
-<<run _options.addOption("The effects of implants are", "showImplantEffects")
-.addValue("Shown", 1).on().addValue("Hidden", 0).off()>>
-
-<<run _options.addOption("Clothing is mostly", "showClothing")
-.addValue("Shown", 1).on().addValue("Hidden", 0).off()>>
-
-<<run _options.addOption("Detailed slave age information is", "showAgeDetail")
-.addValue("Shown", 1).on().addValue("Hidden", 0).off()>>
-
-<<run _options.addOption("Approximate height is", "showHeightCMs")
-.addValue("Shown", 1).on().addValue("Hidden", 0).off()>>
-
-<<run _options.addOption("Cosmetic body mods are", "showBodyMods")
-.addValue("Shown", 1).on().addValue("Hidden", 0).off()>>
-
-<<run _options.addOption("Sexual histories are", "showSexualHistory")
-.addValue("Shown", 1).on().addValue("Hidden", 0).off()>>
-
-<<run _options.addOption("Attractiveness and Sexual scores are", "showScores")
-.addValue("Shown", 1).on().addValue("Hidden", 0).off()>>
-
-<<run _options.addOption("Volume, in CCs, of breasts is", "showBoobCCs")
-.addValue("Shown", 1).on().addValue("Hidden", 0).off()>>
-
-<<run _options.addOption("Height and length units are in", "showInches")
-.addValueList([["Metric", 0], ["Both", 1], ["Imperial", 2]])>>
-
-
-<<if $seeDicks > 0>> <br>
-	<<run _options.addOption("Approximate sizes of dicks and balls are", "showDickCMs")
-	.addValue("Shown", 1).on().addValue("Hidden", 0).off()>>
-<</if>>
-
-
-<<run _options.addOption("Numbers are displayed as", "showNumbers")
-.addValueList([["Integers", 2], ["Both", 1], ["Words", 0]])>>
-
-<<if $showNumbers === 1>>
-	<<run _options.addOption("Only numbers up to $showNumbersMax are displayed as words", "showNumbersMax")
-	.addValue("Default (20)", 20).showTextBox()>>
-<</if>>
-
-<<includeDOM _options.render()>>
diff --git a/src/gui/options/hotkeySettings.tw b/src/gui/options/hotkeySettings.tw
deleted file mode 100644
index b1bf6388eacc1f4df01bd3ee5d965dceab84e39e..0000000000000000000000000000000000000000
--- a/src/gui/options/hotkeySettings.tw
+++ /dev/null
@@ -1,27 +0,0 @@
-:: Hotkey Settings [nobr jump-to-safe jump-from-safe]
-
-<<set $nextButton = "Back", $nextLink = "Main">>
-
-<h1>Hotkey Settings</h1>
-
-<p>
-    <ul>
-        <li>
-            On keyboard layouts other than the <a href="https://en.wikipedia.org/wiki/File:KB_United_States.svg"
-            target="_blank">US-QWERTY layout</a>  there may be keys or combinations of keys where the recorded key is
-            different from the key used to listen to key events. You will have to find these keys yourself through trial
-            and error.
-        </li>
-        <li>
-            Custom hotkeys are browser specific and are not part of your save.
-        </li>
-        <li>
-            While we try not to overwrite browser or OS level key combinations it is possible to do so with custom
-            hotkeys. This also means that during recording of custom hotkeys no browser or OS level key combinations are
-            available. There are however keys that cannot be overwritten, the <code>Win key</code> on Windows is an
-            example for this.
-        </li>
-    </ul>
-</p>
-
-<<includeDOM App.UI.Hotkeys.settings()>>
diff --git a/src/gui/options/options.js b/src/gui/options/options.js
index f4ad29f7a0ecf6353d51a332d513d23adb284d9d..a6ffd81760751d90cabb3ebeff05929bc7c4e08f 100644
--- a/src/gui/options/options.js
+++ b/src/gui/options/options.js
@@ -2,9 +2,8 @@ App.UI.OptionsGroup = (function() {
 	class Row {
 		/**
 		 * @param {HTMLDivElement} container
-		 * @param {boolean} doubleColumn
 		 */
-		render(container, doubleColumn) {} // jshint ignore:line
+		render(container) {} // jshint ignore:line
 	}
 
 	/**
@@ -65,6 +64,17 @@ App.UI.OptionsGroup = (function() {
 			return this;
 		}
 
+		/**
+		 * @param {Map} values
+		 * @returns {Option}
+		 */
+		addValueMap(values) {
+			for (const [key, value] of values) {
+				this.addValue(key, value);
+			}
+			return this;
+		}
+
 		/**
 		 * @param {*} value
 		 * @param {number} compareValue
@@ -79,14 +89,13 @@ App.UI.OptionsGroup = (function() {
 		}
 
 		/**
-		 * @param {string} [unit]
+		 * @param {Object} [params]
+		 * @param {string} [params.unit]
+		 * @param {boolean} [params.large=false]
 		 * @returns {Option}
 		 */
-		showTextBox(unit) {
-			this.textbox = true;
-			if (unit) {
-				this.unit = unit;
-			}
+		showTextBox({unit, large = false} = {}) {
+			this.textbox = {unit: unit, large: large};
 			return this;
 		}
 
@@ -114,12 +123,12 @@ App.UI.OptionsGroup = (function() {
 		}
 
 		/**
-		 * @param {string} element can be SC markup
+		 * @param {Node} node
 		 * @returns {Option}
 		 */
-		addCustomElement(element) {
+		addCustomDOM(node) {
 			this.valuePairs.push({
-				value: element, mode: "plain"
+				value: node, mode: "DOM"
 			});
 			return this;
 		}
@@ -144,6 +153,14 @@ App.UI.OptionsGroup = (function() {
 			return this;
 		}
 
+		/**
+		 * @param {Function} callback gets executed on every button click. Selected value is given as argument.
+		 */
+		addCallbackToEach(callback) {
+			this.valuePairs.forEach(pair => pair.callback = callback);
+			return this;
+		}
+
 		/**
 		 * Mark option as on to style differently.
 		 * @returns {Option}
@@ -171,6 +188,16 @@ App.UI.OptionsGroup = (function() {
 			return this;
 		}
 
+		/**
+		 * Puts the options in side a pulldown if there are at least 6.
+		 * Not counting text boxes or comments.
+		 * @returns {Option}
+		 */
+		pulldown() {
+			this.enablePulldown = true;
+			return this;
+		}
+
 		/**
 		 * @param {HTMLDivElement} container
 		 */
@@ -187,11 +214,11 @@ App.UI.OptionsGroup = (function() {
 
 			const buttonGroup = document.createElement("div");
 			buttonGroup.classList.add("button-group");
-			if (this.valuePairs.length < 6) {
+			if (!this.enablePulldown || this.valuePairs.length < 6) {
 				for (const value of this.valuePairs) {
-					if (value.mode === "plain") {
-						/* insert custom SC markup and go to next element */
-						$(buttonGroup).wiki(value.value);
+					if (value.mode === "DOM") {
+						/* insert DOM and go to next element */
+						buttonGroup.append(value.value);
 						continue;
 					}
 					const button = document.createElement("button");
@@ -243,8 +270,8 @@ App.UI.OptionsGroup = (function() {
 					buttonGroup.append(button);
 				}
 			} else {
+				let matchFound = false;
 				let select = document.createElement("select");
-				select.classList.add("rajs-list");
 
 				for (const value of this.valuePairs) {
 					let el = document.createElement("option");
@@ -252,9 +279,13 @@ App.UI.OptionsGroup = (function() {
 					el.value = value.value;
 					if (this.object[this.property] === value.value) {
 						el.selected = true;
+						matchFound = true;
 					}
 					select.appendChild(el);
 				}
+				if (!matchFound) {
+					select.selectedIndex = -1;
+				}
 				select.onchange = () => {
 					const O = select.options[select.selectedIndex];
 					if (isNaN(Number(O.value))) {
@@ -262,6 +293,10 @@ App.UI.OptionsGroup = (function() {
 					} else {
 						this.object[this.property] = Number(O.value);
 					}
+					const originalObj = this.valuePairs.find(obj => obj.name === O.textContent);
+					if (originalObj && typeof originalObj.callback === "function") {
+						originalObj.callback();
+					}
 					App.UI.reload();
 				};
 				buttonGroup.append(select);
@@ -276,11 +311,15 @@ App.UI.OptionsGroup = (function() {
 				if (isNumber) {
 					textbox.classList.add("number");
 				}
+				if (this.textbox.large) {
+					textbox.classList.add("full-width");
+				}
 				buttonGroup.append(textbox);
-				if (this.unit) {
-					buttonGroup.append(" ", this.unit);
+				if (this.textbox.unit) {
+					buttonGroup.append(" ", this.textbox.unit);
 				}
 			}
+
 			if (this.comment) {
 				const comment = document.createElement("span");
 				comment.classList.add("comment");
@@ -340,16 +379,10 @@ App.UI.OptionsGroup = (function() {
 
 		/**
 		 * @param {HTMLDivElement} container
-		 * @param {boolean}doubleColumn
 		 */
-		render(container, doubleColumn) {
+		render(container) {
 			/** @type {HTMLDivElement} */
 			const div = App.UI.DOM.makeElement("div", this.element, "custom-row");
-			let factor = 0.7;
-			if (doubleColumn) {
-				factor *= 0.5;
-			}
-			div.style.width = `${Math.round(window.innerWidth * factor)}px`;
 			container.append(div);
 		}
 	}
diff --git a/src/gui/options/options.tw b/src/gui/options/options.tw
deleted file mode 100644
index ca66ab0ffb92b01a2d5066879ccc78c592c88172..0000000000000000000000000000000000000000
--- a/src/gui/options/options.tw
+++ /dev/null
@@ -1,11 +0,0 @@
-:: Options [nobr jump-to-safe jump-from-safe]
-
-<<if lastVisited("Slave Interact") === 1>>
-	<<set $storedLink = "Slave Interact">>
-<<else>>
-	<<set $storedLink = "Main">>
-<</if>>
-
-<<set $nextButton = "Back", $nextLink = $storedLink, $encyclopedia = "How to Play">>
-
-<<includeDOM App.UI.optionsPassage()>>
\ No newline at end of file
diff --git a/src/gui/options/optionsPassage.js b/src/gui/options/optionsPassage.js
index 02f2dbfbe2006106f142f4b51489151709ce3bec..74cbea915f9176f506b76654c5beca92560d623e 100644
--- a/src/gui/options/optionsPassage.js
+++ b/src/gui/options/optionsPassage.js
@@ -446,7 +446,7 @@ App.UI.optionsPassage = function() {
 
 		if (V.secExpEnabled > 0) {
 			if (Object.values(V.SecExp).length === 0) {
-				el.append(App.UI.DOM.renderPassage("SecExpBackwardCompatibility"));
+				App.SecExp.generalBC();
 				Engine.play("Options");
 			}
 			App.UI.DOM.appendNewElement("h2", el, `Security Expansion mod options`);
@@ -663,7 +663,7 @@ App.UI.optionsPassage = function() {
 				links.push(App.UI.DOM.link(
 					"Give militia manpower",
 					() => {
-						V.militiaFreeManpower += 30;
+						V.SecExp.units.militia.free += 30;
 					},
 					[],
 					"Options"
@@ -671,7 +671,7 @@ App.UI.optionsPassage = function() {
 				links.push(App.UI.DOM.link(
 					"Remove militia manpower",
 					() => {
-						V.militiaFreeManpower = Math.max(V.militiaFreeManpower - 30, 0);
+						V.SecExp.units.militia.free = Math.max(V.SecExp.units.militia.free - 30, 0);
 					},
 					[],
 					"Options"
@@ -685,7 +685,7 @@ App.UI.optionsPassage = function() {
 				links.push(App.UI.DOM.link(
 					"Give mercs manpower",
 					() => {
-						V.mercFreeManpower += 30;
+						V.SecExp.units.mercs.free += 30;
 					},
 					[],
 					"Options"
@@ -693,7 +693,7 @@ App.UI.optionsPassage = function() {
 				links.push(App.UI.DOM.link(
 					"Remove mercs manpower",
 					() => {
-						V.mercFreeManpower = Math.max(V.mercFreeManpower - 30, 0);
+						V.SecExp.units.mercs.free = Math.max(V.SecExp.units.mercs.free - 30, 0);
 					},
 					[],
 					"Options"
@@ -725,14 +725,8 @@ App.UI.optionsPassage = function() {
 				["random", [100]],
 			]);
 
-			for (const unit of V.militiaUnits) {
-				unit.loyalty = numberGenerator();
-			}
-			for (const unit of V.slaveUnits) {
-				unit.loyalty = numberGenerator();
-			}
-			for (const unit of V.mercUnits) {
-				unit.loyalty = numberGenerator();
+			for (const squad of App.SecExp.unit.humanSquads()) {
+				squad.loyalty = numberGenerator();
 			}
 
 			function numberGenerator() {
diff --git a/src/gui/options/summaryOptions.tw b/src/gui/options/summaryOptions.tw
deleted file mode 100644
index a5fcb72e82afd398b58281ee7dc2ec44b94d0462..0000000000000000000000000000000000000000
--- a/src/gui/options/summaryOptions.tw
+++ /dev/null
@@ -1,14 +0,0 @@
-:: Summary Options [nobr jump-to-safe jump-from-safe]
-
-<<set $nextButton = "Back">>
-<<if $storedLink !== "Slave Interact" && $storedLink !== "Main">>
-	<<if lastVisited("Main") === 1>>
-		<<set $storedLink = "Main">>
-	<<else>>
-		<<set $storedLink = "Options">>
-	<</if>>
-<</if>>
-<<set $nextLink = $storedLink>>
-<<set $passageSwitchHandler = App.EventHandlers.optionsChanged>>
-
-<<includeDOM App.UI.summaryOptions()>>
\ No newline at end of file
diff --git a/src/gui/storyCaption.js b/src/gui/storyCaption.js
index a06d7cad81f40bc6dfb88cb17c42f799b7a6d28b..c5fe10d4fa5ebc1f720b22fd88d3784ab48a145b 100644
--- a/src/gui/storyCaption.js
+++ b/src/gui/storyCaption.js
@@ -142,6 +142,17 @@ App.UI.storyCaption = function() {
 			div.append(" since last week)");
 			fragment.append(div);
 		}
+		if (V.lastCashTransaction) {
+			const transaction = document.createElement("div");
+			App.UI.DOM.appendNewElement("span", transaction, `Last transaction`, css);
+			transaction.append(" | ");
+			if (V.lastCashTransaction > 0) {
+				App.UI.DOM.appendNewElement("span", transaction, cashFormat(V.lastCashTransaction), css);
+			} else {
+				App.UI.DOM.appendNewElement("span", transaction, cashFormat(V.lastCashTransaction), ["cash", "dec"]);
+			}
+			fragment.append(transaction);
+		}
 
 		if (showCheats()) {
 			fragment.append(App.UI.DOM.makeTextBox(V.cash, cash => {
diff --git a/src/interaction/prostheticConfig.tw b/src/interaction/prostheticConfig.tw
index dc84c4ea06d63de195ca06c57a653ff27a52fd64..4326995e2739557b650eb27dddce73f1203e6b58 100644
--- a/src/interaction/prostheticConfig.tw
+++ b/src/interaction/prostheticConfig.tw
@@ -273,7 +273,7 @@ This room is lined with shelves and cabinets; it could be easily mistaken for a
 <p class="choices">
 //Fit prosthetics to $him://
 
-<div class="buyProsthetics">
+<div class="buy-prosthetics">
 	<div></div>
 	<div>''Buy and fit''</div>
 	<div>
@@ -297,52 +297,56 @@ This room is lined with shelves and cabinets; it could be easily mistaken for a
 		<<if $adjustProsthetics.findIndex(function(p) {return p.id == _p && p.slaveID == getSlave($AS).ID}) != -1 || $researchLab.tasks.findIndex(function(p) {return p.type == "craftFit" && p.id == _p && p.slaveID == getSlave($AS).ID}) != -1>>
 			<div class="full">//Currently being fitted to $him.//</div>
 		<<elseif setup.prosthetics[_p].level > $prostheticsUpgrade>>
-			<div class="full">//Better contracts are needed to buy this.//</div>
+			<div class="full">//Better contracts are needed to buy these.//</div>
 		<<elseif isProstheticAvailable(getSlave($AS), _p)>>
 			<div class="full">//Completed.//</div>
 		<<else>>
 			<<capture _p>>
 			<div>
-			<<if $prosthetics[_p].amount > 0>>
-				<<link "From storage" "Prosthetics Configuration">>
-					<<set $adjustProsthetics.push({id: _p, workLeft: setup.prosthetics[_p].adjust, slaveID: getSlave($AS).ID}), $prosthetics[_p].amount -= 1>>
-				<</link>>
-			<<else>>
-				<<link "<<= cashFormat(setup.prosthetics[_p].costs)>>" "Prosthetics Configuration">>
-					<<set $adjustProsthetics.push({id: _p, workLeft: setup.prosthetics[_p].adjust, slaveID: getSlave($AS).ID}), cashX(forceNeg(setup.prosthetics[_p].costs), "slaveMod", getSlave($AS))>>
-				<</link>>
-			<</if>>
+				<<if $prosthetics[_p].amount > 0>>
+					<<link "From storage" "Prosthetics Configuration">>
+						<<set $adjustProsthetics.push({id: _p, workLeft: setup.prosthetics[_p].adjust, slaveID: getSlave($AS).ID}), $prosthetics[_p].amount -= 1>>
+					<</link>>
+				<<else>>
+					<<link "<<= cashFormat(setup.prosthetics[_p].costs)>>" "Prosthetics Configuration">>
+						<<set $adjustProsthetics.push({id: _p, workLeft: setup.prosthetics[_p].adjust, slaveID: getSlave($AS).ID}), cashX(forceNeg(setup.prosthetics[_p].costs), "slaveMod", getSlave($AS))>>
+					<</link>>
+				<</if>>
 			</div>
 			<<if $prosthetics[_p].research > 0>>
-			<div style="text-align:center">
-			<<if $researchLab.level > 0 && $prosthetics[_p].research > 0>>
-				<<link "Construct" "Prosthetics Configuration">>
-					<<set $researchLab.tasks.push({
-						type: "craftFit",
-						id: _p,
-						workLeft: (setup.prosthetics[_p].adjust + setup.prosthetics[_p].craft) / 1.5,
-						slaveID: $AS})>>
-					/* 1.5: longer than adjust, but faster than adjust+craft. */
-				<</link>>
-			<</if>>
-			</div>
-			<div style="text-align:right">
-			<<if $researchLab.speed >= 300 && $prosthetics[_p].research > 0>> /* max speed */
-			<<if $prosthetics[_p].amount > 0>>
-				<<link "From storage: <<= cashFormat(setup.prosthetics[_p].adjust * 50)>>" "Prosthetics Configuration">>
-					<<set cashX(forceNeg(setup.prosthetics[_p].costs * 1.5), "slaveMod", getSlave($AS)), addProsthetic(getSlave($AS), _p)>>
-				<</link>>
-			<<else>>
-				<<link "<<= cashFormat(setup.prosthetics[_p].costs + setup.prosthetics[_p].adjust * 100)>>" "Prosthetics Configuration">>
-					<<set cashX(forceNeg(setup.prosthetics[_p].costs + setup.prosthetics[_p].adjust * 100), "slaveMod", getSlave($AS)), addProsthetic(getSlave($AS), _p)>>
-				<</link>>
-			<</if>>
-			<</if>>
-			</div>
+				<div style="text-align:center">
+					<<if $researchLab.level > 0 && $prosthetics[_p].research > 0>>
+						<<link "Construct" "Prosthetics Configuration">>
+							<<set $researchLab.tasks.push({
+								type: "craftFit",
+								id: _p,
+								workLeft: (setup.prosthetics[_p].adjust + setup.prosthetics[_p].craft) / 1.5,
+								slaveID: $AS})>>
+							/* 1.5: longer than adjust, but faster than adjust+craft. */
+						<</link>>
+					<</if>>
+				</div>
+				<div style="text-align:right">
+					<<if $researchLab.speed >= 300 && $prosthetics[_p].research > 0>> /* max speed */
+						<<if $prosthetics[_p].amount > 0>>
+							<<link "From storage: <<= cashFormat(setup.prosthetics[_p].adjust * 50)>>" "Prosthetics Configuration">>
+								<<set cashX(forceNeg(setup.prosthetics[_p].costs * 1.5), "slaveMod", getSlave($AS)), addProsthetic(getSlave($AS), _p)>>
+							<</link>>
+						<<else>>
+							<<link "<<= cashFormat(setup.prosthetics[_p].costs + setup.prosthetics[_p].adjust * 100)>>" "Prosthetics Configuration">>
+								<<set cashX(forceNeg(setup.prosthetics[_p].costs + setup.prosthetics[_p].adjust * 100), "slaveMod", getSlave($AS)), addProsthetic(getSlave($AS), _p)>>
+							<</link>>
+						<</if>>
+					<</if>>
+				</div>
 			<<elseif $researchLab.level > 0>>
-			<div class="research">
-				//Not researched.//
-			</div>
+				<div class="research">
+					//Not researched.//
+				</div>
+			<<else>>
+				<div class="research">
+					//You need to construct a lab first.//
+				</div>
 			<</if>>
 			<</capture>>
 		<</if>>
diff --git a/src/interaction/siDescription.js b/src/interaction/siDescription.js
index daeceffb745707c99d9a8ba818a6e2c1175b9f6d..86fddfb5659cd962e0907b9fb29e99188beb0898 100644
--- a/src/interaction/siDescription.js
+++ b/src/interaction/siDescription.js
@@ -34,7 +34,7 @@ App.UI.SlaveInteract.description = function(slave) {
 			"Description Options",
 			() => {
 				jQuery("#description-link").empty().append(hideOptions());
-				jQuery("#description-options").empty().append(App.UI.DOM.renderPassage("Description Options"));
+				jQuery("#description-options").empty().append(App.UI.descriptionOptions());
 			}
 		);
 	}
diff --git a/src/interaction/siFinancial.js b/src/interaction/siFinancial.js
index ab933946cde9fa6e5a0b92bd8ff733d6481847b3..9985fef2c627fe88a55572f7be9606b9e05c0d22 100644
--- a/src/interaction/siFinancial.js
+++ b/src/interaction/siFinancial.js
@@ -117,9 +117,13 @@ App.UI.SlaveInteract.financial = function(slave) {
 				r.push(App.UI.DOM.generateLinksStrip(linkArray));
 				App.Events.addNode(el, r, "div");
 
-				if (V.PC.career === "escort") {
+				if (V.PC.career === "escort" || V.PC.career === "prostitute" || V.PC.career === "child prostitute") {
 					r = [];
-					r.push(`You retain some contacts from your past life in the industry that may be willing to cut you some discounts should you return to it.`);
+					if (V.PC.career === "escort") {
+						r.push(`You retain some contacts from your past life in the industry that may be willing to cut you some discounts should you return to it.`);
+					} else {
+						r.push(`You were approached in the past to star in some adult films and they may be willing to cut you some discounts should you accept their offer.`);
+					}
 					if (V.PCSlutContacts !== 2) {
 						r.push(`You are not baring your body for all to see.`);
 						r.push(
@@ -132,7 +136,13 @@ App.UI.SlaveInteract.financial = function(slave) {
 							)
 						);
 					} else {
-						r.push(`You are starring in hardcore porn once more.`);
+						if (V.PC.career === "escort") {
+							r.push(`You are starring in hardcore porn once more.`);
+						} else if (V.PC.actualAge < $minimumSlaveAge) {
+							r.push(`You are taking part in porn that may disturb people.`);
+						} else {
+							r.push(`You are starring in some hardcore porn.`);
+						}
 						r.push(
 							App.UI.DOM.link(
 								`Stop doing porn for a discount`,
@@ -144,7 +154,7 @@ App.UI.SlaveInteract.financial = function(slave) {
 						);
 					}
 					App.Events.addNode(el, r, "div");
-				}
+				} 
 			}
 			if (V.studioFeed === 1) {
 				r = [];
@@ -177,7 +187,7 @@ App.UI.SlaveInteract.financial = function(slave) {
 	}
 
 	if (V.slaves.length < 2) {
-		r.push("You cannot sell your last save");
+		r.push("You cannot sell your last slave");
 	} else if (slave.origin === "You bought ${him} from a body dump, completely broken." && (V.week - slave.weekAcquired <= 8)) {
 		r.push(`A discarded slave must be kept for at least two months to ensure health before being sold.`);
 	} else if (slave.accent > 3) {
diff --git a/src/interaction/siWardrobe.js b/src/interaction/siWardrobe.js
index 68b650df96294f3f58080236e807a20e0fbca294..614878e4b25b0ef7e6b37d832314ca1a2642bffb 100644
--- a/src/interaction/siWardrobe.js
+++ b/src/interaction/siWardrobe.js
@@ -1,39 +1,36 @@
 App.UI.SlaveInteract.wardrobe = function(slave) {
 	const {
 		// eslint-disable-next-line no-unused-vars
-		he,
 		him,
 		his,
 	} = getPronouns(slave);
-	const el = new DocumentFragment();
-	el.append(clothes());
+	const frag = new DocumentFragment();
+	frag.append(clothes());
 	if (slave.fuckdoll === 0) {
-		el.append(collar());
-		el.append(mask());
-		el.append(mouth());
-		el.append(armAccessory());
-		el.append(shoes());
-		el.append(legAccessory());
-		el.append(bellyAccessory());
-		el.append(buttplug());
-		el.append(buttplugAttachment());
-		el.append(vaginalAccessory());
-		el.append(vaginalAttachment());
-		el.append(dickAccessory());
-		el.append(chastity());
+		frag.append(collar());
+		frag.append(mask());
+		frag.append(mouth());
+		frag.append(armAccessory());
+		frag.append(shoes());
+		frag.append(legAccessory());
+		frag.append(bellyAccessory());
+		frag.append(buttplug());
+		frag.append(buttplugAttachment());
+		frag.append(vaginalAccessory());
+		frag.append(vaginalAttachment());
+		frag.append(dickAccessory());
+		frag.append(chastity());
 	}
 
-	App.UI.DOM.appendNewElement("h3", el, `Shopping`);
-	el.append(shopping());
+	App.UI.DOM.appendNewElement("h3", frag, `Shopping`);
+	frag.append(shopping());
 
-	return el;
+	return frag;
 
 	function clothes() {
-		let el = document.createElement('div');
+		const el = document.createElement('div');
 		let links;
 		if (slave.fuckdoll === 0) {
-			// <<= App.Desc.clothing($activeSlave)>>
-
 			let label = document.createElement('div');
 			label.append(`Clothes: `);
 
@@ -45,7 +42,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 			if (slave.clothes !== `choosing her own clothes`) {
 				let choiceOptionsArray = [];
 				choiceOptionsArray.push({text: ` Let ${him} choose`, updateSlave: {clothes: `choosing her own clothes`, choosesOwnClothes: 1}});
-				label.appendChild(App.UI.SlaveInteract.generateRows(choiceOptionsArray, slave, "clothes", false, refresh));
+				label.appendChild(generateRows(choiceOptionsArray, "clothes", false));
 			}
 			el.appendChild(label);
 
@@ -53,54 +50,40 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 			let niceOptionsArray = [];
 			let harshOptionsArray = [];
 
-			let clothingOption;
-			// Nice clothes
-			App.Data.slaveWear.niceClothes.forEach(item => {
-				clothingOption = {
-					text: item.name,
-					updateSlave: {clothes: item.value, choosesOwnClothes: 0},
-					FS: item.fs
-				};
-				niceOptionsArray.push(clothingOption);
-			});
-			// Harsh clothes
-			App.Data.slaveWear.harshClothes.forEach(item => {
-				clothingOption = {
-					text: item.name,
-					updateSlave: {clothes: item.value, choosesOwnClothes: 0},
-					FS: item.fs
+			for (const [key, object] of App.Data.clothes) {
+				if (key === "choosing her own clothes") {
+					continue;
+				}
+				const reshapedItem = {
+					text: object.name,
+					updateSlave: {clothes: key, choosesOwnClothes: 0},
+					FS: object.fs,
+					exposure: object.exposure,
 				};
-				if (item.value !== "choosing her own clothes") {
-					harshOptionsArray.push(clothingOption);
+				if (object.harsh) {
+					harshOptionsArray.push(reshapedItem);
+				} else {
+					niceOptionsArray.push(reshapedItem);
 				}
-			});
+			}
 
 			// Sort
 			niceOptionsArray = niceOptionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
 			harshOptionsArray = harshOptionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
 
 			// Nice options
-			links = document.createElement('div');
-			links.className = "choices";
-			links.append(`Nice: `);
-			links.appendChild(App.UI.SlaveInteract.generateRows(niceOptionsArray, slave, "clothes", true, refresh));
-			el.appendChild(links);
+			links = App.UI.DOM.appendNewElement("div", el, "Nice: ", "choices");
+			links.appendChild(generateRows(niceOptionsArray, "clothes", true));
 
 			// Harsh options
-			links = document.createElement('div');
-			links.className = "choices";
-			links.append(`Harsh: `);
-			links.appendChild(App.UI.SlaveInteract.generateRows(harshOptionsArray, slave, "clothes", true, refresh));
-			el.appendChild(links);
+			links = App.UI.DOM.appendNewElement("div", el, "Harsh: ", "choices");
+			links.appendChild(generateRows(harshOptionsArray, "clothes", true));
 		}
 		if (slave.fuckdoll !== 0 || slave.clothes === "restrictive latex" || slave.clothes === "a latex catsuit" || slave.clothes === "a cybersuit" || slave.clothes === "a comfortable bodysuit") {
 			if (V.seeImages === 1 && V.imageChoice === 1) {
 				// Color options
-				links = document.createElement('div');
-				links.className = "choices";
-				links.append(`Color: `);
+				links = App.UI.DOM.appendNewElement("div", el, "Color: ", "choices");
 				links.appendChild(colorOptions("clothingBaseColor"));
-				el.appendChild(links);
 			}
 		}
 
@@ -108,10 +91,9 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 	}
 
 	function collar() {
-		// <<= App.Desc.collar($activeSlave)>>
-		let el = document.createElement('div');
+		const el = document.createElement('div');
 
-		let label = document.createElement('div');
+		const label = document.createElement('div');
 		label.append(`Collar: `);
 
 		let choice = App.UI.DOM.disabledLink(`${slave.collar}`, [clothTooltip(`${slave.collar}`)]);
@@ -122,7 +104,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		if (slave.collar !== `none`) {
 			let choiceOptionsArray = [];
 			choiceOptionsArray.push({text: ` None`, updateSlave: {collar: `none`}});
-			label.appendChild(App.UI.SlaveInteract.generateRows(choiceOptionsArray, slave, "collar", false, refresh));
+			label.appendChild(generateRows(choiceOptionsArray, "collar", false));
 		}
 
 		el.appendChild(label);
@@ -130,25 +112,18 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		let niceOptionsArray = [];
 		let harshOptionsArray = [];
 
-		let clothingOption;
-		// Nice collar
-		App.Data.slaveWear.niceCollars.forEach(item => {
-			clothingOption = {
-				text: item.name,
-				updateSlave: {collar: item.value},
-				FS: item.fs
-			};
-			niceOptionsArray.push(clothingOption);
-		});
-		// Harsh collar
-		App.Data.slaveWear.harshCollars.forEach(item => {
-			clothingOption = {
-				text: item.name,
-				updateSlave: {collar: item.value},
-				FS: item.fs
+		for (const [key, object] of App.Data.slaveWear.collars) {
+			const reshapedItem = {
+				text: object.name,
+				updateSlave: {collar: key},
+				FS: object.fs,
 			};
-			harshOptionsArray.push(clothingOption);
-		});
+			if (object.harsh) {
+				harshOptionsArray.push(reshapedItem);
+			} else {
+				niceOptionsArray.push(reshapedItem);
+			}
+		}
 
 		// Sort
 		niceOptionsArray = niceOptionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
@@ -158,23 +133,23 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		let links = document.createElement('div');
 		links.className = "choices";
 		links.append(`Nice: `);
-		links.appendChild(App.UI.SlaveInteract.generateRows(niceOptionsArray, slave, "collar", true, refresh));
+		links.appendChild(generateRows(niceOptionsArray, "collar", true));
 		el.appendChild(links);
 
 		// Harsh options
 		links = document.createElement('div');
 		links.className = "choices";
 		links.append(`Harsh: `);
-		links.appendChild(App.UI.SlaveInteract.generateRows(harshOptionsArray, slave, "collar", true, refresh));
+		links.appendChild(generateRows(harshOptionsArray, "collar", true));
 		el.appendChild(links);
 
 		return el;
 	}
 
 	function mask() {
-		let el = document.createElement('div');
+		const el = document.createElement('div');
 
-		let label = document.createElement('div');
+		const label = document.createElement('div');
 		label.append(`Mask: `);
 
 		let choice = App.UI.DOM.disabledLink(`${slave.faceAccessory} `, [clothTooltip(`${slave.faceAccessory}`)]);
@@ -185,29 +160,28 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		if (slave.faceAccessory !== `none`) {
 			let choiceOptionsArray = [];
 			choiceOptionsArray.push({text: ` None`, updateSlave: {faceAccessory: `none`}});
-			label.appendChild(App.UI.SlaveInteract.generateRows(choiceOptionsArray, slave, "faceAccessory", false, refresh));
+			label.appendChild(generateRows(choiceOptionsArray, "faceAccessory", false));
 		}
 
 		el.appendChild(label);
 
 		let array = [];
 
-		let clothingOption;
-		App.Data.slaveWear.faceAccessory.forEach(item => {
-			clothingOption = {
-				text: item.name,
-				updateSlave: {faceAccessory: item.value},
-				FS: item.fs
+		for (const [key, object] of App.Data.slaveWear.faceAccessory) {
+			const reshapedItem = {
+				text: object.name,
+				updateSlave: {faceAccessory: key},
+				FS: object.fs,
 			};
-			array.push(clothingOption);
-		});
+			array.push(reshapedItem);
+		}
 
 		// Sort
 		array = array.sort((a, b) => (a.text > b.text) ? 1 : -1);
 
 		let links = document.createElement('div');
 		links.className = "choices";
-		links.appendChild(App.UI.SlaveInteract.generateRows(array, slave, "faceAccessory", true, refresh));
+		links.appendChild(generateRows(array, "faceAccessory", true));
 		el.appendChild(links);
 
 		if (slave.eyewear === "corrective glasses" || slave.eyewear === "glasses" || slave.eyewear === "blurring glasses" || slave.faceAccessory === "porcelain mask") {
@@ -227,9 +201,9 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 	}
 
 	function mouth() {
-		let el = document.createElement('div');
+		const el = document.createElement('div');
 
-		let label = document.createElement('div');
+		const label = document.createElement('div');
 		label.append(`Gag: `);
 
 		let choice = App.UI.DOM.disabledLink(`${slave.mouthAccessory}`, [clothTooltip(`${slave.mouthAccessory}`)]);
@@ -240,40 +214,38 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		if (slave.mouthAccessory !== `none`) {
 			let choiceOptionsArray = [];
 			choiceOptionsArray.push({text: ` None`, updateSlave: {mouthAccessory: `none`}});
-			label.appendChild(App.UI.SlaveInteract.generateRows(choiceOptionsArray, slave, "mouthAccessory", false, refresh));
+			label.appendChild(generateRows(choiceOptionsArray, "mouthAccessory", false));
 		}
 
 		el.appendChild(label);
 
 		let array = [];
 
-		let clothingOption;
-		// mouthAccessory
-		App.Data.slaveWear.mouthAccessory.forEach(item => {
-			clothingOption = {
-				text: item.name,
-				updateSlave: {mouthAccessory: item.value},
-				FS: item.fs
+		for (const [key, object] of App.Data.slaveWear.mouthAccessory) {
+			const reshapedItem = {
+				text: object.name,
+				updateSlave: {mouthAccessory: key},
+				FS: object.fs,
 			};
-			array.push(clothingOption);
-		});
+			array.push(reshapedItem);
+		}
 
 		// Sort
 		array = array.sort((a, b) => (a.text > b.text) ? 1 : -1);
 
 		let links = document.createElement('div');
 		links.className = "choices";
-		links.appendChild(App.UI.SlaveInteract.generateRows(array, slave, "mouthAccessory", true, refresh));
+		links.appendChild(generateRows(array, "mouthAccessory", true));
 		el.appendChild(links);
 
 		return el;
 	}
 
 	function armAccessory() {
-		let el = document.createElement('div');
+		const el = document.createElement('div');
 		// App.Desc.armwear(slave)
 
-		let label = document.createElement('div');
+		const label = document.createElement('div');
 		label.append(`Arm accessory: `);
 
 		let choice = App.UI.DOM.disabledLink(`${slave.armAccessory}`, [clothTooltip(`${slave.armAccessory}`)]);
@@ -285,7 +257,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		// Choose her own
 		if (slave.armAccessory !== "none") {
 			array.push({text: ` None`, updateSlave: {armAccessory: `none`}});
-			label.appendChild(App.UI.SlaveInteract.generateRows(array, slave, "armAccessory", false, refresh));
+			label.appendChild(generateRows(array, "armAccessory", false));
 		}
 
 		el.appendChild(label);
@@ -296,16 +268,16 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 			{text: "Hand gloves", updateSlave: {armAccessory: "hand gloves"}},
 			{text: "Elbow gloves", updateSlave: {armAccessory: "elbow gloves"}}
 		];
-		links.appendChild(App.UI.SlaveInteract.generateRows(array, slave, "armAccessory", false, refresh));
+		links.appendChild(generateRows(array, "armAccessory", false));
 		el.appendChild(links);
 
 		return el;
 	}
 
 	function shoes() {
-		let el = document.createElement('div');
+		const el = document.createElement('div');
 
-		let label = document.createElement('div');
+		const label = document.createElement('div');
 		label.append(`Shoes: `);
 
 		let choice = App.UI.DOM.disabledLink(`${slave.shoes}`, [clothTooltip(`${slave.shoes}`)]);
@@ -317,22 +289,21 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 			if (slave.shoes !== `none`) {
 				let choiceOptionsArray = [];
 				choiceOptionsArray.push({text: `None`, updateSlave: {shoes: `none`}});
-				label.appendChild(App.UI.SlaveInteract.generateRows(choiceOptionsArray, slave, "shoes", false, refresh));
+				label.appendChild(generateRows(choiceOptionsArray, "shoes", false));
 			}
 			*/
 		el.appendChild(label);
 
 		let optionsArray = [];
 
-		let clothingOption;
-		App.Data.slaveWear.shoes.forEach(item => {
-			clothingOption = {
-				text: item.name,
-				updateSlave: {shoes: item.value},
-				FS: item.fs
+		for (const [key, object] of App.Data.slaveWear.shoes) {
+			const reshapedItem = {
+				text: object.name,
+				updateSlave: {shoes: key},
+				FS: object.fs,
 			};
-			optionsArray.push(clothingOption);
-		});
+			optionsArray.push(reshapedItem);
+		}
 
 		// Sort
 		// No sort here since we want light -> advanced. optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
@@ -340,7 +311,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		// Options
 		let links = document.createElement('div');
 		links.className = "choices";
-		links.appendChild(App.UI.SlaveInteract.generateRows(optionsArray, slave, "shoes", true, refresh));
+		links.appendChild(generateRows(optionsArray, "shoes", true));
 		el.appendChild(links);
 
 		if (V.seeImages === 1 && V.imageChoice === 1 && slave.shoes !== "none") {
@@ -356,12 +327,12 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 	}
 
 	function legAccessory() {
-		let el = document.createElement('div');
+		const el = document.createElement('div');
 
-		let label = document.createElement('div');
+		const label = document.createElement('div');
 		label.append(`Leg accessory: `);
 
-		let choice = App.UI.DOM.disabledLink(`${slave.legAccessory}`, [clothTooltip(`${slave.legAccessory}`)]);
+		const choice = App.UI.DOM.disabledLink(`${slave.legAccessory}`, [clothTooltip(`${slave.legAccessory}`)]);
 		choice.style.fontWeight = "bold";
 		label.appendChild(choice);
 
@@ -370,7 +341,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		// Choose her own
 		if (slave.legAccessory !== "none") {
 			array.push({text: ` None`, updateSlave: {legAccessory: `none`}});
-			label.appendChild(App.UI.SlaveInteract.generateRows(array, slave, "legAccessory", false, refresh));
+			label.appendChild(generateRows(array, "legAccessory", false));
 		}
 
 		el.appendChild(label);
@@ -381,31 +352,31 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 			{text: "Short stockings", updateSlave: {legAccessory: "short stockings"}},
 			{text: "Long stockings", updateSlave: {legAccessory: "long stockings"}}
 		];
-		links.appendChild(App.UI.SlaveInteract.generateRows(array, slave, "legAccessory", false, refresh));
+		links.appendChild(generateRows(array, "legAccessory", false));
 		el.appendChild(links);
 
 		return el;
 	}
 
 	function bellyAccessory() {
-		// <<waistDescription>><<= App.Desc.pregnancy($activeSlave)>><<clothingCorsetDescription>>
 		let choiceOptionsArray = [];
 		choiceOptionsArray.push({text: ` None`, updateSlave: {bellyAccessory: `none`}});
 
 		let optionsArray = [];
 
-		let clothingOption;
-		App.Data.slaveWear.bellyAccessories.forEach(item => {
-			clothingOption = {
-				text: item.name,
-				updateSlave: {bellyAccessory: item.value},
-				FS: item.fs
-			};
-			if (item.value !== "none") {
+		for (const [key, object] of App.Data.slaveWear.bellyAccessories) {
+			if (key === "none") {
 				// skip none in set, we set the link elsewhere.
-				optionsArray.push(clothingOption);
+				continue;
 			}
-		});
+			const reshapedItem = {
+				text: object.name,
+				updateSlave: {bellyAccessory: key},
+				FS: object.fs,
+			};
+			optionsArray.push(reshapedItem);
+		}
+
 		// Sort
 		// No sort here since we want small -> large.optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
 
@@ -420,7 +391,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 
 		// Choose her own
 		if (slave.bellyAccessory !== `none`) {
-			label.appendChild(App.UI.SlaveInteract.generateRows(choiceOptionsArray, slave, "bellyAccessory", false, refresh));
+			label.appendChild(generateRows(choiceOptionsArray, "bellyAccessory", false));
 		}
 
 		el.appendChild(label);
@@ -428,7 +399,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		// Options
 		let links = document.createElement('div');
 		links.className = "choices";
-		links.appendChild(App.UI.SlaveInteract.generateRows(optionsArray, slave, "bellyAccessory", true, refresh));
+		links.appendChild(generateRows(optionsArray, "bellyAccessory", true));
 		if (slave.pregKnown === 1) {
 			let note = document.createElement('span');
 			note.className = "note";
@@ -442,9 +413,9 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 
 	function buttplug() {
 		// App.Desc.buttplug(slave)
-		let el = document.createElement('div');
+		const el = document.createElement('div');
 
-		let label = document.createElement('div');
+		const label = document.createElement('div');
 		label.append(`Anal accessory: `);
 
 		let choice = App.UI.DOM.disabledLink(`${slave.buttplug}`, [clothTooltip(`${slave.buttplug}`)]);
@@ -454,24 +425,24 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		if (slave.buttplug !== `none`) {
 			let choiceOptionsArray = [];
 			choiceOptionsArray.push({text: ` None`, updateSlave: {buttplug: `none`, buttplugAttachment: `none`}});
-			label.appendChild(App.UI.SlaveInteract.generateRows(choiceOptionsArray, slave, "buttplug", false, refresh));
+			label.appendChild(generateRows(choiceOptionsArray, "buttplug", false));
 		}
 		el.appendChild(label);
 
 		let optionsArray = [];
 
-		let clothingOption;
-		App.Data.slaveWear.buttplugs.forEach(item => {
-			clothingOption = {
-				text: item.name,
-				updateSlave: {buttplug: item.value},
-				FS: item.fs
-			};
-			if (item.value !== "none") {
+		for (const [key, object] of App.Data.slaveWear.buttplugs) {
+			if (key === "none") {
 				// skip none in set, we set the link elsewhere.
-				optionsArray.push(clothingOption);
+				continue;
 			}
-		});
+			const reshapedItem = {
+				text: object.name,
+				updateSlave: {buttplug: key},
+				FS: object.fs,
+			};
+			optionsArray.push(reshapedItem);
+		}
 
 		// Sort
 		// No sort here since we want small -> large. optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
@@ -479,46 +450,46 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		// Options
 		let links = document.createElement('div');
 		links.className = "choices";
-		links.appendChild(App.UI.SlaveInteract.generateRows(optionsArray, slave, "buttplug", true, refresh));
+		links.appendChild(generateRows(optionsArray, "buttplug", true));
 		el.appendChild(links);
 
 		return el;
 	}
 
 	function buttplugAttachment() {
-		let el = document.createElement('div');
+		const el = document.createElement('div');
 		if (slave.buttplug === "none") {
 			return el;
 		}
 
-		let label = document.createElement('div');
+		const label = document.createElement('div');
 		label.append(`Anal accessory attachment: `);
 
-		let choice = App.UI.DOM.disabledLink(`${slave.buttplugAttachment}`, [clothTooltip(`${slave.buttplugAttachment}`)]);
+		const choice = App.UI.DOM.disabledLink(`${slave.buttplugAttachment}`, [clothTooltip(`${slave.buttplugAttachment}`)]);
 		choice.style.fontWeight = "bold";
 		label.appendChild(choice);
 
 		if (slave.buttplugAttachment !== `none`) {
 			let choiceOptionsArray = [];
 			choiceOptionsArray.push({text: ` None`, updateSlave: {buttplugAttachment: `none`}});
-			label.appendChild(App.UI.SlaveInteract.generateRows(choiceOptionsArray, slave, "buttplugAttachment", false, refresh));
+			label.appendChild(generateRows(choiceOptionsArray, "buttplugAttachment", false));
 		}
 		el.appendChild(label);
 
 		let optionsArray = [];
 
-		let clothingOption;
-		App.Data.slaveWear.buttplugAttachments.forEach(item => {
-			clothingOption = {
-				text: item.name,
-				updateSlave: {buttplugAttachment: item.value},
-				FS: item.fs
-			};
-			if (item.value !== "none") {
+		for (const [key, object] of App.Data.slaveWear.buttplugAttachments) {
+			if (key === "none") {
 				// skip none in set, we set the link elsewhere.
-				optionsArray.push(clothingOption);
+				continue;
 			}
-		});
+			const reshapedItem = {
+				text: object.name,
+				updateSlave: {buttplugAttachment: key},
+				FS: object.fs,
+			};
+			optionsArray.push(reshapedItem);
+		}
 
 		// Sort
 		optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
@@ -526,7 +497,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		// Options
 		let links = document.createElement('div');
 		links.className = "choices";
-		links.appendChild(App.UI.SlaveInteract.generateRows(optionsArray, slave, "buttplugAttachment", true, refresh));
+		links.appendChild(generateRows(optionsArray, "buttplugAttachment", true));
 		el.appendChild(links);
 
 		return el;
@@ -535,9 +506,9 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 	function vaginalAccessory() {
 		// <<vaginalAccessoryDescription>>
 
-		let el = document.createElement('div');
+		const el = document.createElement('div');
 
-		let label = document.createElement('div');
+		const label = document.createElement('div');
 		label.append(`Vaginal accessory: `);
 
 		let choice = App.UI.DOM.disabledLink(`${slave.vaginalAccessory}`, [clothTooltip(`${slave.vaginalAccessory}`)]);
@@ -547,24 +518,24 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		if (slave.vaginalAccessory !== `none`) {
 			let choiceOptionsArray = [];
 			choiceOptionsArray.push({text: ` None`, updateSlave: {vaginalAccessory: `none`}});
-			label.appendChild(App.UI.SlaveInteract.generateRows(choiceOptionsArray, slave, "vaginalAccessory", false, refresh));
+			label.appendChild(generateRows(choiceOptionsArray, "vaginalAccessory", false));
 		}
 		el.appendChild(label);
 
 		let optionsArray = [];
 
-		let clothingOption;
-		App.Data.slaveWear.vaginalAccessories.forEach(item => {
-			clothingOption = {
-				text: item.name,
-				updateSlave: {vaginalAccessory: item.value},
-				FS: item.fs
-			};
-			if (item.value !== "none") {
+		for (const [key, object] of App.Data.slaveWear.vaginalAccessories) {
+			if (key === "none") {
 				// skip none in set, we set the link elsewhere.
-				optionsArray.push(clothingOption);
+				continue;
 			}
-		});
+			const reshapedItem = {
+				text: object.name,
+				updateSlave: {vaginalAccessory: key},
+				FS: object.fs,
+			};
+			optionsArray.push(reshapedItem);
+		}
 
 		// Sort
 		// No sort here since we want small -> large. optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
@@ -572,7 +543,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		// Options
 		let links = document.createElement('div');
 		links.className = "choices";
-		links.appendChild(App.UI.SlaveInteract.generateRows(optionsArray, slave, "vaginalAccessory", true, refresh));
+		links.appendChild(generateRows(optionsArray, "vaginalAccessory", true));
 		el.appendChild(links);
 
 		return el;
@@ -594,24 +565,24 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		if (slave.vaginalAttachment !== `none`) {
 			let choiceOptionsArray = [];
 			choiceOptionsArray.push({text: ` None`, updateSlave: {vaginalAttachment: `none`}});
-			label.appendChild(App.UI.SlaveInteract.generateRows(choiceOptionsArray, slave, "vaginalAttachment", false, refresh));
+			label.appendChild(generateRows(choiceOptionsArray, "vaginalAttachment", false));
 		}
 		el.appendChild(label);
 
 		let optionsArray = [];
 
-		let clothingOption;
-		App.Data.slaveWear.vaginalAttachments.forEach(item => {
-			clothingOption = {
-				text: item.name,
-				updateSlave: {vaginalAttachment: item.value},
-				FS: item.fs
-			};
-			if (item.value !== "none") {
+		for (const [key, object] of App.Data.slaveWear.vaginalAttachments) {
+			if (key === "none") {
 				// skip none in set, we set the link elsewhere.
-				optionsArray.push(clothingOption);
+				continue;
 			}
-		});
+			const reshapedItem = {
+				text: object.name,
+				updateSlave: {vaginalAttachments: key},
+				FS: object.fs,
+			};
+			optionsArray.push(reshapedItem);
+		}
 
 		// Sort
 		optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
@@ -619,44 +590,43 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		// Options
 		let links = document.createElement('div');
 		links.className = "choices";
-		links.appendChild(App.UI.SlaveInteract.generateRows(optionsArray, slave, "vaginalAttachment", true, refresh));
+		links.appendChild(generateRows(optionsArray, "vaginalAttachment", true));
 		el.appendChild(links);
 
 		return el;
 	}
 
 	function dickAccessory() {
-		// <<= App.Desc.dickAccessory($activeSlave)>>
-		let el = document.createElement('div');
+		const el = document.createElement('div');
 
-		let label = document.createElement('div');
+		const label = document.createElement('div');
 		label.append(`Dick accessory: `);
 
-		let choice = App.UI.DOM.disabledLink(`${slave.dickAccessory}`, [clothTooltip(`${slave.dickAccessory}`)]);
+		const choice = App.UI.DOM.disabledLink(`${slave.dickAccessory}`, [clothTooltip(`${slave.dickAccessory}`)]);
 		choice.style.fontWeight = "bold";
 		label.appendChild(choice);
 
 		if (slave.dickAccessory !== `none`) {
 			let choiceOptionsArray = [];
 			choiceOptionsArray.push({text: ` None`, updateSlave: {dickAccessory: `none`}});
-			label.appendChild(App.UI.SlaveInteract.generateRows(choiceOptionsArray, slave, "dickAccessory", false, refresh));
+			label.appendChild(generateRows(choiceOptionsArray, "dickAccessory", false));
 		}
 		el.appendChild(label);
 
 		let optionsArray = [];
 
-		let clothingOption;
-		App.Data.slaveWear.dickAccessories.forEach(item => {
-			clothingOption = {
-				text: item.name,
-				updateSlave: {dickAccessory: item.value},
-				FS: item.fs
-			};
-			if (item.value !== "none") {
+		for (const [key, object] of App.Data.slaveWear.dickAccessories) {
+			if (key === "none") {
 				// skip none in set, we set the link elsewhere.
-				optionsArray.push(clothingOption);
+				continue;
 			}
-		});
+			const reshapedItem = {
+				text: object.name,
+				updateSlave: {dickAccessory: key},
+				FS: object.fs,
+			};
+			optionsArray.push(reshapedItem);
+		}
 
 		// Sort
 		// No sort here since we want small -> large. optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
@@ -664,16 +634,16 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		// Options
 		let links = document.createElement('div');
 		links.className = "choices";
-		links.appendChild(App.UI.SlaveInteract.generateRows(optionsArray, slave, "dickAccessory", true, refresh));
+		links.appendChild(generateRows(optionsArray, "dickAccessory", true));
 		el.appendChild(links);
 
 		return el;
 	}
 
 	function chastity() {
-		let el = document.createElement('div');
+		const el = document.createElement('div');
 
-		let label = document.createElement('div');
+		const label = document.createElement('div');
 		label.append(`Chastity devices: `);
 
 		let chasCho = "";
@@ -714,25 +684,26 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 					chastityVagina: 0
 				}
 			});
-			label.appendChild(App.UI.SlaveInteract.generateRows(choiceOptionsArray, slave, "chastity", false, refresh));
+			label.appendChild(generateRows(choiceOptionsArray, "chastity", false));
 		}
 		el.appendChild(label);
 
 		let optionsArray = [];
 
-		let clothingOption;
-		App.Data.slaveWear.chastityDevices.forEach(item => {
-			clothingOption = {
-				text: item.name,
-				updateSlave: {},
-				FS: item.fs
-			};
-			Object.assign(clothingOption.updateSlave, item.updateSlave);
-			if (item.value !== "none") {
+		for (const [key, object] of App.Data.slaveWear.chastityDevices) {
+			if (key === "none") {
 				// skip none in set, we set the link elsewhere.
-				optionsArray.push(clothingOption);
+				continue;
 			}
-		});
+			const reshapedItem = {
+				text: object.name,
+				updateSlave: {},
+				FS: object.fs,
+			};
+			Object.assign(reshapedItem.updateSlave, object.updateSlave);
+			optionsArray.push(reshapedItem);
+		}
+
 
 		// Sort
 		// skip sort for this one too. optionsArray = optionsArray.sort((a, b) => (a.text > b.text) ? 1 : -1);
@@ -740,7 +711,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 		// Options
 		let links = document.createElement('div');
 		links.className = "choices";
-		links.appendChild(App.UI.SlaveInteract.generateRows(optionsArray, slave, "chastity", true, refresh));
+		links.appendChild(generateRows(optionsArray, "chastity", true));
 		el.appendChild(links);
 
 		return el;
@@ -758,8 +729,8 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 	 * @returns {Node}
 	 */
 	function colorOptions(update) {
-		let el = new DocumentFragment();
-		let colorChoice = App.UI.DOM.colorInput(
+		const el = new DocumentFragment();
+		const colorChoice = App.UI.DOM.colorInput(
 			slave[update],
 			v => {
 				slave[update] = v;
@@ -790,7 +761,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 	/**
 	 * Figure out a tooltip text to use based on clothing name.
 	 * Described effects are mainly from saClothes.js some are from saLongTermMentalEffects.js or saLongTermPhysicalEffects.js
-	 * Potential fetish relevations are not mentioned.
+	 * Potential fetish revelations are not mentioned.
 	 * Chastity options could mention that at least fucktoys can appreciate maintaining their virginity but I assume just choosing a hole to focus on has the same effect so it's not really a clothing effect.
 	 * what's the word for below 20 devotion slaves? Disobedient?
 	 * Also accepting is a bit weird for ones above, I think I've seen obedient being used instead.
@@ -894,7 +865,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 			case "a medium empathy belly":
 			case "a large empathy belly":
 			case "a huge empathy belly":
-				return Cloth + " strenghtens or removes(a weak) pregnancy fetish and affects devotion in various ways depending on devotion, fertility and having a pregnancy fetish or breeder flaw.";
+				return Cloth + " strengthens or removes(a weak) pregnancy fetish and affects devotion in various ways depending on devotion, fertility and having a pregnancy fetish or breeder flaw.";
 
 			case "bullet vibrator":
 				return Cloth + " increases devotion but weakens fetish and libido.";
@@ -903,7 +874,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 			case "dildo":
 				return Cloth + " stretches vagina from virgin to tight, might remove hatred of penetration.";
 			case "long dildo":
-				return Cloth + " stretches vagina from virging to tight, might remove hatred of penetration. Makes size queens happy while others less trusting.";
+				return Cloth + " stretches vagina from virgin to tight, might remove hatred of penetration. Makes size queens happy while others less trusting.";
 			case "large dildo":
 			case "long, large dildo":
 				return Cloth + " stretches vagina into a loose one, on a tight vagina increases obedience and fear.";
@@ -919,7 +890,7 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 			case "plug":
 				return Cloth + " stretches butthole from virgin to tight, might remove hatred of anal.";
 			case "long plug":
-				return Cloth + " stretches vagina from virging to tight, might remove hatred of penetration. Makes size queens happy.";
+				return Cloth + " stretches vagina from virgin to tight, might remove hatred of penetration. Makes size queens happy.";
 			case "large plug":
 			case "long, large plug":
 				return Cloth + " stretches vagina into a loose one, on a tight vagina increases obedience and fear.";
@@ -960,16 +931,19 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 				/* assuming nice clothes, could actually add some sort of check to make sure. */
 				/* which clothes have these is decided in miscData.js */
 				let clothTooltip = Cloth + "";
-				if (setup.humiliatingClothes.includes(cloth)) {
-					clothTooltip += ", it's humiliating";
-				}
-				if (setup.sluttyClothes.includes(cloth)) {
-					clothTooltip += ", it's slutty";
+				switch (App.Data.clothes.get(slave.clothes).exposure) {
+					case 3:
+						clothTooltip += ", it's humiliating";
+						break;
+					case 2:
+						clothTooltip += ", it's slutty";
+						break;
+					case 0:
+						clothTooltip += ", it's modest";
+						break;
 				}
-				if (setup.modestClothes.includes(cloth)) {
-					clothTooltip += ", it's modest";
-				}
-				if (clothTooltip ===  Cloth + "") {
+
+				if (clothTooltip === Cloth + "") {
 					clothTooltip += ", it's only nice(meaning non-obedients lose devotion and fear while obedients gain devotion and trust).";
 				}
 				clothTooltip += ".";
@@ -977,4 +951,75 @@ App.UI.SlaveInteract.wardrobe = function(slave) {
 			}
 		}
 	}
+	/** @typedef RowItem
+	 * @type {object}
+	 * @property {FC.FutureSociety} [FS] - FS requirement, if any
+	 * @property {string} [text] - link text
+	 * @property {object} [updateSlave] - properties to be merged onto the slave
+	 * @property {object} [update] - properties to be merged into global state
+	 * @property {string} [note]
+	 * @property {string} [slutty]
+	 * @property {string} [humiliating]
+	 */
+
+	/** Generate a row of choices
+	 * @param {RowItem[]} array
+	 * @param {string} [category] - should be in the form of slave.category, the thing we want to update.
+	 * @param {boolean} [accessCheck=false]
+	 * @returns {HTMLUListElement}
+	 */
+	function generateRows(array, category, accessCheck = false) {
+		const linkArray = [];
+		for (const item of array) {
+			let link;
+			// Some items will never be in App.Data.slaveWear, especially "none" if it falls in between harsh and nice data sets. Trying to look it up would cause an error, which is what access check works around.
+			const itemName = (category === "chastity") ? item.text.toLowerCase() : item.updateSlave[category]; // Yucky. Category name does not match for chastity (since it sets multiple kinds of chastity at once). Compare using a lowercase name instead.
+			const unlocked = (accessCheck === true) ? isItemAccessible.entry(itemName, category, slave) : false;
+			if (accessCheck === false || unlocked) {
+				if (typeof unlocked === 'string') { // is it just text?
+					link = App.UI.DOM.disabledLink(item.text, [unlocked]);
+				} else {
+					link = document.createElement('span');
+
+					// Set up the link
+					link.appendChild(
+						App.UI.DOM.link(
+							`${item.text} `,
+							() => { click(item); },
+							[],
+							"",
+							clothTooltip(itemName)
+						)
+					);
+
+					if (item.FS) {
+						let FS = App.UI.DOM.disabledLink(`FS`, [FutureSocieties.displayAdj(item.FS)]);
+						FS.style.fontStyle = "italic";
+						link.appendChild(FS);
+					}
+
+					// add a note node if required
+					if (item.note) {
+						link.appendChild(App.UI.DOM.makeElement('span', ` ${item.note}`, 'note'));
+					}
+				}
+				linkArray.push(link);
+			}
+		}
+
+		return App.UI.DOM.generateLinksStrip(linkArray);
+
+		/** @param {RowItem} arrayOption */
+		function click(arrayOption) {
+			if (arrayOption.updateSlave) {
+				for (const slaveProperty in arrayOption.updateSlave) {
+					_.set(slave, slaveProperty, arrayOption.updateSlave[slaveProperty]);
+				}
+			}
+			if (arrayOption.update) {
+				Object.assign(V, arrayOption.update);
+			}
+			refresh();
+		}
+	}
 };
diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js
index fc2c38abf9e1af86adf4483c4c793e4b8e2cc214..ca30c0cf8533ff3b39c1985c9f2ee45a578b9a20 100644
--- a/src/js/SlaveState.js
+++ b/src/js/SlaveState.js
@@ -2537,8 +2537,8 @@ App.Entity.SlaveState = class SlaveState {
 		 *
 		 * 0: no; 1: yes, comforting; 2: yes, terrifying */
 		this.tankBaby = 0;
-		/** Is the slave a clone?
-		 * @type {FC.Bool}
+		/** Is the slave a clone?  If so, what is the original slave's name?
+		 * @type {FC.Zeroable<string>}
 		 * 0: no; 1: yes */
 		this.clone = 0;
 		/** ID she was cloned from */
diff --git a/src/js/assayJS.js b/src/js/assayJS.js
index 98536871a96b5e5bbee09b900988f205b1fc63f7..b4e64a44434ad42c472495988d56d7c047943612 100644
--- a/src/js/assayJS.js
+++ b/src/js/assayJS.js
@@ -112,12 +112,18 @@ globalThis.applyGeneticColor = function(slave) {
 };
 
 /**
- * @param {App.Entity.SlaveState} slave
+ * @param {FC.GingeredSlave} slave
  */
 globalThis.newSlave = function(slave) {
 	if (getSlave(slave.ID)) {
 		throw "Slave already exists";
 	}
+
+	// if the slave is gingered, remove the gingering proxy
+	if (slave.beforeGingering) {
+		slave = slave.beforeGingering;
+	}
+
 	if (slave.override_Race !== 1) {
 		slave.origRace = slave.race;
 	}
diff --git a/src/js/assignJS.js b/src/js/assignJS.js
index ad3c86e7414f474341a21fc5832bcdeb7c96a6d4..05184b60941ad0969982dd641a35c1a40ab89055 100644
--- a/src/js/assignJS.js
+++ b/src/js/assignJS.js
@@ -431,9 +431,9 @@ globalThis.assignJob = function(slave, job) {
 	if (!assignmentVisible(slave) && Array.isArray(V.personalAttention)) {
 		if (V.personalAttention.deleteWith(s => s.ID === slave.ID).length > 0) {
 			if (V.personalAttention.length === 0) {
-				if (V.PC.career === "escort") {
+				if (V.PC.career === "escort" || V.PC.career === "prostitute" || V.PC.career === "child prostitute") {
 					V.personalAttention = "whoring";
-				} else if (V.PC.career === "servant") {
+				} else if (V.PC.career === "servant" || V.PC.career === "handmaiden" || V.PC.career === "child servant") {
 					V.personalAttention = "upkeep";
 				} else {
 					V.personalAttention = "business";
@@ -642,9 +642,9 @@ globalThis.removeJob = function(slave, assignment, saveRecord = false) {
 					}
 				}
 				if (V.personalAttention === "HG" && attentionCheck === 1) {
-					if (V.PC.career === "escort") {
+					if (V.PC.career === "escort" || V.PC.career === "prostitute" || V.PC.career === "child prostitute") {
 						V.personalAttention = "whoring";
-					} else if (V.PC.career === "servant") {
+					} else if (V.PC.career === "servant" || V.PC.career === "handmaiden" || V.PC.career === "child servant") {
 						V.personalAttention = "upkeep";
 					} else {
 						V.personalAttention = "business";
diff --git a/src/js/economyJS.js b/src/js/economyJS.js
index c321c0d4adc74c494410ff278645f06b7eaac91c..06e96167ea11dfedfb489d766789a578d426d1aa 100644
--- a/src/js/economyJS.js
+++ b/src/js/economyJS.js
@@ -620,37 +620,25 @@ globalThis.calculateCosts = (function() {
 
 	// security expansion
 	function getSecurityExpansionCost() {
-		let secExpCost = 0, soldierMod = 1.5; // V.SecExp.edicts.defense.soldierWages === 1
+		let secExpCost = 0;
 		if (V.secExpEnabled > 0) {
+			const unitModifier = function(x) {
+				if (x === 'slaves') {
+					return 0.5;
+				} else if (x === 'mercs') {
+					return 1.5;
+				}
+				return 1;
+			};
+
 			secExpCost += App.SecExp.upkeep.edictsCash();
 			secExpCost += App.SecExp.upkeep.SF();
 			secExpCost += App.SecExp.upkeep.buildings();
-			if (V.SecExp.edicts.defense.soldierWages === 0) {
-				soldierMod = 1;
-			} else if (V.SecExp.edicts.defense.soldierWages === 2) {
-				soldierMod = 2;
-			}
-			const militiaUnits = V.militiaUnits.length, slaveUnits = V.slaveUnits.length, mercUnits = V.mercUnits.length; // predefined for optimization
-			const soldierUpkeep = 10;
-			if (V.militiaUnits !== null) {
-				for (let i = 0; i < militiaUnits; i++) {
-					if (V.militiaUnits[i] !== null) {
-						secExpCost += V.militiaUnits[i].troops * soldierUpkeep * soldierMod;
-					}
-				}
-			}
-			if (V.slaveUnits !== null) {
-				for (let i = 0; i < slaveUnits; i++) {
-					if (V.slaveUnits[i] !== null) {
-						secExpCost += V.slaveUnits[i].troops * soldierUpkeep * 0.5 * soldierMod;
-					}
-				}
-			}
-			if (V.mercUnits !== null) {
-				for (let i = 0; i < mercUnits; i++) {
-					if (V.mercUnits[i] !== null) {
-						secExpCost += V.mercUnits[i].troops * soldierUpkeep * 1.5 * soldierMod;
-					}
+			const soldierMod = 1 + V.SecExp.edicts.defense.soldierWages * 0.5; // 1.0, 1.5, 2.0
+
+			for (const unit of App.SecExp.unit.list().slice(1)) {
+				for (const squad of V.SecExp.units[unit].squads) {
+					secExpCost += squad.troops * 10 * unitModifier(unit) * soldierMod;
 				}
 			}
 		}
@@ -792,7 +780,7 @@ globalThis.calculateCosts = (function() {
 
 
 	function getPCMultiplierCosts(cost) {
-		if (V.PC.career === 'servant') {
+		if (V.PC.career === 'servant' || V.PC.career === 'handmaiden' || V.PC.career === 'child servant') {
 			if (V.personalAttention === PersonalAttention.MAID) {
 				if (V.PC.belly >= 5000) {
 					cost *= 0.80;
@@ -2197,20 +2185,20 @@ Welcome to the new way to spend and make money, all while having it recorded: ca
 
 The new system will still happily spend your money, but it will also record it in the appropriate budget category and (optionally) the appropriate slave as well.
 
-Let's say you were going to spend 100 on your favorite $activeSlave with cashX. You might try:
+Let's say you were going to spend 100 on your favorite slave with cashX. You might try:
 
-<<run cashX(-100, "slaveMod", $activeSlave)>>
+<<run cashX(-100, "slaveMod", _slave)>>
 
 There we go!
 1. -100 taken from your account
 2. Recorded: -100 for the slaveMod category, to be displayed on the Budget screen
-3. Recorded: -100 noted in your activeSlave's permanent record. $He better get busy paying that off!
+3. Recorded: -100 noted in your slave's permanent record. $He better get busy paying that off!
 
 cashX can be used in JS as well, and can be included in [[]] style links.
 
 Make sure that expenses arrive in the COST slot as a negative, they are often positive in code. Use the new function forceNeg or pass it along on a temporary variable if needed.
 
-Costs don't have to be numbers either, you can use variables. <<run cashX(forceNeg(_ContractCost), "slaveTransfer", $activeSlave)>>. forceNeg makes sure that whatever value _ContractCost has is negative, and will therefore be recorded as an expense. You don't have to use it if you're sure the number you are passing along is negative.
+Costs don't have to be numbers either, you can use variables. <<run cashX(forceNeg(_ContractCost), "slaveTransfer", _slave)>>. forceNeg makes sure that whatever value _ContractCost has is negative, and will therefore be recorded as an expense. You don't have to use it if you're sure the number you are passing along is negative.
 
 A full list of categories (slaveMod, slaveTransfer, event) are in App.Data.Records.LastWeeksCash(). It's important to match your cost to one of those categories (or add a new one there, and display it in costsBudget.tw.)
 
@@ -2267,6 +2255,8 @@ globalThis.cashX = function(cost, what, who) {
 		}
 	}
 
+	V.lastCashTransaction = cost;
+
 	App.Utils.scheduleSidebarRefresh();
 
 	return cost;
diff --git a/src/js/eventSelectionJS.js b/src/js/eventSelectionJS.js
index 1f5bef100ba9ef79d02bd7018d272b81246d5f59..f499e6bbae627abe658d7a6cf3658ea320beaf01 100644
--- a/src/js/eventSelectionJS.js
+++ b/src/js/eventSelectionJS.js
@@ -222,15 +222,6 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) {
 										if (eventSlave.rules.speech !== "restrictive") {
 											V.RETSevent.push("date please");
 										}
-										if (relationshipSlave.anus !== 0) {
-											if (relationshipSlave.dick !== 1) {
-												if (relationshipSlave.dick === 0 || canAchieveErection(relationshipSlave)) {
-													if (relationshipSlave.fetish === "dom" || relationshipSlave.fetish === "sadist") {
-														V.RETSevent.push("top exhaustion");
-													}
-												}
-											}
-										}
 									}
 								}
 							}
@@ -627,7 +618,7 @@ globalThis.generateRandomEventPoolStandard = function(eventSlave) {
 					if (eventSlave.trust > 20) {
 						if (eventSlave.rules.speech !== "restrictive") {
 							if (eventSlave.choosesOwnClothes !== 1) {
-								if (setup.modestClothes.includes(eventSlave.clothes)) {
+								if (App.Data.clothes.get(eventSlave.clothes).exposure === 0) {
 									V.RESSevent.push("modest clothes");
 								}
 							}
@@ -1561,29 +1552,6 @@ globalThis.generateRandomEventPoolServant = function(eventSlave) {
 					}
 				}
 
-				if (eventSlave.relationship > 3) {
-					let relationshipSlave = V.slaves.find(s => s.ID === eventSlave.relationshipTarget);
-					if (relationshipSlave.devotion > 20) {
-						if (canWalk(relationshipSlave)) {
-							if (canTalk(relationshipSlave)) {
-								if (eventSlave.devotion > 50) {
-									if (eventSlave.trust > 50) {
-										if (relationshipSlave.anus !== 0) {
-											if (relationshipSlave.dick !== 1) {
-												if (relationshipSlave.dick === 0 || canAchieveErection(relationshipSlave)) {
-													if (relationshipSlave.fetish === "dom" || relationshipSlave.fetish === "sadist") {
-														V.RETSevent.push("top exhaustion");
-													}
-												}
-											}
-										}
-									}
-								}
-							}
-						}
-					}
-				}
-
 				if (V.weatherToday.severity <= 1) {
 					if (eventSlave.trust > 50) {
 						if (eventSlave.devotion > 20) {
diff --git a/src/js/familyTreeJS.js b/src/js/familyTreeJS.js
index 6c483d90cf333e02c560a8f0fd8c14de79e8cfa1..4cf9bca040699305e7cbb2a94e2c54034cbc6512 100644
--- a/src/js/familyTreeJS.js
+++ b/src/js/familyTreeJS.js
@@ -2,20 +2,6 @@
 /* eslint-disable no-console */
 let lastActiveSlave, lastSlaves, lastPC;
 
-/*
-	To use, add something like:
-
-<div id="family-tree"></div>
-	<span id="family-tree-link">
-		<<link "Pull up the file on $his family tree.">>
-		<<replace #family-tree-link>>
-			<<run renderFamilyTree($slaves, $activeSlave.ID)>>
-		<</replace>>
-	<</link>>
-</span>
-
-*/
-
 globalThis.renderFamilyTree = function(slaves, filterID) {
 	'use strict';
 
@@ -514,21 +500,6 @@ globalThis.buildFamilyTree = function(slaves, filterID) {
 	return family_graph;
 };
 
-/* Old version. To use, do something like:
-<div id="edit-family">
-	<div id="graph"></div>
-</div>
-
-<<run updateFamilyTree($activeSlave, $slaves, $PC)>>
-html_script_tag updateFamilyTree() end_html_script_tag
-// tweego freaks out if the actual end of script tag is used even inside a comment
-If you want to update the tree, just re-call the run line.
-
-If there's no active slave, you can do:
-
-<<run updateFamilyTree(null, $slaves, $PC)>>
-*/
-
 globalThis.updateFamilyTree = function(activeSlave = lastActiveSlave, slaves = lastSlaves, PC = lastPC) {
 	lastActiveSlave = activeSlave;
 	lastSlaves = slaves;
diff --git a/src/js/futureSocietyJS.js b/src/js/futureSocietyJS.js
index 619ed9494a760e87ff15afbf38612e067d3821f0..a59df4b695c06781e6c611db5b76716233b3196f 100644
--- a/src/js/futureSocietyJS.js
+++ b/src/js/futureSocietyJS.js
@@ -1,65 +1,7 @@
 globalThis.FutureSocieties = (function() {
-	/** @type {Record<FC.FutureSociety, {noun: FC.FutureSocietyNoun, adj: FC.FutureSocietyAdj, deco: FC.FutureSocietyDeco, NPCOnly?: boolean}>} */
-	const FSRecords = {
-		FSSupremacist: {noun: "Racial Supremacism", adj: "Supremacist", deco: "Supremacist"},
-		FSSubjugationist: {noun: "Racial Subjugationism", adj: "Subjugationist", deco: "Subjugationist"},
-		FSGenderRadicalist: {noun: "Gender Radicalism", adj: "Gender Radicalist", deco: "Gender Radicalist"},
-		FSGenderFundamentalist: {noun: "Gender Fundamentalism", adj: "Gender Fundamentalist", deco: "Gender Fundamentalist"},
-		FSDegradationist: {noun: "Degradationism", adj: "Degradationist", deco: "Degradationist"},
-		FSPaternalist: {noun: "Paternalism", adj: "Paternalist", deco: "Paternalist"},
-		FSBodyPurist: {noun: "Body Purism", adj: "Body Purist", deco: "Body Purist"},
-		FSTransformationFetishist: {noun: "Transformation Fetishism", adj: "Transformation Fetishist", deco: "Transformation Fetishist"},
-		FSYouthPreferentialist: {noun: "Youth Preferentialism", adj: "Youth Preferentialist", deco: "Youth Preferentialist"},
-		FSMaturityPreferentialist: {noun: "Maturity Preferentialism", adj: "Maturity Preferentialist", deco: "Maturity Preferentialist"},
-		FSSlimnessEnthusiast: {noun: "Slimness Enthusiasm", adj: "Slimness Enthusiast", deco: "Slimness Enthusiast"},
-		FSAssetExpansionist: {noun: "Asset Expansionism", adj: "Asset Expansionist", deco: "Asset Expansionist"},
-		FSPastoralist: {noun: "Pastoralism", adj: "Pastoralist", deco: "Pastoralist"},
-		FSCummunism: {noun: "Cummunism", adj: "Cummunist", deco: "", NPCOnly: true},
-		FSPhysicalIdealist: {noun: "Physical Idealism", adj: "Physical Idealist", deco: "Physical Idealist"},
-		FSHedonisticDecadence: {noun: "Decadent Hedonism", adj: "Decadent Hedonist", deco: "Hedonistic"},
-		FSChattelReligionist: {noun: "Chattel Religionism", adj: "Chattel Religionist", deco: "Chattel Religionist"},
-		FSNull: {noun: "Multiculturalism", adj: "Multiculturalist", deco: ""},
-		FSIncestFetishist: {noun: "Incest Fetishism", adj: "Incest Fetishist", deco: "", NPCOnly: true},
-		FSRomanRevivalist: {noun: "Roman Revivalism", adj: "Roman Revivalist", deco: "Roman Revivalist"},
-		FSNeoImperialist: {noun: "Neo-Imperialism", adj: "Neo-Imperialist", deco: "Neo-Imperialist"},
-		FSEgyptianRevivalist: {noun: "Egyptian Revivalism", adj: "Egyptian Revivalist", deco: "Egyptian Revivalist"},
-		FSEdoRevivalist: {noun: "Edo Revivalism", adj: "Edo Revivalist", deco: "Edo Revivalist"},
-		FSArabianRevivalist: {noun: "Arabian Revivalism", adj: "Arabian Revivalist", deco: "Arabian Revivalist"},
-		FSChineseRevivalist: {noun: "Chinese Revivalism", adj: "Chinese Revivalist", deco: "Chinese Revivalist"},
-		FSAztecRevivalist: {noun: "Aztec Revivalism", adj: "Aztec Revivalist", deco: "Aztec Revivalist"},
-		FSRepopulationFocus: {noun: "Repopulation Focus", adj: "Repopulationist", deco: "Repopulationist"},
-		FSRestart: {noun: "Eugenics", adj: "Eugenics", deco: "Eugenics"},
-		FSIntellectualDependency: {noun: "Intellectual Dependency", adj: "Intellectual Dependency", deco: "Intellectual Dependency"},
-		FSSlaveProfessionalism: {noun: "Slave Professionalism", adj: "Slave Professional", deco: "Slave Professionalism"},
-		FSPetiteAdmiration: {noun: "Petite Admiration", adj: "Petite Admiration", deco: "Petite Admiration"},
-		FSStatuesqueGlorification: {noun: "Statuesque Glorification", adj: "Statuesque Glorification", deco: "Statuesque Glorification"}
-	};
-
-	/** @type {FC.FutureSociety[][]} */
-	const FSMutexGroups = [
-		[ "FSSupremacist" ],
-		[ "FSSubjugationist" ],
-		[ "FSGenderRadicalist", "FSGenderFundamentalist" ],
-		[ "FSDegradationist", "FSPaternalist" ],
-		[ "FSBodyPurist", "FSTransformationFetishist" ],
-		[ "FSYouthPreferentialist", "FSMaturityPreferentialist" ],
-		[ "FSSlimnessEnthusiast", "FSAssetExpansionist" ],
-		[ "FSPastoralist", "FSCummunism" ],
-		[ "FSPhysicalIdealist", "FSHedonisticDecadence" ],
-		[ "FSChattelReligionist", "FSNull" ],
-		[ "FSIncestFetishist" ],
-		[ "FSRomanRevivalist", "FSNeoImperialist", "FSEgyptianRevivalist", "FSEdoRevivalist", "FSArabianRevivalist", "FSChineseRevivalist", "FSAztecRevivalist" ],
-		[ "FSRepopulationFocus", "FSRestart" ],
-		[ "FSIntellectualDependency", "FSSlaveProfessionalism" ],
-		[ "FSPetiteAdmiration", "FSStatuesqueGlorification"]
-	];
-
-	/** @type {FC.FutureSociety[]} */
-	const SocietyList = (/** @type {FC.FutureSociety[]} */ Object.keys(FSRecords));
-
 	/** @type {Map<FC.FutureSocietyDeco, FC.FutureSociety>} */
 	const DecoToFSMap = new Map();
-	for (const [fsName, details] of Object.entries(FSRecords)) {
+	for (const [fsName, details] of Object.entries(App.Data.FutureSociety.records)) {
 		if (details.deco) {
 			// @ts-ignore - Object.entries loses type information, apparently intentionally
 			DecoToFSMap.set(details.deco, fsName);
@@ -83,7 +25,8 @@ globalThis.FutureSocieties = (function() {
 		DecorationCleanup: DecorationCleanup,
 		DecorationBonus: FSDecorationBonus,
 		Change: FSChange,
-		HighestDecoration: FSHighestDecoration
+		HighestDecoration: FSHighestDecoration,
+		arcSupport: arcSupport
 	};
 
 	/** get the list of FSes active for a particular arcology
@@ -92,7 +35,7 @@ globalThis.FutureSocieties = (function() {
 	 * @returns {FC.FutureSociety[]}
 	 */
 	function activeFSes(arcology) {
-		return SocietyList.filter((fs) => Number.isFinite(arcology[fs]));
+		return App.Data.FutureSociety.fsNames.filter((fs) => Number.isFinite(arcology[fs]));
 	}
 
 	/** call as FutureSocieties.activeCount(arcology)
@@ -156,7 +99,7 @@ globalThis.FutureSocieties = (function() {
 	 */
 	function conflictingFSes(left, right) {
 		if (left !== right) { // identical FSes are not opposed
-			for (const group of FSMutexGroups) {
+			for (const group of App.Data.FutureSociety.mutexGroups) {
 				if (group.includesAll(left, right)) {
 					return true; // but any other FS in the mutex group is
 				}
@@ -171,7 +114,7 @@ globalThis.FutureSocieties = (function() {
 	 */
 	function validAdoptions(arcID) {
 		const arcology = V.arcologies[arcID];
-		const societies = Array.from(arcID !== 0 ? SocietyList : SocietyList.filter(fs => !FSRecords[fs].NPCOnly));
+		const societies = Array.from(arcID !== 0 ? App.Data.FutureSociety.fsNames : App.Data.FutureSociety.playerFSNames);
 		const arcFSes = activeFSes(arcology);
 
 		// apply game rules
@@ -254,7 +197,7 @@ globalThis.FutureSocieties = (function() {
 	 * @returns {FC.FutureSocietyNoun}
 	 */
 	function displayName(FSProp) {
-		return FSRecords[FSProp].noun;
+		return App.Data.FutureSociety.records[FSProp].noun;
 	}
 
 	/** returns the future society adjective (typically an "ist") for the given property
@@ -262,7 +205,7 @@ globalThis.FutureSocieties = (function() {
 	 * @returns {FC.FutureSocietyAdj}
 	 */
 	function displayAdj(FSProp) {
-		return FSRecords[FSProp].adj;
+		return App.Data.FutureSociety.records[FSProp].adj;
 	}
 
 	/** returns the future society decoration name (for use in decoration properties) for the given FS property
@@ -270,7 +213,7 @@ globalThis.FutureSocieties = (function() {
 	 * @returns {FC.FutureSocietyDeco}
 	 */
 	function decorationName(FSProp) {
-		return FSRecords[FSProp].deco;
+		return App.Data.FutureSociety.records[FSProp].deco;
 	}
 
 	/** decays all the FSes adopted by a particular arcology (for example, because of government instability)
@@ -287,6 +230,7 @@ globalThis.FutureSocieties = (function() {
 			if (fs !== "FSNull") { // exempt for some reason?
 				if (arc[fs] < jsRandom(10, 150)) {
 					purged.push(fs);
+					arc[fs] = "unset";
 				} else {
 					arc[fs] -= 10;
 				}
@@ -297,7 +241,7 @@ globalThis.FutureSocieties = (function() {
 
 	/** Remove an FS and all associated attributes from an arcology
 	 * call as FutureSocieties.remove(FS)
-	 * @param {string} FS (e.g. "FSPaternalist" or "FSDegradationist")
+	 * @param {FC.FutureSociety} FS (e.g. "FSPaternalist" or "FSDegradationist")
 	 */
 	function removeFS(FS) {
 		const arcology = V.arcologies[0];
@@ -412,6 +356,16 @@ globalThis.FutureSocieties = (function() {
 		}
 
 		DecorationCleanup();
+
+		// Clean up assistant
+		if (
+			(V.assistant.fsAppearance === App.Data.FutureSociety.records[FS].adj.toLowerCase()) ||
+			(V.assistant.fsAppearance === App.Data.FutureSociety.records[FS].noun.toLowerCase()) ||
+			(FS === "FSHedonisticDecadence" && V.assistant.fsAppearance === "hedonistic decadence") ||
+			(FS === "FSNeoImperialist" && V.assistant.fsAppearance === "neoimperialist")
+		) {
+			V.assistant.fsAppearance = "default";
+		}
 	}
 
 	/** Calculate the number of FS credits that the player still has available (unspent)
@@ -531,14 +485,307 @@ globalThis.FutureSocieties = (function() {
 	 */
 	function FSHighestDecoration() {
 		const arcology = V.arcologies[0];
-		const decorationList = SocietyList.map(FS => `${FS}Decoration`);
+		const decorationList = App.Data.FutureSociety.playerFSNames.map(FS => `${FS}Decoration`);
 		let level = 20; // All decorations start at 20
 
-		for (let i = 0; i < decorationList.length; i++) {
-			if (arcology[decorationList[i]] > level) {
-				level = arcology[decorationList[i]];
+		for (const deco of decorationList) {
+			if (arcology[deco] > level) {
+				level = arcology[deco];
 			}
 		}
 		return level;
 	}
+
+	/**
+	 *
+	 * @param {FC.FutureSociety} FS
+	 * @param {*} [arc]
+	 */
+	function arcSupport(FS, arc = V.arcologies[0]) {
+		const arcSupportMap = new Map([
+			[
+				"FSSupremacist",
+				[
+					`${arc.name} believes implicitly in ${arc.FSSupremacistRace} superiority.`,
+					`${arc.name} agrees strongly with ${arc.FSSupremacistRace} superiority.`,
+					`${arc.name} is sympathetic to ${arc.FSSupremacistRace} superiority.`,
+					`${arc.name} is unconvinced of ${arc.FSSupremacistRace} superiority.`
+				]
+			],
+			[
+				"FSSubjugationist",
+				[
+					`${arc.name} believes implicitly in the inferiority of ${arc.FSSubjugationistRace} people.`,
+					`${arc.name} agrees strongly with the inferiority of ${arc.FSSubjugationistRace} people.`,
+					`${arc.name} is sympathetic to the inferiority of ${arc.FSSubjugationistRace} people.`,
+					`${arc.name} is unconvinced of the inferiority of ${arc.FSSubjugationistRace} people.`
+				]
+			],
+			[
+				"FSRepopulationFocus",
+				[
+					`${arc.name} believes implicitly that all women should be pregnant.`,
+					`${arc.name} agrees strongly that all women should be pregnant.`,
+					`${arc.name} is sympathetic to the idea that all women should be pregnant.`,
+					`${arc.name} is unconvinced that all women should be pregnant.`,
+
+				]
+			],
+			[
+				"FSRestart",
+				[
+					`${arc.name} believes implicitly that only the elite should reproduce.`,
+					`${arc.name} agrees strongly that only the elite should reproduce.`,
+					`${arc.name} is sympathetic to the idea only the elite should reproduce.`,
+					`${arc.name} is unconvinced that only the elite should reproduce.`
+				]
+			],
+			[
+				"FSIntellectualDependency",
+				[
+					`${arc.name} believes implicitly that all slaves should be mentally dependant on their owner.`,
+					`${arc.name} agrees strongly that all slaves should be bimbos.`,
+					`${arc.name} is sympathetic to the idea that slaves should be dumb and horny.`,
+					`${arc.name} is unconvinced that all slaves should be morons.`
+				]
+			],
+			[
+				"FSSlaveProfessionalism",
+				[
+					`${arc.name} believes implicitly that slaves should be masters of the sexual arts.`,
+					`${arc.name} agrees strongly with slavery as a profession.`,
+					`${arc.name} is sympathetic to the notion of slavery as a profession.`,
+					`${arc.name} is unconvinced that slaves should be highly intelligent.`
+				]
+			],
+			[
+				"FSGenderRadicalist",
+				[
+					`${arc.name} believes implicitly in the need to redefine gender around power.`,
+					`${arc.name} agrees strongly with the need to redefine gender around power.`,
+					`${arc.name} is sympathetic to the need to redefine gender around power.`,
+					`${arc.name} is unconvinced of the need to redefine gender around power.`
+				]
+			],
+			[
+				"FSGenderFundamentalist",
+				[
+					`${arc.name} believes implicitly in the need to preserve traditional gender roles.`,
+					`${arc.name} agrees strongly with the need to preserve traditional gender roles.`,
+					`${arc.name} is sympathetic to the need to preserve traditional gender roles.`,
+					`${arc.name} is unconvinced of the need to preserve traditional gender roles.`
+				]
+			],
+			[
+				"FSPaternalist",
+				[
+					`${arc.name} believes implicitly in the vision of a well-bred race of slaves.`,
+					`${arc.name} agrees strongly with the vision of a well-bred race of slaves.`,
+					`${arc.name} is sympathetic to the vision of a well-bred race of slaves.`,
+					`${arc.name} is unconvinced of the vision of a well-bred race of slaves.`
+				]
+			],
+			[
+				"FSDegradationist",
+				[
+					`${arc.name} believes implicitly that slaves are not human and should be thoroughly degraded.`,
+					`${arc.name} agrees strongly with the idea that slaves are not human and should be thoroughly degraded.`,
+					`${arc.name} is sympathetic to the proposition that slaves are not human and should be thoroughly degraded.`,
+					`${arc.name} is unconvinced that slaves are not human and should be thoroughly degraded.`
+				]
+			],
+			[
+				"FSBodyPurist",
+				[
+					`${arc.name} believes implicitly in the unattractive nature of implants.`,
+					`${arc.name} agrees strongly with the unattractive nature of implants.`,
+					`${arc.name} is sympathetic to the unattractive nature of implants.`,
+					`${arc.name} is unconvinced of the unattractive nature of implants.`
+				]
+			],
+			[
+				"FSTransformationFetishist",
+				[
+					`${arc.name} passionately fetishizes implants.`,
+					`${arc.name} strongly fetishizes implants.`,
+					`${arc.name} fetishizes implants.`,
+					`${arc.name} is beginning to fetishize implants.`
+				]
+			],
+			[
+				"FSMaturityPreferentialist",
+				[
+					`${arc.name} is passionately enthusiastic for older ladies.`,
+					`${arc.name} is very enthusiastic for older ladies.`,
+					`${arc.name} is enthusiastic for older ladies.`,
+					`${arc.name} is beginning to be enthusiastic for older ladies.`
+				]
+			],
+			[
+				"FSYouthPreferentialist",
+				[
+					`${arc.name} is passionately enthusiastic for young women.`,
+					`${arc.name} is very enthusiastic for young women.`,
+					`${arc.name} is enthusiastic for young women.`,
+					`${arc.name} is beginning to be enthusiastic for young women.`
+				]
+			],
+			[
+				"FSPetiteAdmiration",
+				[
+					`${arc.name} is passionately enthusiastic for short slaves.`,
+					`${arc.name} is very enthusiastic for short slaves.`,
+					`${arc.name} is enthusiastic for short slaves.`,
+					`${arc.name} is beginning to be enthusiastic for short slaves.`
+				]
+			],
+			[
+				"FSStatuesqueGlorification",
+				[
+					`${arc.name} believes implicitly that the tall are superior.`,
+					`${arc.name} agrees strongly with the idea that the tall are superior.`,
+					`${arc.name} is sympathetic to the idea that the tall are superior.`,
+					`${arc.name} is unconvinced that the tall are superior.`
+				]
+			],
+			[
+				"FSSlimnessEnthusiast",
+				[
+					`${arc.name} is passionately enthusiastic about slim slaves with girlish figures.`,
+					`${arc.name} is very enthusiastic about slim slaves with girlish figures.`,
+					`${arc.name} is enthusiastic about slim slaves with girlish figures.`,
+					`${arc.name} is beginning to be enthusiastic about slim slaves with girlish figures.`
+				]
+			],
+			[
+				"FSAssetExpansionist",
+				[
+					`${arc.name} believes implicitly that all tits and asses should be bigger.`,
+					`${arc.name} agrees strongly with the idea that all tits and asses should be bigger.`,
+					`${arc.name} is sympathetic to the idea that all tits and asses should be bigger.`,
+					`${arc.name} is unconvinced that all tits and asses should be bigger.`
+				]
+			],
+			[
+				"FSPastoralist",
+				[
+					`${arc.name} believes implicitly that slaves should be milked.`,
+					`${arc.name} agrees strongly with the idea that slaves should be milked.`,
+					`${arc.name} is sympathetic to the idea that slaves should be milked.`,
+					`${arc.name} is unconvinced that slaves should be milked.`
+				]
+			],
+			[
+				"FSPhysicalIdealist",
+				[
+					`${arc.name} believes implicitly that all slaves should be tall and strong.`,
+					`${arc.name} agrees strongly with the idea that all slaves should be tall and strong.`,
+					`${arc.name} is sympathetic to the idea that all slaves should be tall and strong.`,
+					`${arc.name} is unconvinced that all slaves should be tall and strong.`
+				]
+			],
+			[
+				"FSHedonisticDecadence",
+				[
+					`${arc.name} believes implicitly that all slaves should be soft and laid-back.`,
+					`${arc.name} agrees strongly with the idea that all slaves should be soft and laid-back.`,
+					`${arc.name} is sympathetic to the idea that all slaves should be soft and laid-back.`,
+					`${arc.name} is unconvinced that all slaves should be soft and laid-back.`
+				]
+			],
+			[
+				"FSChattelReligionist",
+				[
+					`${arc.name} believes implicitly in a version of religion that emphasizes slaveholding traditions.`,
+					`${arc.name} agrees strongly with a version of religion that emphasizes slaveholding traditions.`,
+					`${arc.name} is sympathetic to a version of religion that emphasizes slaveholding traditions.`,
+					`${arc.name} is unconvinced of a version of religion that emphasizes slaveholding traditions.`
+
+				]
+			],
+			[
+				"FSNull",
+				[
+					`${arc.name} is committed to affording its citizens absolute cultural freedom.`,
+					`${arc.name} is committed to affording its citizens great cultural freedom.`,
+					`${arc.name} is committed to affording its citizens considerable cultural freedom.`,
+					`${arc.name} is committed to affording its citizens basic cultural freedom.`
+				]
+			],
+			[
+				"FSRomanRevivalist",
+				[
+					`${arc.name} believes implicitly that it is the new Rome.`,
+					`${arc.name} agrees strongly with your project to build the new Rome.`,
+					`${arc.name} is sympathetic to your project to build the new Rome.`,
+					`${arc.name} is unconvinced of the wisdom of your project to build the new Rome.`
+				]
+			],
+			[
+				"FSNeoImperialist",
+				[
+					`${arc.name} believes implicitly that your arcology is truly a new Imperial Society.`,
+					`${arc.name} agrees strongly with your project to build a new Imperial Society.`,
+					`${arc.name} is sympathetic to your project to build a new Imperial Society.`,
+					`${arc.name} is unconvinced of the wisdom of your project to build a new Imperial Society.`
+				]
+			],
+			[
+				"FSAztecRevivalist",
+				[
+					`${arc.name} believes implicitly that it is the new Aztec Empire.`,
+					`${arc.name} agrees strongly with your project to build the new Aztec Empire.`,
+					`${arc.name} is sympathetic to your project to build the new Aztec Empire.`,
+					`${arc.name} is unconvinced of the wisdom of your project to build the new Aztec Empire.`
+				]
+			],
+			[
+				"FSEgyptianRevivalist",
+				[
+					`${arc.name} believes implicitly that it is the land of the Pharaohs, reborn.`,
+					`${arc.name} agrees strongly with your project to build a new land of the Pharaohs.`,
+					`${arc.name} is sympathetic to your project to build a new land of the Pharaohs.`,
+					`${arc.name} is unconvinced of the wisdom of your project to build a new land of the Pharaohs.`
+				]
+			],
+			[
+				"FSEdoRevivalist",
+				[
+					`${arc.name} believes implicitly that it is the land of the Shogun, reborn.`,
+					`${arc.name} agrees strongly with your project to build a new Edo Japan.`,
+					`${arc.name} is sympathetic to your project to build a new Edo Japan.`,
+					`${arc.name} is unconvinced of the wisdom of your project to build a new Edo Japan.`
+				]
+			],
+			[
+				"FSArabianRevivalist",
+				[
+					`${arc.name} believes implicitly that it is ancient Baghdad reborn.`,
+					`${arc.name} agrees strongly with your project to build a new Sultanate.`,
+					`${arc.name} is sympathetic to your project to build a new Sultanate.`,
+					`${arc.name} is unconvinced of the wisdom of your project to build a new Sultanate.`
+				]
+			],
+			[
+				"FSChineseRevivalist",
+				[
+					`${arc.name} believes implicitly that possesses the Mandate of Heaven.`,
+					`${arc.name} agrees strongly with your pursuit of the Mandate of Heaven.`,
+					`${arc.name} is sympathetic to your pursuit of the Mandate of Heaven.`,
+					`${arc.name} is unconvinced of the wisdom of your pursuit of the Mandate of Heaven.`
+				]
+			],
+		]);
+		if (arc[FS] !== "unset") {
+			if (arc[FS] >= V.FSLockinLevel) {
+				return arcSupportMap.get(FS)[0];
+			} else if (arc[FS] >= V.FSLockinLevel * 0.6) {
+				return arcSupportMap.get(FS)[1];
+			} else if (arc[FS] >= V.FSLockinLevel * 0.3) {
+				return arcSupportMap.get(FS)[2];
+			} else  {
+				return arcSupportMap.get(FS)[3];
+			}
+		}
+	}
 })();
diff --git a/src/js/health.js b/src/js/health.js
index 20613e8d670ea8d76f15d317ae7954ddff06348d..74e0157dedf975e96cca122d29dbe420747ac043 100644
--- a/src/js/health.js
+++ b/src/js/health.js
@@ -95,13 +95,14 @@ globalThis.improveCondition = function(slave, condition) {
 };
 
 /**
- * Updates slave.health.health
+ * Computes the aggregate health value for a slave given an assumed condition value.
+ * Generally should not be called directly (use updateHealth instead); needed for health gingering.
  * @param {App.Entity.SlaveState} slave
- * @returns {void}
+ * @param {number} condition
+ * @returns {number}
  */
-globalThis.updateHealth = function(slave) {
+globalThis.computeAggregateHealth = function(slave, condition) {
 	const H = slave.health;
-	const condition = H.condition;
 
 	// Converting the other variables to better fit the same scale as .condition
 	const damage = (40 - H.shortDamage - H.longDamage) * 2.5; // 100 / -inf
@@ -109,7 +110,17 @@ globalThis.updateHealth = function(slave) {
 	const illness = (5 - Math.pow(H.illness, 2)) * 20; // 100 / -400
 
 	// Assigning weights to the different components and aggregating
-	H.health = condition * 0.6 + damage * 0.2 + tired * 0.1 - illness * 0.1;
+	return condition * 0.6 + damage * 0.2 + tired * 0.1 - illness * 0.1;
+};
+
+/**
+ * Updates slave.health.health
+ * @param {App.Entity.SlaveState} slave
+ * @returns {void}
+ */
+globalThis.updateHealth = function(slave) {
+	const H = slave.health;
+	H.health = computeAggregateHealth(slave, H.condition);
 };
 
 /**
diff --git a/src/js/itemAvailability.js b/src/js/itemAvailability.js
index f0c5fc0cb1f13e86ed1266dd6d4e060240306d8a..1a23c13bead242b88d7c04815a8a1ee07f40ad03 100644
--- a/src/js/itemAvailability.js
+++ b/src/js/itemAvailability.js
@@ -15,51 +15,45 @@ globalThis.isItemAccessible = (function() {
 		if (V.cheatMode === 1) {
 			return true;
 		}
-		let niceDB = [];
-		let harshDB = [];
+		let selectedDB;
 		switch (category) {
 			case "clothing":
 			case "clothes":
-				niceDB = App.Data.slaveWear.niceClothes;
-				harshDB = App.Data.slaveWear.harshClothes;
+				selectedDB = App.Data.clothes;
 				break;
 			case "collar":
-				niceDB = App.Data.slaveWear.niceCollars;
-				harshDB = App.Data.slaveWear.harshCollars;
+				selectedDB = App.Data.slaveWear.collars;
 				break;
 			case "bellyAccessory":
-				niceDB = App.Data.slaveWear.bellyAccessories;
+				selectedDB = App.Data.slaveWear.bellyAccessories;
 				break;
 			case "buttplug":
-				niceDB = App.Data.slaveWear.buttplugs;
+				selectedDB = App.Data.slaveWear.buttplugs;
 				break;
 			case "buttplugAttachment":
-				niceDB = App.Data.slaveWear.buttplugAttachments;
+				selectedDB = App.Data.slaveWear.buttplugAttachments;
 				break;
 			case "vaginalAccessory":
-				niceDB = App.Data.slaveWear.vaginalAccessories;
+				selectedDB = App.Data.slaveWear.vaginalAccessories;
 				break;
 			case "vaginalAttachment":
-				niceDB = App.Data.slaveWear.vaginalAttachments;
+				selectedDB = App.Data.slaveWear.vaginalAttachments;
 				break;
 			case "dickAccessory":
-				niceDB = App.Data.slaveWear.vaginalAccessories;
+				selectedDB = App.Data.slaveWear.dickAccessories;
 				break;
 			case "shoes":
-				niceDB = App.Data.slaveWear.shoes;
+				selectedDB = App.Data.slaveWear.shoes;
 				break;
 			case "chastity":
-				niceDB = App.Data.slaveWear.chastityDevices;
+				selectedDB = App.Data.slaveWear.chastityDevices;
 				break;
 			default:
 				console.log(`made a category for ${category} automatically, may need to define this by hand`);
-				niceDB = App.Data.slaveWear[category];
+				selectedDB = App.Data.slaveWear[category];
 				break;
 		}
-		let item = niceDB.find((i) => i.value === string);
-		if (!item && (typeof harshDB !== 'undefined')) {
-			item = harshDB.find((i) => i.value === string);
-		}
+		const item = selectedDB.get(string);
 		if (!item) {
 			console.log(`${string} is not a registered piece of clothing! Check App.Data.slaveWear.${category}`);
 			return false; /* couldn't be found */
@@ -68,20 +62,22 @@ globalThis.isItemAccessible = (function() {
 	}
 	/**
 	 * Returns array of wearable clothing in format [name, value], basically player facing / game data.
-	 * @param {Array} db Array to look in (such as App.Data.slaveWear.niceClothes)
+	 * @param {Map} map Map to look in (such as App.Data.clothes)
+	 * @param {string} [filter] for example, if we want to filer clothing data by the "harsh" property, pass harsh as the parameter here.
+	 * @param {any} [filterValue] remove any clothing where the .filter property does not match this value.  Function will evaluate undefined as false.
 	 * @returns {Array}
 	 */
-	function array(db) {
+	function array(map, filter, filterValue) {
 		const array = [];
-		db.forEach((i) => {
-			if (V.cheatMode || isAvailable(i)) {
-				let name = i.name;
-				if (i.fs) {
-					name = `${i.name} (FS)`;
-				}
-				array.push([name, i.value]);
+		for (const [key, obj] of map) {
+			if (filter && filterValue !== (obj[filter] || false)) {
+				continue;
 			}
-		});
+			if (V.cheatMode || isAvailable(obj)) {
+				const name = (obj.fs) ? `${obj.name} (FS)` : obj.name;
+				array.push([name, obj.value]);
+			}
+		}
 		return array;
 	}
 
diff --git a/src/js/releaseRules.js b/src/js/releaseRules.js
index b029004c3b2edd4bf6437706322092bf9f45da9b..ab0a354a055fc0872a7cdb3c9b2a458c13652cc9 100644
--- a/src/js/releaseRules.js
+++ b/src/js/releaseRules.js
@@ -128,10 +128,6 @@ App.Utils.releaseSummaryShort = function releaseSummaryShort(slave) {
 App.Utils.releaseSummaryLong = function releaseSummaryLong(slave) {
 	const rel = slave.rules.release;
 	const includeFamily = (rel.family === 1) && (V.seeIncest === 1);
-	let _counter = rel.masturbation + rel.partner + rel.facilityLeader + rel.slaves + rel.master;
-	if (includeFamily) {
-		_counter += 1;
-	}
 
 	if (rel.masturbation === 0 && rel.partner === 0 && rel.facilityLeader === 0 && !includeFamily && rel.slaves === 0 && rel.master === 0) {
 		return "chastity";
@@ -147,7 +143,7 @@ App.Utils.releaseSummaryLong = function releaseSummaryLong(slave) {
 		return "slaves only";
 	} else if (rel.masturbation === 0 && rel.partner === 0 && rel.facilityLeader === 0 && !includeFamily && rel.slaves === 0 && rel.master === 1) {
 		return "you only";
-	} else if (_counter >= 3) {
+	} else if (rel.slaves === 1) {
 		let ret = "permissive";
 		let exceptions = [];
 		if (rel.partner === 0) {
@@ -169,9 +165,11 @@ App.Utils.releaseSummaryLong = function releaseSummaryLong(slave) {
 			ret += ", no masturbation";
 		}
 		return ret;
-	} else if (_counter > 0 && _counter < 3){
-		let ret = "restrictive";
+	} else {
 		let permissions = [];
+		if (rel.masturbation === 1) {
+			permissions.push("masturbation");
+		}
 		if (rel.partner === 1) {
 			permissions.push("partner");
 		}
@@ -185,14 +183,10 @@ App.Utils.releaseSummaryLong = function releaseSummaryLong(slave) {
 			permissions.push("you");
 		}
 		if (permissions.length > 0) {
-			ret += " but permits " + permissions.reduce(function(res, ch, i, arr) { return res + (i === arr.length - 1 ? ' and ' : ', ') + ch; });
-		}
-		if (rel.masturbation === 1) {
-			ret += ", and allowed to masturbate";
+			return permissions.reduce(function(res, ch, i, arr) { return res + (i === arr.length - 1 ? ' and ' : ', ') + ch; });
+		} else {
+			return "restrictive";
 		}
-		return ret;
-	} else {
-		return "no release rules";
 	}
 };
 
diff --git a/src/js/removeSlave.js b/src/js/removeSlave.js
index bfb00233a59b00e978be4475f9ea221638db8578..57647eb3fde8f48493ed912f5a9d02ef80288228 100644
--- a/src/js/removeSlave.js
+++ b/src/js/removeSlave.js
@@ -121,9 +121,9 @@ globalThis.removeSlave = function(slave) {
 		if (Array.isArray(V.personalAttention)) {
 			V.personalAttention.deleteWith(s => s.ID === AS_ID);
 			if (V.personalAttention.length === 0) {
-				if (V.PC.career === "escort") {
+				if (V.PC.career === "escort" || V.PC.career === "prostitute" || V.PC.career === "child prostitute") {
 					V.personalAttention = "whoring";
-				} else if (V.PC.career === "servant") {
+				} else if (V.PC.career === "servant" || V.PC.career === "handmaiden" || V.PC.career === "child servant") {
 					V.personalAttention = "upkeep";
 				} else {
 					V.personalAttention = "business";
diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js
index 03ce426239d71eb0f92e498c642749506d27e6be..084ea51d06e2220cd9c20c1cf637a6927c7576f7 100644
--- a/src/js/rulesAssistantOptions.js
+++ b/src/js/rulesAssistantOptions.js
@@ -1806,11 +1806,11 @@ globalThis.rulesAssistantOptions = (function() {
 			];
 			super("Clothes", items);
 
-			const nClothes = isItemAccessible.array(App.Data.slaveWear.niceClothes);
+			const nClothes = isItemAccessible.array(App.Data.clothes, "harsh", false);
 			nClothes.sort(function(a, b) { if (a[0] < b[0]) { return -1; } if (a[0] > b[0]) { return 1; } return 0; });
 			this._nice = new ListSubSection(this, "Nice", nClothes);
 
-			const hClothes = isItemAccessible.array(App.Data.slaveWear.harshClothes);
+			const hClothes = isItemAccessible.array(App.Data.clothes, "harsh", true);
 			hClothes.sort(function(a, b) { if (a[0] < b[0]) { return -1; } if (a[0] > b[0]) { return 1; } return 0; });
 
 			this._harsh = new ListSubSection(this, "Harsh", hClothes);
@@ -1833,11 +1833,11 @@ globalThis.rulesAssistantOptions = (function() {
 			];
 			super("Collar", items);
 
-			const niceCollars = isItemAccessible.array(App.Data.slaveWear.niceCollars);
+			const niceCollars = isItemAccessible.array(App.Data.slaveWear.collars, "harsh", false);
 			niceCollars.sort(function(a, b) { if (a[0] < b[0]) { return -1; } if (a[0] > b[0]) { return 1; } return 0; });
 			this._nice = new ListSubSection(this, "Nice", niceCollars);
 
-			const harshCollars = isItemAccessible.array(App.Data.slaveWear.harshCollars);
+			const harshCollars = isItemAccessible.array(App.Data.slaveWear.collars, "harsh", true);
 			harshCollars.sort(function(a, b) { if (a[0] < b[0]) { return -1; } if (a[0] > b[0]) { return 1; } return 0; });
 			this._harsh = new ListSubSection(this, "Harsh", harshCollars);
 
@@ -3029,32 +3029,7 @@ globalThis.rulesAssistantOptions = (function() {
 
 	class HornColorList extends ListSelector {
 		constructor() {
-			const pairs = [
-				["golden"],
-				["copper"],
-				["red"],
-				["deep red"],
-				["green"],
-				["pink"],
-				["dark brown"],
-				["brown"],
-				["burgundy"],
-				["jet black"],
-				["black"],
-				["grey"],
-				["silver"],
-				["white"],
-				["blue-violet"],
-				["purple"],
-				["dark orchid"],
-				["sea green"],
-				["green-yellow"],
-				["dark blue"],
-				["blazing red"],
-				["neon green"],
-				["neon blue"],
-				["neon pink"]
-			];
+			const pairs = Array.from(App.Medicine.Modification.hornColor, color => [color]);
 			super("Horn color", pairs);
 			this.setValue(current_rule.set.hornColor);
 			this.onchange = (value) => current_rule.set.hornColor = value;
@@ -3081,18 +3056,7 @@ globalThis.rulesAssistantOptions = (function() {
 
 	class EyebrowStyleList extends ListSelector {
 		constructor() {
-			const pairs = [
-				["shaved"],
-				["straight"],
-				["rounded"],
-				["natural"],
-				["slanted inwards"],
-				["slanted outwards"],
-				["high-arched"],
-				["elongated"],
-				["shortened"],
-				["curved"]
-			];
+			const pairs = Array.from(App.Medicine.Modification.eyebrowStyles, style => [style]);
 			super("Eyebrow style", pairs);
 			this.setValue(current_rule.set.eyebrowHStyle);
 			this.onchange = (value) => current_rule.set.eyebrowHStyle = value;
@@ -3101,15 +3065,7 @@ globalThis.rulesAssistantOptions = (function() {
 
 	class EyebrowFullnessList extends ListSelector {
 		constructor() {
-			const pairs = [
-				["pencil-thin"],
-				["thin"],
-				["threaded"],
-				["natural"],
-				["tapered"],
-				["thick"],
-				["bushy"]
-			];
+			const pairs = Array.from(App.Medicine.Modification.eyebrowFullness, fullness => [fullness]);
 			super("Eyebrow fullness", pairs);
 			this.setValue(current_rule.set.eyebrowFullness);
 			this.onchange = (value) => current_rule.set.eyebrowFullness = value;
@@ -3140,14 +3096,7 @@ globalThis.rulesAssistantOptions = (function() {
 
 	class PubicHairStyleList extends ListSelector {
 		constructor() {
-			const pairs = [
-				["waxed"],
-				["in a strip"],
-				["neat"],
-				["bushy"],
-				["bushy in the front and neat in the rear"],
-				["very bushy"]
-			];
+			const pairs = Array.from(App.Medicine.Modification.pubicStyles, style => [style]);
 			super("Pubic hairstyle", pairs);
 			this.setValue(current_rule.set.pubicHStyle);
 			this.onchange = (value) => current_rule.set.pubicHStyle = value;
@@ -3165,12 +3114,7 @@ globalThis.rulesAssistantOptions = (function() {
 
 	class ArmpitHairStyleList extends ListSelector {
 		constructor() {
-			const pairs = [
-				["waxed"],
-				["shaved"],
-				["neat"],
-				["bushy"]
-			];
+			const pairs = Array.from(App.Medicine.Modification.armpitStyles, style => [style]);
 			super("Underarm hair style", pairs);
 			this.setValue(current_rule.set.underArmHStyle);
 			this.onchange = (value) => current_rule.set.underArmHStyle = value;
@@ -4022,13 +3966,7 @@ globalThis.rulesAssistantOptions = (function() {
 				["pure black"],
 				["sun tanned"],
 				["spray tanned"],
-				["dyed red"],
-				["dyed green"],
-				["dyed blue"],
-				["dyed pink"],
-				["dyed gray"],
-				["tiger striped"],
-				["camouflage patterned"],
+				...App.Medicine.Modification.dyedSkins
 			];
 			super("Dye or tan skin", items);
 			this.setValue(current_rule.set.skinColor);
diff --git a/src/js/salon.js b/src/js/salon.js
index 9a0e8ccdfd578613e480eb56978c00c947dab257..74916eb4ff5a80df035fa3a44c6ce96fda0e8b43 100644
--- a/src/js/salon.js
+++ b/src/js/salon.js
@@ -1,8 +1,9 @@
 /**
  * @param {FC.HumanState} entity
+ * @param {Boolean} cheat
  * @returns {HTMLDivElement}
  */
-App.Medicine.Modification.eyeSelector = function(entity) {
+App.Medicine.Modification.eyeSelector = function(entity, cheat = false) {
 	const {He, him, his} = getPronouns(entity);
 
 	const player = entity === V.PC;
@@ -166,7 +167,9 @@ App.Medicine.Modification.eyeSelector = function(entity) {
 			selectedPupil === "none" ? "" : selectedPupil,
 			selectedSclera === "none" ? "" : selectedSclera,
 			selectedSide);
-		cashX(forceNeg(V.modCost), "slaveMod", entity);
+		if (!cheat) {
+			cashX(forceNeg(V.modCost), "slaveMod", entity);
+		}
 
 		App.UI.reload();
 	}
@@ -226,463 +229,100 @@ App.Medicine.Modification.eyeSelector = function(entity) {
  * @param {object} params
  * @param {number|string} [params.primaryEarColor=0]
  * @param {string} [params.secondaryEarColor=""]
- * @returns {JQuery<HTMLElement>}
+ * @param {Boolean} [params.cheat=false]
+ * @returns {HTMLElement}
  */
-App.Medicine.Salon.ears = function(slave, {primaryEarColor = 0, secondaryEarColor = ""} = {}) {
-	const frag = new DocumentFragment();
+App.Medicine.Salon.ears = function(slave, {primaryEarColor = 0, secondaryEarColor = "", cheat = false} = {}) {
 	let updatePrimary = (newVal) => { primaryEarColor = newVal; apply(); };
 	let updateSecondary = (newVal) => { secondaryEarColor = newVal; apply(); };
+	const container = document.createElement("div");
+	container.id = "salon-ears";
+	container.append(content());
+	return container;
 
-	if (slave.earT !== "none" && slave.earTColor !== "hairless") {
-		const {His, his} = getPronouns(slave);
-		let div;
-		let p;
-		frag.append(`${His} fluffy ears are ${slave.earTColor}.`);
-
-		div = document.createElement("div");
-		div.classList.add("choices");
-		if (slave.earTColor !== slave.hColor) {
-			div.append(
-				App.UI.DOM.link(
-					"Match current hair",
-					() => {
-						slave.earTColor = slave.hColor;
-						App.Art.refreshSlaveArt(slave, 3, "art-frame");
-						apply();
-					}
-				)
-			);
-			div.append(" or ");
-			App.UI.DOM.appendNewElement("span", div, "choose a new one: ", "note");
-		} else {
-			App.UI.DOM.appendNewElement("span", div, `Choose a dye color before dyeing ${his} ears:`, "note");
-		}
-		frag.append(div);
-
-		div = document.createElement("div");
-		div.classList.add("choices");
-		div.append(`Colors:`);
-		div.append(createList(App.Medicine.Modification.Color.Primary, updatePrimary));
-		frag.append(div);
-
-		div = document.createElement("div");
-		div.classList.add("choices");
-		div.append(`Highlights:`);
-		div.append(createList(App.Medicine.Modification.Color.Secondary, updateSecondary));
-		frag.append(div);
-
-		if (primaryEarColor !== 0) {
-			p = document.createElement("p");
-			p.classList.add("choices");
-			p.append(
-				App.UI.DOM.link(
-					`Color ${his} ears`,
-					() => {
-						slave.earTColor = (primaryEarColor + secondaryEarColor);
-						App.Art.refreshSlaveArt(slave, 3, "art-frame");
-						cashX(forceNeg(V.modCost), "slaveMod", slave);
-						App.Medicine.Salon.ears(slave); // discard selections after locking them in.
-					}
-				)
-			);
-			p.append(` ${primaryEarColor}${secondaryEarColor} now?`);
-			frag.append(p);
-		}
-	}
-	return jQuery("#salon-ears").empty().append(frag);
-
-	function createList(array, method) {
-		const links = [];
-		for (const item of array) {
-			const title = item.title || capFirstChar(item.value);
-			links.push(
-				App.UI.DOM.link(
-					title,
-					() => method(item.value)
-				)
-			);
-		}
-		return App.UI.DOM.generateLinksStrip(links);
-	}
-	function apply() {
-		App.Art.refreshSlaveArt(slave, 3, "art-frame");
-		App.Medicine.Salon.ears(
-			slave,
-			{
-				primaryEarColor: primaryEarColor,
-				secondaryEarColor: secondaryEarColor,
-			}
-		);
-	}
-};
-
-/**
- * Update hair in salon
- * @param {App.Entity.SlaveState} slave
- * @param {object} params
- * @param {number|string} [params.primaryHairColor]
- * @param {string} [params.secondaryHairColor]
- * @returns {JQuery<HTMLElement>}
- */
-App.Medicine.Salon.hair = function(slave, {primaryHairColor = 0, secondaryHairColor = ""} = {}) {
-	const frag = new DocumentFragment();
-	let updatePrimary = (newVal) => { primaryHairColor = newVal.value; apply(); };
-	let updateSecondary = (newVal) => { secondaryHairColor = newVal.value; apply(); };
-	const {His, his, He, him} = getPronouns(slave);
-
-	if (slave.bald !== 1) {
-		frag.append(hairDye());
-		frag.append(hairStyle());
-		frag.append(hairLength());
-		frag.append(hairMaint());
-	} else {
-		// Bald
-		if (slave.hStyle === "bald") {
-			frag.append(`${He} is completely bald. `);
-		} else {
-			frag.append(wigDye());
-		}
-		frag.append(wigStyle());
-		frag.append(wigLength());
-	}
-	return jQuery("#salon-hair").empty().append(frag);
-
-	function hairDye() {
-		const frag = new DocumentFragment();
-		let div;
-		let p;
-		frag.append(`${His} hair is ${slave.hColor}.`);
-
-		div = document.createElement("div");
-		div.classList.add("choices");
-		if (slave.origHColor !== slave.hColor) {
-			div.append(
-				App.UI.DOM.link(
-					"Restore natural color",
-					() => {
-						slave.hColor = slave.origHColor;
-						App.Art.refreshSlaveArt(slave, 3, "art-frame");
-						cashX(forceNeg(V.modCost), "slaveMod", slave);
-						apply();
-					}
-				)
-			);
-			div.append(" or ");
-			App.UI.DOM.appendNewElement("span", div, "choose a new one: ", "note");
-		} else {
-			App.UI.DOM.appendNewElement("span", div, `Choose a dye color before dyeing ${his} hair:`, "note");
-		}
-		frag.append(div);
-
-		div = document.createElement("div");
-		div.classList.add("choices");
-		div.append(`Colors:`);
-		div.append(createList(App.Medicine.Modification.Color.Primary, updatePrimary));
-		frag.append(div);
-
-		div = document.createElement("div");
-		div.classList.add("choices");
-		div.append(`Highlights:`);
-		div.append(createList(App.Medicine.Modification.Color.Secondary, updateSecondary));
-		frag.append(div);
-
-		if (primaryHairColor !== 0) {
-			p = document.createElement("p");
-			p.classList.add("choices");
-			p.append(
-				App.UI.DOM.link(
-					`Color ${his} hair`,
-					() => {
-						slave.hColor = (primaryHairColor + secondaryHairColor);
-						App.Art.refreshSlaveArt(slave, 3, "art-frame");
-						cashX(forceNeg(V.modCost), "slaveMod", slave);
-						App.Medicine.Salon.hair(slave); // discard selections after locking them in.
-					}
-				)
-			);
-			p.append(` ${primaryHairColor}${secondaryHairColor} now?`);
-			frag.append(p);
-		}
-		return frag;
-	}
-
-	function hairStyle() {
-		const frag = new DocumentFragment();
-		let div;
-		let method;
-		div = document.createElement("div");
-		if (slave.hStyle !== "shaved") {
-			div.append(`${His} ${slave.hStyle} hair is ${lengthToEitherUnit(slave.hLength)} long. `);
-		} else {
-			div.append(`${His} hair is shaved smooth. `);
-		}
-		App.UI.DOM.appendNewElement("span", div, `General hairstyles will conform to hair length and clothing choices.`, "note");
-		frag.append(div);
-
-		// Normal styles
-		div = document.createElement("div");
-		div.classList.add("choices");
-		method = (newVal) => {
-			slave.hStyle = newVal.value;
-			cashX(forceNeg(V.modCost), "slaveMod", slave);
-			apply();
-		};
-		if (slave.hLength > 1) {
-			div.append(`Style ${his} hair:`);
-			div.append(createList(App.Medicine.Modification.hairStyles.Normal, method));
-		} else {
-			App.UI.DOM.appendNewElement("span", div, `${His} hair is too short to style meaningfully`, "note");
-		}
-		frag.append(div);
-
-		// Short styles, includes cutting
-		div = document.createElement("div");
-		div.classList.add("choices");
-		method = (newVal) => {
-			slave.hStyle = newVal.value;
-			slave.hLength = newVal.hLength;
-			cashX(forceNeg(V.modCost), "slaveMod", slave);
-			apply();
-		};
-		if (slave.hLength > 1) {
-			div.append(`Cut and style ${his} hair:`);
-			div.append(createList(App.Medicine.Modification.hairStyles.Cut, method));
-		}
-		frag.append(div);
-
-		return frag;
-	}
-
-	function hairLength() {
+	function content() {
 		const frag = new DocumentFragment();
-		let div = document.createElement("div");
-		div.classList.add("choices");
-		let method = (newVal) => {
-			if (newVal.hasOwnProperty("onApplication")) {
-				newVal.onApplication(slave);
+		if (slave.earT !== "none" && slave.earTColor !== "hairless") {
+			const {His, his} = getPronouns(slave);
+			let div;
+			let p;
+			frag.append(`${His} fluffy ears are ${slave.earTColor}.`);
+
+			div = document.createElement("div");
+			div.classList.add("choices");
+			if (slave.earTColor !== slave.hColor) {
+				div.append(
+					App.UI.DOM.link(
+						"Match current hair",
+						() => {
+							slave.earTColor = slave.hColor;
+							App.Art.refreshSlaveArt(slave, 3, "art-frame");
+							apply();
+						}
+					)
+				);
+				div.append(" or ");
+				App.UI.DOM.appendNewElement("span", div, "choose a new one: ", "note");
+			} else {
+				App.UI.DOM.appendNewElement("span", div, `Choose a dye color before dyeing ${his} ears:`, "note");
 			}
-			if (newVal.hasOwnProperty("hLength")) {
-				slave.hLength = newVal.hLength;
+			frag.append(div);
+
+			div = document.createElement("div");
+			div.classList.add("choices");
+			div.append(`Colors:`);
+			div.append(createList(App.Medicine.Modification.Color.Primary, updatePrimary));
+			frag.append(div);
+
+			div = document.createElement("div");
+			div.classList.add("choices");
+			div.append(`Highlights:`);
+			div.append(createList(App.Medicine.Modification.Color.Secondary, updateSecondary));
+			frag.append(div);
+
+			if (primaryEarColor !== 0) {
+				p = document.createElement("p");
+				p.classList.add("choices");
+				p.append(
+					App.UI.DOM.link(
+						`Color ${his} ears`,
+						() => {
+							slave.earTColor = (primaryEarColor + secondaryEarColor);
+							App.Art.refreshSlaveArt(slave, 3, "art-frame");
+							if (!cheat) {
+								cashX(forceNeg(V.modCost), "slaveMod", slave);
+							}
+							App.Medicine.Salon.ears(slave); // discard selections after locking them in.
+						}
+					)
+				);
+				p.append(` ${primaryEarColor}${secondaryEarColor} now?`);
+				frag.append(p);
 			}
-			apply();
-		};
-		const oldHLength = (V.showInches === 2) ? Math.round(slave.hLength / 2.54) : slave.hLength;
-
-		App.UI.DOM.appendNewElement("span", div, `Cut or lengthen ${his} hair:`);
-		div.append(createList(App.Medicine.Modification.hairStyles.Length, method));
-		div.append(" | Custom length: ");
-		div.append(
-			App.UI.DOM.makeTextBox(
-				oldHLength,
-				v => {
-					v = Math.max(v, 0); // Positive hair length only
-					// If they entered "inches," convert
-					if (V.showInches === 2) {
-						v = Math.round(v * 2.54);
-					}
-					slave.hLength = v;
-					cashX(forceNeg(V.modCost), "slaveMod", slave);
-					apply();
-				},
-				true
-			)
-		);
-		if (V.showInches === 1) {
-			div.append(`cm (${cmToInchString(slave.hLength)})`);
-		} else if (V.showInches === 2) {
-			div.append(`inches`);
 		}
-
-		frag.append(div);
-
-		return frag;
-	}
-
-	function hairMaint() {
-		let div = document.createElement("div");
-		div.classList.add("choices");
-		div.append(`Have ${his} hair carefully maintained at its current length: `);
-		let haircuts;
-		let text;
-		if (slave.haircuts === 1) {
-			text = "Cease maintenance";
-			haircuts = 0;
-		} else {
-			text = "Begin maintenance";
-			haircuts = 1;
-		}
-		div.append(
-			App.UI.DOM.link(
-				text,
-				() => {
-					slave.haircuts = haircuts;
-					apply();
-				}
-			)
-		);
-		return div;
-	}
-
-	function wigDye() {
-		const frag = new DocumentFragment();
-		let div;
-		let p;
-		frag.append(`${His} current wig is ${slave.hColor}. `);
-
-		if (slave.hStyle !== "bald") {
-			frag.append(
-				App.UI.DOM.link(
-					"Remove wig",
-					() => {
-						slave.hStyle = "bald";
-						slave.hLength = 0;
-						// I'm not going to charge you for taking off a fucking wig.
-						apply();
-					}
-				)
-			);
-			frag.append(" or ");
-			App.UI.DOM.appendNewElement("span", frag, "choose a new one: ", "note");
-		} else {
-			App.UI.DOM.appendNewElement("span", frag, `Choose a wig color:`, "note");
-		}
-
-		div = document.createElement("div");
-		div.classList.add("choices");
-		div.append(`Colors:`);
-		div.append(createList(App.Medicine.Modification.Color.Primary, updatePrimary));
-		frag.append(div);
-
-		div = document.createElement("div");
-		div.classList.add("choices");
-		div.append(`Highlights:`);
-		div.append(createList(App.Medicine.Modification.Color.Secondary, updateSecondary));
-		frag.append(div);
-
-		if (primaryHairColor !== 0) {
-			p = document.createElement("p");
-			p.classList.add("choices");
-			p.append(
-				App.UI.DOM.link(
-					`Change`,
-					() => {
-						slave.earTColor = (primaryHairColor + secondaryHairColor);
-						App.Art.refreshSlaveArt(slave, 3, "art-frame");
-						cashX(forceNeg(V.modCost), "slaveMod", slave);
-						App.Medicine.Salon.hair(slave); // discard selections after locking them in.
-					}
-				)
-			);
-			p.append(` ${his} wig color to ${primaryHairColor}${secondaryHairColor} now?`);
-			frag.append(p);
-		}
-		return frag;
-	}
-
-	function wigLength() {
-		const frag = new DocumentFragment();
-		if (slave.hStyle === "bald") {
-			return frag;
-		}
-		let div = document.createElement("div");
-		div.classList.add("choices");
-		const array = [];
-		for (const number of [10, 30, 60, 90, 120, 150]) {
-			const obj = {};
-			obj.title = lengthToEitherUnit(number);
-			obj.hLength = number;
-			array.push(obj);
-		}
-		let method = (newVal) => {
-			slave.hLength = newVal.hLength;
-			apply();
-		};
-		const oldHLength = (V.showInches === 2) ? Math.round(slave.hLength / 2.54) : slave.hLength;
-		App.UI.DOM.appendNewElement("span", div, `Set wig length to:`, "choices");
-		div.append(createList(array, method));
-		div.append(" | Custom length: ");
-		div.append(
-			App.UI.DOM.makeTextBox(
-				oldHLength,
-				v => {
-					v = Math.max(v, 10); // Wigs must be at least 10 cm
-					// If they entered "inches," convert
-					if (V.showInches === 2) {
-						v = Math.round(v * 2.54);
-					}
-					slave.hLength = v;
-					cashX(forceNeg(V.modCost), "slaveMod", slave);
-					apply();
-				},
-				true
-			)
-		);
-		if (V.showInches === 1) {
-			div.append(`cm (${cmToInchString(slave.hLength)})`);
-		} else if (V.showInches === 2) {
-			div.append(`inches`);
-		}
-
-		frag.append(div);
-
-		return frag;
-	}
-
-	function wigStyle() {
-		const frag = new DocumentFragment();
-		let div = document.createElement("div");
-		div.classList.add("choices");
-		const method = (newVal) => {
-			slave.hStyle = newVal.value;
-			cashX(forceNeg(V.modCost), "slaveMod", slave);
-			apply();
-		};
-
-		if (slave.hStyle !== "bald") {
-			frag.append(`${His} ${slave.hStyle} wig is ${lengthToEitherUnit(slave.hLength)} long. `);
-		} else {
-			frag.append(`${He} is not wearing a wig. `);
-		}
-		App.UI.DOM.appendNewElement("span", frag, `General hairstyles will conform to hair length and clothing choices.`, "note");
-
-		div = document.createElement("div");
-		div.classList.add("choices");
-		if (slave.hStyle === "bald") {
-			div.append(`Give ${him} a wig:`);
-		} else {
-			div.append(`Set wig style:`);
-		}
-		div.append(createList(App.Medicine.Modification.hairStyles.Normal, method));
-		frag.append(div);
 		return frag;
 	}
 
 	function createList(array, method) {
 		const links = [];
 		for (const item of array) {
-			if (item.hasOwnProperty("requirements")) {
-				if (item.requirements(slave) === false) {
-					continue;
-				}
-			}
 			const title = item.title || capFirstChar(item.value);
 			links.push(
 				App.UI.DOM.link(
 					title,
-					() => method(item)
+					() => method(item.value)
 				)
 			);
 		}
 		return App.UI.DOM.generateLinksStrip(links);
 	}
-
 	function apply() {
 		App.Art.refreshSlaveArt(slave, 3, "art-frame");
-		App.Medicine.Salon.hair(
+		App.Medicine.Salon.ears(
 			slave,
 			{
-				primaryHairColor: primaryHairColor,
-				secondaryHairColor: secondaryHairColor,
+				primaryEarColor: primaryEarColor,
+				secondaryEarColor: secondaryEarColor,
 			}
 		);
 	}
@@ -694,9 +334,10 @@ App.Medicine.Salon.hair = function(slave, {primaryHairColor = 0, secondaryHairCo
  * @param {object} params
  * @param {number|string} [params.primaryTailColor]
  * @param {string} [params.secondaryTailColor]
+ * @param {Boolean} [params.cheat]
  * @returns {JQuery<HTMLElement>}
  */
-App.Medicine.Salon.tail = function(slave, {primaryTailColor = 0, secondaryTailColor = ""} = {}) {
+App.Medicine.Salon.tail = function(slave, {primaryTailColor = 0, secondaryTailColor = "", cheat = false} = {}) {
 	const frag = new DocumentFragment();
 	let updatePrimary = (newVal) => { primaryTailColor = newVal.value; apply(); };
 	let updateSecondary = (newVal) => { secondaryTailColor = newVal.value; apply(); };
@@ -723,7 +364,9 @@ App.Medicine.Salon.tail = function(slave, {primaryTailColor = 0, secondaryTailCo
 					() => {
 						slave.tailColor = slave.hColor;
 						App.Art.refreshSlaveArt(slave, 3, "art-frame");
-						cashX(forceNeg(V.modCost), "slaveMod", slave);
+						if (!cheat) {
+							cashX(forceNeg(V.modCost), "slaveMod", slave);
+						}
 						apply();
 					}
 				)
@@ -756,7 +399,9 @@ App.Medicine.Salon.tail = function(slave, {primaryTailColor = 0, secondaryTailCo
 					() => {
 						slave.tailColor = (primaryTailColor + secondaryTailColor);
 						App.Art.refreshSlaveArt(slave, 3, "art-frame");
-						cashX(forceNeg(V.modCost), "slaveMod", slave);
+						if (!cheat) {
+							cashX(forceNeg(V.modCost), "slaveMod", slave);
+						}
 						App.Medicine.Salon.tail(slave); // discard selections after locking them in.
 					}
 				)
diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js
index 86af6b013caccd66e70b7c522269f06c4a223713..98d54d5a1ef59b370acc8d40768f49aade5c63cf 100644
--- a/src/js/slaveCostJS.js
+++ b/src/js/slaveCostJS.js
@@ -12,6 +12,10 @@ globalThis.minimumSlaveCost = function(includeLaws=false) {
 	}
 	if (V.PC.career === "gang") {
 		value -= 1000;
+	} else if (V.PC.career === "hoodlum") {
+		value -= 750;
+	} else if (V.PC.career === "street urchin") {
+		value -= 500;
 	}
 
 	if (includeLaws) {
@@ -2739,7 +2743,7 @@ globalThis.slaveCostBeauty = (function() {
 		startingSlaveMultiplier = Math.clamp(startingSlaveMultiplier, 0, 10);
 		cost += cost * startingSlaveMultiplier;
 		cost = 500 * Math.trunc(cost / 500);
-		if (V.PC.career === "slaver") {
+		if (V.PC.career === "slaver" || V.PC.career === "slave overseer" || V.PC.career === "slave tender") {
 			cost /= 2;
 		}
 	}
diff --git a/src/js/slaveListing.js b/src/js/slaveListing.js
index 8e668e6bee4b0ce35e4eb67bdbaf58557318e453..d872a676193912b4d85b82df738f3e822bc07a4e 100644
--- a/src/js/slaveListing.js
+++ b/src/js/slaveListing.js
@@ -560,23 +560,19 @@ App.UI.SlaveList.SlaveInteract.penthouseInteract = function(slave) {
  * @param {number} id slave id
  */
 App.UI.selectSlaveForPersonalAttention = function(id) {
-	if (!Array.isArray(V.personalAttention)) {
-		/* first PA target */
+	if (!Array.isArray(V.personalAttention)) { // first PA target
 		V.personalAttention = [{
 			ID: id,
 			trainingRegimen: "undecided"
 		}];
 	} else {
 		const _pai = V.personalAttention.findIndex(s => s.ID === id);
-		if (_pai === -1) {
-			/* not already a PA target; add */
-			V.activeSlave = getSlave(id);
+		if (_pai === -1) { // not already a PA target; add
 			V.personalAttention.push({
 				ID: id,
 				trainingRegimen: "undecided"
 			});
-		} else {
-			/* already a PA target; remove */
+		} else { // already a PA target; remove
 			V.personalAttention.deleteAt(_pai);
 			if (V.personalAttention.length === 0) {
 				V.personalAttention = "sex";
diff --git a/src/js/slaveSummaryHelpers.js b/src/js/slaveSummaryHelpers.js
index 560dbf618cfe12cf8929f0a6864f63feec3e2fa8..8f0f33ba1c9b91c8ed3d32105cfd8b8cbaa803c1 100644
--- a/src/js/slaveSummaryHelpers.js
+++ b/src/js/slaveSummaryHelpers.js
@@ -195,12 +195,12 @@ App.UI.SlaveSummaryImpl = function() {
 		 */
 		function syncFSData(arcology) {
 			arcology = arcology || V.arcologies[0];
-			for (const fsp of App.Data.misc.FutureSocieties) {
+			for (const fsp of App.Data.FutureSociety.fsNames) {
 				/** @type {FC.FSPolicyValue} */
 				const policy = arcology[fsp];
 				const p = fsp.slice(2);
 				FSData.policy[p] = {
-					active: policy === "unset" ? 0 : 1,
+					active: (policy === "unset" || _.isNil(policy)) ? 0 : 1,
 					strength: Math.trunc(policy === "unset" ? 0: policy / 10)
 				};
 			}
@@ -649,10 +649,10 @@ App.UI.SlaveSummaryImpl = function() {
 				makeSpan(c, `Appears to have a ${slave.visualAge} year old body`, style, true);
 			}
 			if (slave.geneMods.NCS === 1) {
-				makeSpan(c, "NCS", "orange");
+				makeSpan(c, "NCS", "orange", true);
 			}
 			if (slave.geneMods.immortality === 1) {
-				makeSpan(c, "Immortal", "orange");
+				makeSpan(c, "Immortal", "orange", true);
 			}
 		}
 
@@ -1510,7 +1510,7 @@ App.UI.SlaveSummaryImpl = function() {
 		 * @returns {void}
 		 */
 		function short_clone(slave, c) {
-			if (slave.clone !== 0) {
+			if (typeof slave.clone === "string") {
 				makeSpan(c, "Clone");
 			}
 		}
@@ -1554,7 +1554,7 @@ App.UI.SlaveSummaryImpl = function() {
 		 * @returns {void}
 		 */
 		function long_clone(slave, c) {
-			if (slave.clone !== 0) {
+			if (typeof slave.clone === "string") {
 				makeSpan(c, `Clone of ${slave.clone}.`, "skyblue");
 			}
 		}
diff --git a/src/js/statsChecker/statsChecker.js b/src/js/statsChecker/statsChecker.js
index 461e30fdb1421aad863e3782e08c782694da47d0..4c94e5f40860ef9dda5431f208eab3e8fae95033 100644
--- a/src/js/statsChecker/statsChecker.js
+++ b/src/js/statsChecker/statsChecker.js
@@ -472,7 +472,7 @@ globalThis.bimboScore = function(slave) {
 	if (slave.skin === "sun tanned" || slave.skin === "spray tanned") {
 		degree++;
 	}
-	if (setup.sluttyClothes.includes(slave.clothes)) {
+	if (App.Data.clothes.get(slave.clothes).exposure === 2) {
 		degree++;
 	}
 
diff --git a/src/js/utilsFC.js b/src/js/utilsFC.js
index fcc21db0f89f8de5da5b7a41af6dcd795d5bdb67..ff6d0c4e524222a00017bf18f4d4e6397c2e8f64 100644
--- a/src/js/utilsFC.js
+++ b/src/js/utilsFC.js
@@ -2577,7 +2577,7 @@ globalThis.randomRaceHair = function(raceName) {
  * @returns {number}
  */
 globalThis.skinToneLevel = function(skinTone) {
-	if (!setup.naturalSkins.includes(skinTone)) {
+	if (!App.Medicine.Modification.naturalSkins.includes(skinTone)) {
 		return undefined;
 	}
 	const skinToMelanin = {
@@ -2617,7 +2617,7 @@ globalThis.skinToneLevel = function(skinTone) {
  * @returns {string}
  */
 globalThis.changeSkinTone = function(skin, value) {
-	if (!setup.naturalSkins.includes(skin)) {
+	if (!App.Medicine.Modification.naturalSkins.includes(skin)) {
 		return skin;
 	}
 	const skinToMelanin = {
@@ -2670,7 +2670,7 @@ globalThis.changeSkinTone = function(skin, value) {
  * @returns {number}
  */
 globalThis.nippleColorLevel = function(color) {
-	if (!setup.naturalNippleColors.includes(color)) {
+	if (!App.Medicine.Modification.naturalNippleColors.includes(color)) {
 		return undefined;
 	}
 	const nippleColor = {
@@ -2818,7 +2818,7 @@ globalThis.randomRapeRivalryTarget = function(slave, predicate) {
  * @property {number} [count] number of slaves to return
  * @property {boolean} [largest] should it search for the biggest or smallest value
  * @property {function(App.Entity.SlaveState): boolean} [filter] filter out undesired slaves
-*/
+ */
 
 /**
  * @param {getBestSlavesParams} params
@@ -3053,3 +3053,35 @@ App.Utils.schoolCounter = function() {
 App.Utils.schoolFailure = function() {
 	return Array.from(App.Data.misc.schools.keys()).find(s => V[s].schoolPresent && V[s].schoolProsperity <= -10);
 };
+
+App.Utils.alphabetizeIterable = function(iterable) {
+	const compare = function(a, b) {
+		let aTitle = a.toLowerCase();
+		let bTitle = b.toLowerCase();
+
+		aTitle = removeArticles(aTitle);
+		bTitle = removeArticles(bTitle);
+
+		if (aTitle > bTitle) {
+			return 1;
+		}
+		if (aTitle < bTitle) {
+			return -1;
+		}
+		return 0;
+	  };
+
+	function removeArticles(str) {
+		const words = str.split(" ");
+		if (words.length <= 1) {
+			return str;
+		}
+		if ( words[0] === 'a' || words[0] === 'the' || words[0] === 'an' ) {
+			return words.splice(1).join(" ");
+		}
+		return str;
+	}
+	const clonedArray = (Array.from(iterable));
+	return clonedArray.sort(compare);
+};
+
diff --git a/src/markets/bulkSlave/bulkSlaveIntro.js b/src/markets/bulkSlave/bulkSlaveIntro.js
index faf979a0d19879a2003d951196124b2bebd45f7b..9e76f3dc949b383a5cbf99a0ea6d119cb4cb259b 100644
--- a/src/markets/bulkSlave/bulkSlaveIntro.js
+++ b/src/markets/bulkSlave/bulkSlaveIntro.js
@@ -86,12 +86,10 @@ App.Markets.bulkSlaveIntro = function() {
 		/* Set slave to the desired newSlave so that existing code can be used */
 		const _slave = V.market.newSlaves[V.market.newSlaveIndex];
 
-		/* Due to possible gingering, the Long Slave Description must be displayed before the New Slave Intro */
-		/* policies were applied earlier, if needed */
-		el.append(App.Desc.longSlave(_slave, {market: "generic"}));
+		el.append(App.Desc.longSlave(_slave, {market: V.market.slaveMarket}));
 
 		/* Use existing New Slave Intro */
-		el.append(App.UI.newSlaveIntro(_slave));/* calls removeGingering() if needed */
+		el.append(App.UI.newSlaveIntro(_slave));
 
 		/* Override nextButton setting from New Slave Intro */
 		V.nextButton = "Continue";
@@ -139,15 +137,10 @@ App.Markets.bulkSlaveIntro = function() {
 		for (let _i = 0; _i < V.market.numSlaves; _i++) {
 			let slave = (generateMarketSlave(V.market.slaveMarket, V.market.numArcology)).slave;
 			V.slavesSeen++;
-			if (App.Data.misc.lawlessMarkets.includes(V.market.slaveMarket)) {
-				_slaveCost = slaveCost(slave);
-			} else {
-				const _backup = slave; /* backup newly generated slave */
-				App.Desc.lawCompliance(slave, V.market.slaveMarket); /* includes CheckForGingering — slave stats may change, affecting price */
-				_slaveCost = slaveCost(slave);
-				removeGingering(); /* remove gingered state, if applied, so we can apply it again later */
-				slave = _backup; /* restore backup so we can apply Law Compliance again later */
+			if (!App.Data.misc.lawlessMarkets.includes(V.market.slaveMarket)) {
+				App.Desc.lawCompliance(slave, V.market.slaveMarket); /* slave stats may change, affecting price */
 			}
+			_slaveCost = slaveCost(slave);
 
 			/* Adjust _slaveCost according to V.slavesSeen */
 			if (V.slavesSeen > V.slaveMarketLimit) {
diff --git a/src/markets/gingering.js b/src/markets/gingering.js
new file mode 100644
index 0000000000000000000000000000000000000000..c8308dcbda2f8e52c463d6f12bf1841f223818a2
--- /dev/null
+++ b/src/markets/gingering.js
@@ -0,0 +1,146 @@
+App.Entity.GingeringParameters = class {
+	/** Get gingering parameters for a particular slave and market.
+	 * @param {App.Entity.SlaveState} slave
+	 * @param {FC.Zeroable<FC.SlaveMarketName>} market
+	 */
+	constructor(slave, market) {
+		/** @type {FC.Gingering} */
+		this.type = 0;
+		/** @type {FC.GingeringDetection} */
+		this.detection = 0;
+		/** @type {boolean} */
+		this.detected = false;
+
+		// figure out what type of gingering applies, if any
+		if (applyLawCheck(market) === 1 && V.policies.SMR.honestySMR === 1) {
+			/* SMR prohibits gingering and is enforced for this slave - do nothing */
+		} else if (slave.indenture > 0) {
+			/* indentured servants cannot be gingered */
+		} else if (isShelterSlave(slave)) {
+			/* is a Shelter slave - do nothing */
+		} else {
+			if (slave.trust < -20 && jsRandom(1, 3) === 1) {
+				this.type = "antidepressant";
+			} else if (slave.devotion < -20 && jsRandom(1, 3) === 1) {
+				this.type = "depressant";
+			} else if (slave.health.condition < 60 && jsRandom(1, 3) === 1) {
+				this.type = "stimulant";
+			} else if (slave.balls > 0 && slave.dick > 2 && jsRandom(1, 3) === 1) {
+				this.type = "vasoconstrictor";
+			} else if (slave.balls > 0 && slave.dick < 5 && jsRandom(1, 3) === 1) {
+				this.type = "vasodilator";
+			} else if (slave.attrKnown === 0 && jsRandom(1, 3) === 1) {
+				this.type = "aphrodisiac";
+			} else if (slave.anus > 0 && slave.fetishKnown === 0 && jsRandom(1, 3) === 1) {
+				this.type = "ginger";
+			}
+		}
+
+		// figure out if the PC has detected gingering
+		if (this.type !== 0) {
+			if (V.PC.skill.slaving >= 100) {
+				this.detected = true;
+				this.detection = "slaver";
+			} else if (V.PC.skill.warfare >= 100 && jsRandom(1, 2) === 1) {
+				this.detected = true;
+				this.detection = "mercenary";
+			} else if (V.PC.rumor === "force" && jsRandom(1, 2) === 1) {
+				this.detected = true;
+				this.detection = "force";
+			} else if (jsRandom(1, 3) === 1) {
+				this.detected = true;
+			}
+		}
+		console.log(`Gingering: ${this.type}; detected: ${this.detected} by ${this.detection}.`);
+	}
+};
+
+
+/** Make the proxy handler for the gingered slave.
+ * Do not call directly (use getGingeredSlave instead); must be global for serialization.
+ * @param {App.Entity.GingeringParameters} gParams
+ * @param {Map<string, string|number>} gKeys
+ * @returns {ProxyHandler<App.Entity.SlaveState>}
+ */
+globalThis._makeGingeredSlaveHandler = function(gParams, gKeys) {
+	return {
+		get(target, key) {
+			switch (key) {
+				/* extra slave properties from proxy */
+				case "gingering":
+					return gParams;
+				case "beforeGingering":
+					return target;
+				/* serialization methods for Sugarcube */
+				case "clone": // WARNING: masks slave.clone.
+					return () => new Proxy(clone(target), _makeGingeredSlaveHandler(clone(gParams), clone(gKeys)));
+				case "toJSON":
+					return () => JSON.reviveWrapper('new Proxy($ReviveData$.slave, _makeGingeredSlaveHandler($ReviveData$.params, $ReviveData$.keys))', {slave: target, params: gParams, keys: gKeys});
+			}
+			/* specific overrides for gingered properties */
+			if (typeof key === "string" && gKeys.has(key)) {
+				return gKeys.get(key);
+			}
+			return target[key];
+		}
+	};
+};
+
+/** Get a gingered proxy for a slave.
+ * @param {App.Entity.SlaveState} slave
+ * @param {FC.Zeroable<FC.SlaveMarketName>} market
+ * @returns {FC.GingeredSlave}
+ * */
+globalThis.getGingeredSlave = function(slave, market) {
+	const gingering = new App.Entity.GingeringParameters(slave, market);
+
+	/** @type {Map<string, string|number>} */
+	const gingeredKeys = new Map();
+	/** Add a key to override on the gingered slave object
+	 * @param {string} key the key to ginger
+	 * @param {any} val the initial value to use
+	 * @param {number} [min] minimum value to add to initial
+	 * @param {number} [max] maximum value to add to initial
+	 */
+	const addGingerKey = (key, val, min, max) => {
+		if ((typeof val === "number") && !_.isNil(min) && !_.isNil(max)) {
+			val += jsRandom(min, max);
+		}
+		gingeredKeys.set(key, val);
+	};
+	switch (gingering.type) {
+		case "antidepressant":
+			addGingerKey("trust", slave.trust, 10, 40);
+			break;
+		case "depressant":
+			addGingerKey("devotion", slave.devotion, 10, 40);
+			break;
+		case "stimulant": {
+			const health = slave.health;
+			health.condition += jsRandom(20, 40);
+			health.health = computeAggregateHealth(slave, health.condition);
+			addGingerKey("health", health);
+			break;
+		}
+		case "vasoconstrictor":
+			addGingerKey("dick", slave.dick, -2, -1);
+			break;
+		case "vasodilator":
+			addGingerKey("dick", slave.dick, 1, 2);
+			break;
+		case "aphrodisiac":
+			addGingerKey("aphrodisiacs", 2);
+			addGingerKey("attrKnown", 1);
+			addGingerKey("attrXX", 0, 60, 90);
+			addGingerKey("attrXY", 0, 60, 90);
+			addGingerKey("energy", 0, 50, 90);
+			break;
+		case "ginger":
+			addGingerKey("fetish", "buttslut");
+			addGingerKey("fetishKnown", 1);
+			addGingerKey("fetishStrength", 65);
+			break;
+	}
+
+	return new Proxy(slave, _makeGingeredSlaveHandler(gingering, gingeredKeys));
+};
diff --git a/src/markets/marketUI.js b/src/markets/marketUI.js
index 3646424fa74ad966fcd6bb8b3f126608403ef9b6..f3c0b1a7e1a7a42948d96910a1fc4720588c15af 100644
--- a/src/markets/marketUI.js
+++ b/src/markets/marketUI.js
@@ -1,6 +1,6 @@
 /**
  *
- * @param {string} slaveMarket
+ * @param {FC.SlaveMarketName} slaveMarket
  * @param {object} [param1]
  * @param {string} [param1.sTitleSingular]
  * @param {string} [param1.sTitlePlural]
@@ -150,9 +150,9 @@ App.Markets.purchaseFramework = function(slaveMarket, {sTitleSingular = "slave",
 };
 /**
  * @typedef {object} marketGlobal
- * @property {string} slaveMarket
+ * @property {FC.SlaveMarketName} slaveMarket
  * @property {string} introType
- * @property {Array} newSlaves
+ * @property {Array<FC.GingeredSlave>} newSlaves
  * @property {number} newSlaveIndex
  * @property {number} newSlavesDone
  * @property {number} numSlaves
@@ -161,7 +161,8 @@ App.Markets.purchaseFramework = function(slaveMarket, {sTitleSingular = "slave",
 
 /** @this {marketGlobal} */
 App.Markets.GlobalVariable = function() {
-	this.slaveMarket = "";
+	/** @type {FC.SlaveMarketName} */
+	this.slaveMarket = "kidnappers";
 	this.introType = "";
 	this.newSlaves = [];
 	this.newSlaveIndex = 0;
diff --git a/src/markets/specificMarkets/criminalMarkets.js b/src/markets/specificMarkets/criminalMarkets.js
index a2b767db89c1d29a0578dab6933aea6854fd60cb..ce1ffb666812749c559e0147b16ec4472280d09b 100644
--- a/src/markets/specificMarkets/criminalMarkets.js
+++ b/src/markets/specificMarkets/criminalMarkets.js
@@ -58,7 +58,7 @@ App.Markets["military prison"] = function() {
 	const el = new DocumentFragment();
 	let r = [];
 	r.push(`You board the transport to a holding facility for prisoners of war located on the outskirts of the Free City, which is reasonable due to the dangers inherent to the criminals imprisoned in such an establishment. The driver radios ahead that you and several other interested parties will be arriving shortly. Once you disembark at the edge of the grounds, you are recognized by the stationed guard and ushered into a heavily armored vehicle.`);
-	if (V.PC.career === "mercenary") {
+	if (V.PC.career === "mercenary" || V.PC.career === "recruit") {
 		r.push(`The interior brings back memories and you completely`);
 	} else {
 		r.push(`Although the interior makes you feel like a prisoner, you`);
diff --git a/src/markets/specificMarkets/customSlaveMarket.js b/src/markets/specificMarkets/customSlaveMarket.js
index 16c09e908488c3e92ab4e2bfc453ea1bd37cc6c1..5838770da2fdae91ad4f50d3a54eb3143e8c507f 100644
--- a/src/markets/specificMarkets/customSlaveMarket.js
+++ b/src/markets/specificMarkets/customSlaveMarket.js
@@ -349,7 +349,7 @@ App.Markets["Custom Slave"] = function() {
 		const choices = new Map([
 			["left natural", "Left natural"]
 		]);
-		for (const skin of App.Data.misc.naturalSkins) {
+		for (const skin of App.Medicine.Modification.naturalSkins) {
 			choices.set(skin, capFirstChar(skin));
 		}
 
diff --git a/src/markets/specificMarkets/schoolFutanari.js b/src/markets/specificMarkets/schoolFutanari.js
index 9bd0ba9588e877a223cc835ce3ac3754b3bb24bd..e5643fba810534ea45974fb56ca8b2779edc4bc6 100644
--- a/src/markets/specificMarkets/schoolFutanari.js
+++ b/src/markets/specificMarkets/schoolFutanari.js
@@ -21,120 +21,122 @@ App.Markets.TFS = function() {
 				App.UI.DOM.appendNewElement("p", el, `It hasn't been long enough since you allowed them to use your organ farm to add ovaries to themselves for the effects to be obvious yet. Most of them are doubtless pregnant, however. There's been a subtle shift in their sexual behavior, too: they're much more likely to focus on vaginal sex than they were before, so much so that they often double penetrate each others' pussies. When there aren't any cunts available, they do their best to hold their orgasms until one opens up, so to speak.`);
 			}
 		}
-	}
-	App.UI.DOM.appendNewElement("p", el, `Visitors are not common: in fact, visitors are only as frequent as you feel like visiting. It takes a while before they notice you. When a dreamy-eyed young futa finally does, she reaches a lazy hand over to alert the eldest one present by tugging on one of her nipples and pointing in your direction. The elder looks over at you and gives you a friendly wave followed by a wait-one-moment gesture. She's curled up on her back with her cockhead in her own mouth, using both hands to give her own shaft a boob job while a younger futa is eats her ass and fingers her pussy. The futa matron orgasms promptly, sucking down her own cum. She gets up languidly, her plush body, softening forearm-sized dick, and enormous natural boobs making it a wonderful sight.`);
+		App.UI.DOM.appendNewElement("p", el, `Visitors are not common: in fact, visitors are only as frequent as you feel like visiting. It takes a while before they notice you. When a dreamy-eyed young futa finally does, she reaches a lazy hand over to alert the eldest one present by tugging on one of her nipples and pointing in your direction. The elder looks over at you and gives you a friendly wave followed by a wait-one-moment gesture. She's curled up on her back with her cockhead in her own mouth, using both hands to give her own shaft a boob job while a younger futa is eats her ass and fingers her pussy. The futa matron orgasms promptly, sucking down her own cum. She gets up languidly, her plush body, softening forearm-sized dick, and enormous natural boobs making it a wonderful sight.`);
 
-	if (V.PC.title === 1) {
-		r.push(`"Protector,`);
-	} else {
-		r.push(`"Protectrix,`);
-	}
-	r.push(`thank you so much for coming to see us. Our own Selection of a Sister to serve in slavery is not to take place for some time, but our communications interface in that side room," she points, "will permit you to access a regional listing of Selected Sisters ${(V.TFS.farmUpgrade > 0) ? `, all of which are fully fertile and produce their own natural female hormones, thanks to you` : ``}." She looks uncharacteristically uncertain. "Will you permit me to`);
-	if (V.PC.dick !== 0) {
-		if (V.PC.vagina !== -1) {
-			r.push(`worship your perfect genitalia`);
+		if (V.PC.title === 1) {
+			r.push(`"Protector,`);
 		} else {
-			r.push(`serve your cock`);
+			r.push(`"Protectrix,`);
 		}
-	} else {
-		r.push(`adore your pussy`);
-	}
-	r.push(`while you use it? I think my Sisters will forgive me the infidelity."`);
-	if (V.PC.dick !== 0 && V.PC.vagina !== -1 && V.PC.boobs >= 300) {
-		r.push(`She looks at you speculatively. "Or you could join us for a while."`);
-	}
-	const result = document.createElement("p");
-	result.id = "result";
-	App.UI.DOM.appendNewElement(
-		"div",
-		result,
-		App.UI.DOM.link(
-			"Let her give you oral while you browse",
-			() => {
-				r = [];
-				r.push(`You accept her offer, and she walks seductively over to the interface with the listing of available Sisters, getting down on her knees below it. When you step up to look through the listing, she presses her huge soft tits against your knees`);
-				if (V.PC.dick !== 0) {
-					if (V.PC.vagina !== -1) {
-						r.push(`and nuzzles her plush lips and hot tongue against your womanhood, using one hand to massage your shaft languidly. Perusing the very thorough pictures and videos of the pretty futanari for sale here is arousing enough without a truly masterful oral queen pleasing both your cock and your pussy, and you cum quickly. She drinks your cum rapturously and returns her mouth to your wet cunt, eagerly working to bring more forth.`);
-					} else {
-						r.push(`and snuggles her face between your thighs, nuzzling her nose into your ballsack before licking it with appetite and then sucking each of your balls gently, one by one. Meanwhile one of her clever hands is languidly massaging your shaft, bringing forth a drop of precum which she laps up with appetite. Humming with pleasure, she deepthroats you without apparent effort, her mischievous tongue flicking forward to lap at your scrotum. You blow your load down her throat, and she starts to suck you hard again.`);
-					}
-				} else {
-					r.push(`and trails nibbles and kisses along your inner thighs before nuzzling her plush lips and hot tongue against your womanhood. Perusing the very thorough pictures and videos of the pretty futanari for sale here is arousing enough without a truly masterful cunt pleaser working her magic between your legs, and you've orgasmed before you finish one listing. She prolongs the climax cleverly and then starts to build you towards another.`);
-				}
-
-				jQuery("#result").empty().append(r.join(" "));
+		r.push(`thank you so much for coming to see us. Our own Selection of a Sister to serve in slavery is not to take place for some time, but our communications interface in that side room," she points, "will permit you to access a regional listing of Selected Sisters ${(V.TFS.farmUpgrade > 0) ? `, all of which are fully fertile and produce their own natural female hormones, thanks to you` : ``}." She looks uncharacteristically uncertain. "Will you permit me to`);
+		if (V.PC.dick !== 0) {
+			if (V.PC.vagina !== -1) {
+				r.push(`worship your perfect genitalia`);
+			} else {
+				r.push(`serve your cock`);
 			}
-		)
-	);
+		} else {
+			r.push(`adore your pussy`);
+		}
+		r.push(`while you use it? I think my Sisters will forgive me the infidelity."`);
+		if (V.PC.dick !== 0 && V.PC.vagina !== -1 && V.PC.boobs >= 300) {
+			r.push(`She looks at you speculatively. "Or you could join us for a while."`);
+		}
+		App.UI.DOM.appendNewElement("p", el, r.join(" "));
 
-	if (V.PC.dick !== 0 && V.PC.vagina >= 0 && V.PC.boobs >= 300) {
-		App.UI.DOM.appendNewElement("div", result,
+		const result = App.UI.DOM.appendNewElement("p", el);
+		result.id = "result";
+		App.UI.DOM.appendNewElement(
+			"div",
+			result,
 			App.UI.DOM.link(
-				"Join the Sisters' orgy",
+				"Let her give you oral while you browse",
 				() => {
 					r = [];
-					V.futaAddiction += 1;
-					switch (V.futaAddiction) {
-						case 1:
-							r.push(`You agree to spend some time taking part in the Sisters' orgy. The futa matron looks doubtful. "You'd have to agree to act as one of us," she says. "No different. No special sexual treatment." Her voice rises cutely on the last syllable, as you take her enormous dick in one hand and begin to stroke it vigorously. "V-very well," she gasps, taking one of your breasts in each of her hands.`);
-							if (V.PC.vagina === 0) {
-								r.push(`You leave the Sisters' suite a few hours later, <span class="green">leaving your virginity behind.</span> You are tired and a bit sore, but satisfied.`);
-								V.PC.vagina = 1;
-							} else {
-								r.push(`You leave the Sisters' suite after a few hours of fucking and being fucked, feeling tired but satisfied.`);
-							}
-							if (canGetPregnant(V.PC)) {
-								r.push(knockMeUp(V.PC, 5, 0, -9, true));
-							}
-							break;
-						case 2:
-							r.push(`She doesn't have to explain the Sisters' sexual equality this time, or that you have to subject yourself to it. You remember, and you let her know you're willing by giving her a friendly hug that squashes your breasts against each other and rubs your stiff pricks together. She reaches around you to grab your ass, already pulling you towards the pile of futas. You leave the Sisters' suite after a few hours of fucking and being fucked, in a state of total sexual satiation.`);
-							if (canGetPregnant(V.PC)) {
-								r.push(knockMeUp(V.PC, 10, 0, -9, true));
-							}
-							break;
-						case 3:
-							r.push(`She asked that with a distinctly flirty tone, obviously hoping you'd agree again, and she isn't disappointed. You take her by the hand and skip over to the pile of futas, most of which know you very intimately by now. They see their Sister and you approaching, and those of them that don't have their mouths full greet you eagerly. Three of them quickly rearrange themselves to present you with a couple of dicks to sit on and a pussy to fuck, all at once. You leave the Sisters' suite after many hours of fucking and being fucked, tired but satisfied.`);
-							if (canGetPregnant(V.PC)) {
-								r.push(knockMeUp(V.PC, 20, 0, -9, true));
-							}
-							break;
-						case 4:
-							r.push(`She asked that in a knowing voice, confident you'd agree, and was already moving in to kiss you when you did. She seems to want you more than usual today, and pulls you down onto the edge of the pit, guiding your cock into her pussy. She isn't selfish, of course, and reaches around to spread your buttocks so you can get fucked while you fuck. You leave the Sisters' suite after many hours of this, very tired. You wonder when you can make time to visit the Sisters again.`);
-							if (canGetPregnant(V.PC)) {
-								r.push(knockMeUp(V.PC, 40, 0, -9, true));
-							}
-							break;
-						case 5:
-							r.push(`She runs her tongue over her lips as she asks, and sits you down on the edge of the pit and deepthroats you as soon as you agree. She wants your cum, and uses a couple of fingers to tickle your prostate and make it appear faster. You jerk with orgasm, and she pushes your wet cock up against your stomach so she can fuck your pussy. She pauses for a moment, letting a younger Sister enter her ass first. You leave the Sisters' suite after a full day of this, utterly exhausted but eager to return.`);
-							if (canGetPregnant(V.PC)) {
-								r.push(knockMeUp(V.PC, 60, 0, -9, true));
-							}
-							break;
-						case 6:
-							r.push(`You nod, and she turns back towards the orgy, not seeing any reason to lead you, since you know the way. You both sink back into the pile of cocks, pussies, mouths, asses, boobs; the hours go by without you noticing. You leave the Sisters' suite unable to remember specifics, but you clearly fucked and got fucked by every futa there at least once. You're surprised when you learn how long you were there, but the worries of being an arcology owner no longer seem as pressing as they once did.`);
-							if (canGetPregnant(V.PC)) {
-								r.push(knockMeUp(V.PC, 80, 0, -9, true));
-							}
-							break;
-						case 7:
-							r.push(`You don't even bother to respond, and head straight for the orgy. You insert yourself into an eager mouth, bending over so the matron following you can take you from behind. The worries of your life as an arcology owner seem very far away as she slides inside you. You only leave when ${V.assistant.name} repeatedly pages you over the arcology's public announcement system. On the way to your office, you notice how full of cum your stomach is, how relaxed your pussy and ass are, and how happy you feel.`);
-							if (canGetPregnant(V.PC)) {
-								r.push(knockMeUp(V.PC, 100, 0, -9, true));
-							}
-							break;
-						case 8:
-							V.gameover = "sisters";
-							SugarCube.Engine.play("Gameover");
-							break;
-						default:
-							V.futaAddiction = 0;
+					r.push(`You accept her offer, and she walks seductively over to the interface with the listing of available Sisters, getting down on her knees below it. When you step up to look through the listing, she presses her huge soft tits against your knees`);
+					if (V.PC.dick !== 0) {
+						if (V.PC.vagina !== -1) {
+							r.push(`and nuzzles her plush lips and hot tongue against your womanhood, using one hand to massage your shaft languidly. Perusing the very thorough pictures and videos of the pretty futanari for sale here is arousing enough without a truly masterful oral queen pleasing both your cock and your pussy, and you cum quickly. She drinks your cum rapturously and returns her mouth to your wet cunt, eagerly working to bring more forth.`);
+						} else {
+							r.push(`and snuggles her face between your thighs, nuzzling her nose into your ballsack before licking it with appetite and then sucking each of your balls gently, one by one. Meanwhile one of her clever hands is languidly massaging your shaft, bringing forth a drop of precum which she laps up with appetite. Humming with pleasure, she deepthroats you without apparent effort, her mischievous tongue flicking forward to lap at your scrotum. You blow your load down her throat, and she starts to suck you hard again.`);
+						}
+					} else {
+						r.push(`and trails nibbles and kisses along your inner thighs before nuzzling her plush lips and hot tongue against your womanhood. Perusing the very thorough pictures and videos of the pretty futanari for sale here is arousing enough without a truly masterful cunt pleaser working her magic between your legs, and you've orgasmed before you finish one listing. She prolongs the climax cleverly and then starts to build you towards another.`);
 					}
+
 					jQuery("#result").empty().append(r.join(" "));
 				}
 			)
 		);
+
+		if (V.PC.dick !== 0 && V.PC.vagina >= 0 && V.PC.boobs >= 300) {
+			App.UI.DOM.appendNewElement("div", result,
+				App.UI.DOM.link(
+					"Join the Sisters' orgy",
+					() => {
+						r = [];
+						V.futaAddiction += 1;
+						switch (V.futaAddiction) {
+							case 1:
+								r.push(`You agree to spend some time taking part in the Sisters' orgy. The futa matron looks doubtful. "You'd have to agree to act as one of us," she says. "No different. No special sexual treatment." Her voice rises cutely on the last syllable, as you take her enormous dick in one hand and begin to stroke it vigorously. "V-very well," she gasps, taking one of your breasts in each of her hands.`);
+								if (V.PC.vagina === 0) {
+									r.push(`You leave the Sisters' suite a few hours later, <span class="green">leaving your virginity behind.</span> You are tired and a bit sore, but satisfied.`);
+									V.PC.vagina = 1;
+								} else {
+									r.push(`You leave the Sisters' suite after a few hours of fucking and being fucked, feeling tired but satisfied.`);
+								}
+								if (canGetPregnant(V.PC)) {
+									r.push(knockMeUp(V.PC, 5, 0, -9, true));
+								}
+								break;
+							case 2:
+								r.push(`She doesn't have to explain the Sisters' sexual equality this time, or that you have to subject yourself to it. You remember, and you let her know you're willing by giving her a friendly hug that squashes your breasts against each other and rubs your stiff pricks together. She reaches around you to grab your ass, already pulling you towards the pile of futas. You leave the Sisters' suite after a few hours of fucking and being fucked, in a state of total sexual satiation.`);
+								if (canGetPregnant(V.PC)) {
+									r.push(knockMeUp(V.PC, 10, 0, -9, true));
+								}
+								break;
+							case 3:
+								r.push(`She asked that with a distinctly flirty tone, obviously hoping you'd agree again, and she isn't disappointed. You take her by the hand and skip over to the pile of futas, most of which know you very intimately by now. They see their Sister and you approaching, and those of them that don't have their mouths full greet you eagerly. Three of them quickly rearrange themselves to present you with a couple of dicks to sit on and a pussy to fuck, all at once. You leave the Sisters' suite after many hours of fucking and being fucked, tired but satisfied.`);
+								if (canGetPregnant(V.PC)) {
+									r.push(knockMeUp(V.PC, 20, 0, -9, true));
+								}
+								break;
+							case 4:
+								r.push(`She asked that in a knowing voice, confident you'd agree, and was already moving in to kiss you when you did. She seems to want you more than usual today, and pulls you down onto the edge of the pit, guiding your cock into her pussy. She isn't selfish, of course, and reaches around to spread your buttocks so you can get fucked while you fuck. You leave the Sisters' suite after many hours of this, very tired. You wonder when you can make time to visit the Sisters again.`);
+								if (canGetPregnant(V.PC)) {
+									r.push(knockMeUp(V.PC, 40, 0, -9, true));
+								}
+								break;
+							case 5:
+								r.push(`She runs her tongue over her lips as she asks, and sits you down on the edge of the pit and deepthroats you as soon as you agree. She wants your cum, and uses a couple of fingers to tickle your prostate and make it appear faster. You jerk with orgasm, and she pushes your wet cock up against your stomach so she can fuck your pussy. She pauses for a moment, letting a younger Sister enter her ass first. You leave the Sisters' suite after a full day of this, utterly exhausted but eager to return.`);
+								if (canGetPregnant(V.PC)) {
+									r.push(knockMeUp(V.PC, 60, 0, -9, true));
+								}
+								break;
+							case 6:
+								r.push(`You nod, and she turns back towards the orgy, not seeing any reason to lead you, since you know the way. You both sink back into the pile of cocks, pussies, mouths, asses, boobs; the hours go by without you noticing. You leave the Sisters' suite unable to remember specifics, but you clearly fucked and got fucked by every futa there at least once. You're surprised when you learn how long you were there, but the worries of being an arcology owner no longer seem as pressing as they once did.`);
+								if (canGetPregnant(V.PC)) {
+									r.push(knockMeUp(V.PC, 80, 0, -9, true));
+								}
+								break;
+							case 7:
+								r.push(`You don't even bother to respond, and head straight for the orgy. You insert yourself into an eager mouth, bending over so the matron following you can take you from behind. The worries of your life as an arcology owner seem very far away as she slides inside you. You only leave when ${V.assistant.name} repeatedly pages you over the arcology's public announcement system. On the way to your office, you notice how full of cum your stomach is, how relaxed your pussy and ass are, and how happy you feel.`);
+								if (canGetPregnant(V.PC)) {
+									r.push(knockMeUp(V.PC, 100, 0, -9, true));
+								}
+								break;
+							case 8:
+								V.gameover = "sisters";
+								SugarCube.Engine.play("Gameover");
+								break;
+							default:
+								V.futaAddiction = 0;
+						}
+						jQuery("#result").empty().append(r.join(" "));
+					}
+				)
+			);
+		}
 	} else {
 		App.UI.DOM.appendNewElement("p", el, `The Futanari Sisters use the same legalistic structures as other slave schools, but are actually very different. They're quite enigmatic, and inquiry into their cult-like methods is politely discouraged. All the Sisters own the institution together, and seem to share the goal of pursuing transformation of themselves to fit the classic futanari fetish — that is, to transform themselves into beautiful, curvaceous women with large dicks. All Sisters remain within the closed society for at least seven years. The Sisters fund themselves by selling members into slavery: interestingly, the more impressive a member is, the older she seems to be when sold; there may be a sort of selection mechanism by which the losers are sold immediately and the winners remain, leading the Sisters. This does not mean that ex-Sisters are unhappy with enslavement. On the contrary, it seems to be an expected stage of their lives, and not shameful.`, "scene-intro");
 		if (V.TFS.schoolUpgrade !== 0) {
diff --git a/src/neighbor/neighborInteract.tw b/src/neighbor/neighborInteract.tw
index afc509e035ff96a959cc361391be06fc51f966ad..2008e2ec45eadb37d4a99dfad4312660347fa329 100644
--- a/src/neighbor/neighborInteract.tw
+++ b/src/neighbor/neighborInteract.tw
@@ -9,11 +9,11 @@
 <<set $nextLink = "Main", $nextButton = "Back">>
 You have <<print $arcologies.length-1>> neighbors. <br><br>
 
-<<if $arcologies[0].embargoTarget == -1>>
+<<set _nei = $arcologies.find(function(s) { return s.direction == $arcologies[0].embargoTarget; })>>
+<<if !_nei>>
 	You are not engaged in economic warfare against a neighboring arcology.
 <<else>>
-	<<set _nei = $arcologies.findIndex(function(s) { return s.direction == $arcologies[0].embargoTarget; })>>
-	You have targeted '' $arcologies[_nei].name'' for economic warfare.
+	You have targeted ''_nei.name'' for economic warfare.
 	<br>&nbsp;&nbsp;&nbsp;&nbsp;Its planned impacts will be
 	<<if $arcologies[0].embargo == 3>>
 		''widespread.'' [[Moderate|Neighbor Interact][$arcologies[0].embargo -= 1]]
@@ -26,21 +26,21 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 <</if>>
 
 <br>
-<<if $arcologies[0].influenceTarget == -1>>
+<<set _nei = $arcologies.find(function(s) { return s.direction == $arcologies[0].influenceTarget; })>>
+<<if !_nei>>
 	You are not using your arcology's culture to attempt to influence neighboring arcologies' development.
 <<else>>
-	<<set _nei = $arcologies.findIndex(function(s) { return s.direction == $arcologies[0].influenceTarget; })>>
-	You have targeted '' $arcologies[_nei].name'' for cultural influence.
+	You have targeted ''_nei.name'' for cultural influence.
 	[[Stop|Neighbor Interact][$arcologies[0].influenceTarget = -1]]
 <</if>>
 
 <<if $PC.skill.hacking > 0>>
 	<br>
-	<<if $arcologies[0].CyberEconomicTarget == -1>>
+	<<set _nei = $arcologies.find(function(s) { return s.direction == $arcologies[0].CyberEconomicTarget; })>>
+	<<if !_nei>>
 		You are not engaged in cyber warfare against a neighboring arcology.
 	<<else>>
-		<<set _nei = $arcologies.findIndex(function(s) { return s.direction == $arcologies[0].CyberEconomicTarget; })>>
-		You have targeted ''$arcologies[_nei].name'' for cyber economic warfare.
+		You have targeted ''_nei.name'' for cyber economic warfare.
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;Its planned impacts will be
 		<<if $arcologies[0].CyberEconomic == 3>>
 			''widespread.'' [[Moderate|Neighbor Interact][$arcologies[0].CyberEconomic -= 1]]
@@ -53,11 +53,11 @@ You have <<print $arcologies.length-1>> neighbors. <br><br>
 	<</if>>
 
 	<br>
-	<<if $arcologies[0].CyberReputationTarget == -1>>
+	<<set _nei = $arcologies.find(function(s) { return s.direction == $arcologies[0].CyberReputationTarget; })>>
+	<<if !_nei>>
 		You are not engaged in character assassination against a neighboring arcology.
 	<<else>>
-		<<set _nei = $arcologies.findIndex(function(s) { return s.direction == $arcologies[0].CyberReputationTarget; })>>
-		You have targeted the leadership of ''$arcologies[_nei].name'' for character assassination.
+		You have targeted the leadership of ''_nei.name'' for character assassination.
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;Its planned impacts will be
 		<<if $arcologies[0].CyberReputation == 3>>
 			''widespread.'' [[Moderate|Neighbor Interact][$arcologies[0].CyberReputation -= 1]]
diff --git a/src/npc/children/longChildDescription.js b/src/npc/children/longChildDescription.js
index 34ab09241fff64907a507ce82087f09f236a514c..9d25f7664b8a8b422787297c243d6dde3217ae18 100644
--- a/src/npc/children/longChildDescription.js
+++ b/src/npc/children/longChildDescription.js
@@ -426,10 +426,6 @@ App.Facilities.Nursery.LongChildDescription = function(child, {market = 0, event
 			r += `${His} asshole has seen hard use lately and looks a little sore. `;
 		}
 
-		if (market && V.gingering === "ginger") {
-			r += `${His} asshole looks unusually puffy and sore. ${He}'s either been cruelly assraped lately, or ${he}'s had an irritant placed in ${his} anus. `;
-		}
-
 		r += accessories.buttplug(child);
 
 		if (V.showBodyMods) {
@@ -1303,13 +1299,6 @@ App.Facilities.Nursery.LongChildDescription = function(child, {market = 0, event
 				} else if (child.prostate > 1) {
 					r += `${He}'s got a string of precum dangling from the tip of ${his} cock; ${his} artificially hyperactive prostate keeps ${him} that way. `;
 				}
-			} else if (market && V.gingering === "vasodilator") {
-				r += `${He}'s painfully erect. `;
-				if (child.prostate > 2) {
-					r += `The area above ${his} crotch has a slight swell to it from ${his} prostate implant. A constant dribble of precum drips from the tip of ${his} cock; ${his} artificially hyperactive prostate keeps ${him} that way. `;
-				} else if (child.prostate > 1) {
-					r += `${He}'s got a string of precum dangling from the tip of ${his} cock; ${his} artificially hyperactive prostate keeps ${him} that way. `;
-				}
 			} else if (child.aphrodisiacs > 1 || (child.inflationType === "aphrodisiac" && child.inflation > 1)) {
 				r += `The aphrodisiacs have ${his} cock painfully hard${child.drugs === "hormone blockers" || !(child.balls > 0 ? child.hormoneBalance < 100 : child.hormoneBalance <= -100) || child.ballType === "sterile" ? `, despite ${his} usual inability to achieve erection` : ``}. `;
 				if (child.prostate > 2) {
@@ -1609,7 +1598,7 @@ App.Facilities.Nursery.LongChildDescription = function(child, {market = 0, event
 			if (child.foreskin > 0) {
 				if (child.foreskin - child.dick < -1) {
 					r += `${His} cockhead is much too large for ${his} foreskin, probably as a result of recent penis growth it hasn't had time to stretch to accommodate yet. `;
-					if (canAchieveErection(child) && (child.devotion > 20 || child.aphrodisiacs > 0 || market && V.gingering === "vasodilator" || child.inflationType === "aphrodisiac" || child.drugs === "priapism agents")) {
+					if (canAchieveErection(child) && (child.devotion > 20 || child.aphrodisiacs > 0 || child.inflationType === "aphrodisiac" || child.drugs === "priapism agents")) {
 						r += `The bit of erect dickhead visible at the tip of the uncomfortably stretched skin is an angry color from being squeezed so hard. `;
 					} else if (canAchieveErection(child)) {
 						r += `${He} isn't erect right now, but getting a hard-on will probably be very uncomfortable for ${him}. `;
@@ -1618,7 +1607,7 @@ App.Facilities.Nursery.LongChildDescription = function(child, {market = 0, event
 					}
 				} else if (child.foreskin - child.dick < 0) {
 					r += `${His} foreskin is stretched by ${his} dickhead, probably as a result of recent penis growth it hasn't had time to get used to yet. `;
-					if (canAchieveErection(child) && (child.devotion > 20 || child.aphrodisiacs > 0 || market && V.gingering === "vasodilator" || child.inflationType === "aphrodisiac" || child.drugs === "priapism agents")) {
+					if (canAchieveErection(child) && (child.devotion > 20 || child.aphrodisiacs > 0 || child.inflationType === "aphrodisiac" || child.drugs === "priapism agents")) {
 						r += `${His} erection has stretched the skin there taut. `;
 					} else if (canAchieveErection(child)) {
 						r += `${He} isn't erect right now, but getting a hard-on will probably be a bit uncomfortable for ${him}. `;
@@ -1627,7 +1616,7 @@ App.Facilities.Nursery.LongChildDescription = function(child, {market = 0, event
 					}
 				} else if (child.foreskin - child.dick > 0) {
 					r += `${His} foreskin seems too large for ${his} dick, probably as a result of recent penis shrinkage. `;
-					if (canAchieveErection(child) && (child.devotion > 20 || child.aphrodisiacs > 0 || market && V.gingering === "vasodilator" || child.inflationType === "aphrodisiac" || child.drugs === "priapism agents")) {
+					if (canAchieveErection(child) && (child.devotion > 20 || child.aphrodisiacs > 0 || child.inflationType === "aphrodisiac" || child.drugs === "priapism agents")) {
 						r += `${His} erection cannot fully retract it, though it's loose enough that this doesn't look uncomfortable. `;
 					} else if (canAchieveErection(child)) {
 						r += `${He} isn't erect right now, making the tip of ${his} dick look shriveled. `;
@@ -1636,7 +1625,7 @@ App.Facilities.Nursery.LongChildDescription = function(child, {market = 0, event
 					}
 				} else if (child.foreskin - child.dick > 1) {
 					r += `${His} foreskin is far too large for ${his} dick, probably as a result of recent penis shrinkage. `;
-					if (canAchieveErection(child) && (child.devotion > 20 || child.aphrodisiacs > 0 || market && V.gingering === "vasodilator" || child.inflationType === "aphrodisiac" || child.drugs === "priapism agents")) {
+					if (canAchieveErection(child) && (child.devotion > 20 || child.aphrodisiacs > 0 || child.inflationType === "aphrodisiac" || child.drugs === "priapism agents")) {
 						r += `${His} erection cannot retract it at all, though it's loose enough that this doesn't look uncomfortable. Orgasming, though, will likely produce a dribbling mess. `;
 					} else if (canAchieveErection(child)) {
 						r += `${He} isn't erect right now, so the excess skin droops lamely off ${his} cockhead. `;
@@ -5429,7 +5418,7 @@ App.Facilities.Nursery.LongChildDescription = function(child, {market = 0, event
 						}
 					}
 				} else {
-					if (child.aphrodisiacs > 0 || (market && V.gingering === "vasodilator") || child.inflationType === "aphrodisiac") {
+					if (child.aphrodisiacs > 0 || child.inflationType === "aphrodisiac") {
 						r += `The combination of the aphrodisiacs and ${his} natural tendency to produce a lot of female lubricant is having a drastic effect. ${His} cunt is absolutely beribboned with femcum, and ${he} smells strongly of wet, clean pussy. `;
 					} else if (child.energy > 95) {
 						r += `${He} has a naturally wet cunt, and in combination with ${his} nymphomania, it's soaking. ${He} smells of good clean female arousal. `;
@@ -6127,7 +6116,7 @@ App.Facilities.Nursery.LongChildDescription = function(child, {market = 0, event
 
 	if (!market) {
 		if (V.clinic && V.clinicUpgradeScanner) {
-			r += `${capFirstChar(V.clinicName)}'s scanners `
+			r += `${capFirstChar(V.clinicName)}'s scanners `;
 			if (child.chem > 15) {
 				r += `score long term carcinogenic buildup in ${his} body at <span class="cyan">${Math.ceil(child.chem/10)}.</span> `;
 			} else {
diff --git a/src/npc/descriptions/boobs/boobs.js b/src/npc/descriptions/boobs/boobs.js
index 366846f2b8af1cc0673d587f37b5a45969b23a65..2d8c25c3ccc5c1e4ffa81fe28354243773fd8e56 100644
--- a/src/npc/descriptions/boobs/boobs.js
+++ b/src/npc/descriptions/boobs/boobs.js
@@ -218,8 +218,8 @@ App.Desc.boobs = function() {
 	/**
 	 * @param {App.Entity.SlaveState} slave
 	 * @param {object} params
- 	 * @param {FC.Zeroable<FC.SlaveMarketName>} [params.market]
- 	 * @param {boolean} [params.eventDescription]
+	 * @param {FC.Zeroable<FC.SlaveMarketName>} [params.market]
+	 * @param {boolean} [params.eventDescription]
 	 * @returns {string}
 	 */
 	function describe(slave, {market, eventDescription} = {}) {
diff --git a/src/npc/descriptions/butt/anus.js b/src/npc/descriptions/butt/anus.js
index 1a5cbe7675f171da341cc2ad5e5dd3d1b2e207e7..ce85e1538c6f563c2f52ef1a2d01f019ec1fb36c 100644
--- a/src/npc/descriptions/butt/anus.js
+++ b/src/npc/descriptions/butt/anus.js
@@ -1,5 +1,5 @@
 /**
- * @param {App.Entity.SlaveState} slave
+ * @param {FC.GingeredSlave} slave
  * @param {object} params
  * @param {FC.Zeroable<FC.SlaveMarketName>} [params.market]
  * @param {boolean} [params.eventDescription]
@@ -99,7 +99,7 @@ App.Desc.anus = function(slave, {market, eventDescription} = {}) {
 		r.push(`${His} asshole has seen hard use lately and looks a little sore.`);
 	}
 
-	if (market && V.gingering === "ginger") {
+	if (slave.gingering && slave.gingering.type === "ginger") {
 		r.push(`${His} asshole looks unusually puffy and sore. ${He}'s either been cruelly assraped lately, or ${he}'s had an irritant placed in ${his} anus.`);
 	}
 
diff --git a/src/npc/descriptions/crotch/dick.js b/src/npc/descriptions/crotch/dick.js
index 1ecbe0a4ab7258c9a515acb0c434dc0c9d1a4768..8ef311b561870953f7f35d750cb280daaa47ae65 100644
--- a/src/npc/descriptions/crotch/dick.js
+++ b/src/npc/descriptions/crotch/dick.js
@@ -1,5 +1,5 @@
 /**
- * @param {App.Entity.SlaveState} slave
+ * @param {FC.GingeredSlave} slave
  * @param {object} params
  * @param {FC.Zeroable<FC.SlaveMarketName>} [params.market]
  * @param {boolean} [params.eventDescription]
@@ -699,7 +699,7 @@ App.Desc.dick = function(slave, {market, eventDescription} = {}) {
 				} else if (slave.prostate > 1) {
 					r.push(`${He}'s got a string of precum dangling from the tip of ${his} cock; ${his} artificially hyperactive prostate keeps ${him} that way.`);
 				}
-			} else if ((market && V.gingering === "vasodilator")) {
+			} else if (slave.gingering && slave.gingering.type === "vasodilator") {
 				r.push(`${He}'s painfully erect.`);
 				if (slave.prostate > 2) {
 					r.push(`The area above ${his} crotch has a slight swell to it from ${his} prostate implant. A constant dribble of precum drips from the tip of ${his} cock; ${his} artificially hyperactive prostate keeps ${him} that way.`);
@@ -1178,7 +1178,7 @@ App.Desc.dick = function(slave, {market, eventDescription} = {}) {
 			if (slave.foreskin > 0) {
 				if (slave.foreskin - slave.dick < -1) {
 					r.push(`${His} cockhead is much too large for ${his} foreskin, probably as a result of recent penis growth it hasn't had time to stretch to accommodate yet.`);
-					if (canAchieveErection(slave) && ((slave.devotion > 20) || (slave.aphrodisiacs > 0) || (market && V.gingering === "vasodilator") || (slave.inflationType === "aphrodisiac") || (slave.drugs === "priapism agents"))) {
+					if (canAchieveErection(slave) && ((slave.devotion > 20) || (slave.aphrodisiacs > 0) || (slave.gingering && slave.gingering.type === "vasodilator") || (slave.inflationType === "aphrodisiac") || (slave.drugs === "priapism agents"))) {
 						r.push(`The bit of erect dickhead visible at the tip of the uncomfortably stretched skin is an angry color from being squeezed so hard.`);
 					} else if (canAchieveErection(slave)) {
 						r.push(`${He} isn't erect right now, but getting a hard-on will probably be very uncomfortable for ${him}.`);
@@ -1187,7 +1187,7 @@ App.Desc.dick = function(slave, {market, eventDescription} = {}) {
 					}
 				} else if (slave.foreskin - slave.dick === -1) {
 					r.push(`${His} foreskin is stretched by ${his} dickhead, probably as a result of recent penis growth it hasn't had time to get used to yet.`);
-					if (canAchieveErection(slave) && ((slave.devotion > 20) || (slave.aphrodisiacs > 0) || (market && V.gingering === "vasodilator") || (slave.inflationType === "aphrodisiac") || (slave.drugs === "priapism agents"))) {
+					if (canAchieveErection(slave) && ((slave.devotion > 20) || (slave.aphrodisiacs > 0) || (slave.gingering && slave.gingering.type === "vasodilator") || (slave.inflationType === "aphrodisiac") || (slave.drugs === "priapism agents"))) {
 						r.push(`${His} erection has stretched the skin there taut.`);
 					} else if (canAchieveErection(slave)) {
 						r.push(`${He} isn't erect right now, but getting a hard-on will probably be a bit uncomfortable for ${him}.`);
@@ -1196,7 +1196,7 @@ App.Desc.dick = function(slave, {market, eventDescription} = {}) {
 					}
 				} else if (slave.foreskin - slave.dick === 1) {
 					r.push(`${His} foreskin seems too large for ${his} dick, probably as a result of recent penis shrinkage.`);
-					if (canAchieveErection(slave) && ((slave.devotion > 20) || (slave.aphrodisiacs > 0) || (market && V.gingering === "vasodilator") || (slave.inflationType === "aphrodisiac") || (slave.drugs === "priapism agents"))) {
+					if (canAchieveErection(slave) && ((slave.devotion > 20) || (slave.aphrodisiacs > 0) || (slave.gingering && slave.gingering.type === "vasodilator") || (slave.inflationType === "aphrodisiac") || (slave.drugs === "priapism agents"))) {
 						r.push(`${His} erection cannot fully retract it, though it's loose enough that this doesn't look uncomfortable.`);
 					} else if (canAchieveErection(slave)) {
 						r.push(`${He} isn't erect right now, making the tip of ${his} dick look shriveled.`);
@@ -1205,7 +1205,7 @@ App.Desc.dick = function(slave, {market, eventDescription} = {}) {
 					}
 				} else if (slave.foreskin - slave.dick > 1) {
 					r.push(`${His} foreskin is far too large for ${his} dick, probably as a result of recent penis shrinkage.`);
-					if (canAchieveErection(slave) && ((slave.devotion > 20) || (slave.aphrodisiacs > 0) || (market && V.gingering === "vasodilator") || (slave.inflationType === "aphrodisiac") || (slave.drugs === "priapism agents"))) {
+					if (canAchieveErection(slave) && ((slave.devotion > 20) || (slave.aphrodisiacs > 0) || (slave.gingering && slave.gingering.type === "vasodilator") || (slave.inflationType === "aphrodisiac") || (slave.drugs === "priapism agents"))) {
 						r.push(`${His} erection cannot retract it at all, though it's loose enough that this doesn't look uncomfortable. Orgasming, though, will likely produce a dribbling mess.`);
 					} else if (canAchieveErection(slave)) {
 						r.push(`${He} isn't erect right now, so the excess skin droops lamely off ${his} cockhead.`);
diff --git a/src/npc/descriptions/crotch/vagina.js b/src/npc/descriptions/crotch/vagina.js
index bd8d936cf2fbe2236cedf48bab39251c8cfe4e37..45c1c6ba13156cdaba99775c41e788f00210b149 100644
--- a/src/npc/descriptions/crotch/vagina.js
+++ b/src/npc/descriptions/crotch/vagina.js
@@ -1,11 +1,8 @@
 /**
- * @param {App.Entity.SlaveState} slave
- * @param {object} params
- * @param {FC.Zeroable<FC.SlaveMarketName>} [params.market]
- * @param {boolean} [params.eventDescription]
+ * @param {FC.GingeredSlave} slave
  * @returns {string}
  */
-App.Desc.vagina = function(slave, {market, eventDescription} = {}) {
+App.Desc.vagina = function(slave) {
 	const r = [];
 	const {
 		he, him, his, He, His
@@ -189,7 +186,7 @@ App.Desc.vagina = function(slave, {market, eventDescription} = {}) {
 			} else {
 				if (slave.assignment === "work in the dairy" && V.dairyPregSetting > 1) {
 					r.push(`The dildo's ejaculate includes a drug that encourages vaginal lubrication, which is having a drastic effect on ${him}, since ${he}'s already very gifted in that regard. The dildo makes a wet noise every time it thrusts into ${him}, and femcum streams into a catch basin beneath ${him}. The smell of pussy is overwhelming.`);
-				} else if ((slave.aphrodisiacs > 0) || (market && V.gingering === "vasodilator") || (slave.inflationType === "aphrodisiac")) {
+				} else if ((slave.aphrodisiacs > 0) || (slave.gingering && slave.gingering.type === "vasodilator") || (slave.inflationType === "aphrodisiac")) {
 					r.push(`The combination of the aphrodisiacs and ${his} natural tendency to produce a lot of female lubricant is having a drastic effect. ${His} cunt is absolutely beribboned with femcum, and ${he} smells strongly of wet, clean pussy.`);
 				} else if (slave.energy > 95) {
 					r.push(`${He} has a naturally wet cunt, and in combination with ${his} nymphomania, it's soaking. ${He} smells of good clean female arousal.`);
diff --git a/src/npc/descriptions/descriptionWidgets.js b/src/npc/descriptions/descriptionWidgets.js
index ee287553a7c6622338eaec17783d83d11a55ad3a..fc40a143f5189de6e64078d7de6291a5de458fb3 100644
--- a/src/npc/descriptions/descriptionWidgets.js
+++ b/src/npc/descriptions/descriptionWidgets.js
@@ -1502,7 +1502,7 @@ App.Desc.geneticQuirkAssessment = function(slave) {
 		if (slave.geneticQuirks.uterineHypersensitivity === 2) {
 			r.push(`${He} possesses a rare genetic trait that causes uterine hypersensitivity;`);
 			if (slave.ovaries === 1 || slave.mpreg === 1) {
-				r.push(`pregnancy and birth will extremely pleasurable to ${him}.`);
+				r.push(`pregnancy and birth will be extremely pleasurable for ${him}.`);
 			} else {
 				r.push(`it has little effect on those unable to bear children.`);
 			}
diff --git a/src/npc/descriptions/longSlave.js b/src/npc/descriptions/longSlave.js
index 50c046a11c552739c8798cd128ea0b7a78e3f4b2..01f26a70524432d448f80ac1d22fc49058837f37 100644
--- a/src/npc/descriptions/longSlave.js
+++ b/src/npc/descriptions/longSlave.js
@@ -1,9 +1,9 @@
 /**
- * @param {App.Entity.SlaveState} slave
+ * @param {FC.GingeredSlave} slave
  * @param {FC.Desc.LongSlaveOptions} params
  * @returns {DocumentFragment}
  */
-App.Desc.longSlave = function(slave = V.activeSlave, {market = 0, eventDescription = false, prisonCrime, noArt} = {}) {
+App.Desc.longSlave = function(slave, {market = 0, eventDescription = false, prisonCrime, noArt} = {}) {
 	const {
 		He, His, him, he, his
 	} = getPronouns(slave);
@@ -49,7 +49,7 @@ App.Desc.longSlave = function(slave = V.activeSlave, {market = 0, eventDescripti
 	if (market && V.ui !== "start") {
 		if (applyLaw === 1) {
 			p.append(`has passed inspection to be sold in your arcology. `);
-			$(p).append(App.Desc.lawCompliance(slave, market)); // includes CheckForGingering
+			$(p).append(App.Desc.lawCompliance(slave, market));
 			p.append(` `);
 		} else {
 			p.append(`is for sale and is available to inspect. `);
@@ -58,6 +58,7 @@ App.Desc.longSlave = function(slave = V.activeSlave, {market = 0, eventDescripti
 				p.append(`${He} ${prisonCrime} `);
 			}
 		}
+		$(p).append(reportGingering(slave));
 		el.appendChild(p);
 
 		p = document.createElement("p");
@@ -672,7 +673,7 @@ App.Desc.longSlave = function(slave = V.activeSlave, {market = 0, eventDescripti
 	}));
 	r.push(App.Desc.mods(slave, "nipple"));
 	r.push(App.Desc.areola(slave, {
-		market: market, eventDescription: eventDescription, applyLaw: applyLaw
+		market: market, eventDescription: eventDescription
 	}));
 	r.push(App.Desc.mods(slave, "areolae"));
 
@@ -708,9 +709,7 @@ App.Desc.longSlave = function(slave = V.activeSlave, {market = 0, eventDescripti
 	r.push(App.Desc.dick(slave, {
 		market: market, eventDescription: eventDescription
 	}));
-	r.push(App.Desc.vagina(slave, {
-		market: market, eventDescription: eventDescription
-	}));
+	r.push(App.Desc.vagina(slave));
 	r.push(App.Desc.anus(slave, {
 		market: market, eventDescription: eventDescription
 	}));
@@ -728,4 +727,67 @@ App.Desc.longSlave = function(slave = V.activeSlave, {market = 0, eventDescripti
 	// clear sale and law flags, if set
 
 	return el;
+
+	/** Reports detected gingering status for a slave
+	 * @param {FC.GingeredSlave} slave
+	 */
+	function reportGingering(slave) {
+		let t = "";
+		if (slave.gingering) {
+			if (slave.gingering.detection === "slaver") {
+				switch (slave.gingering.type) {
+					case "antidepressant":
+						t += `${He} is acting dazed and unfocused. ${He}'s obviously been given antidepressants to make ${him} appear less fearful, and will be considerably less trusting than ${he} seems.`;
+						break;
+					case "depressant":
+						t += `${He} is acting languid and drugged. ${He}'s obviously been given a depressant to make ${him} appear less hateful, and will be considerably less accepting of slavery than ${he} seems.`;
+						break;
+					case "stimulant":
+						t += `${He} is acting twitchy and hyperactive. ${He}'s obviously been given a stimulant to make ${him} seem healthier and more energetic, and is a lot less healthy than ${he} looks.`;
+						break;
+					case "vasoconstrictor":
+						t += `${His} lips have the slightest blue tinge, making it obvious ${he}'s been given a vasoconstrictor. ${His} cock is a lot less of a girldick than it looks right now.`;
+						break;
+					case "vasodilator":
+						t += `${He} has an impressive erection, but it seems quite unconnected to the rest of ${him}, as if ${he} doesn't know what to do with it. ${He}'s obviously been given a vasodilator to make ${his} dick seem a little less pathetic.`;
+						break;
+					case "aphrodisiac":
+						t += `${His} pupils are slightly dilated, ${his} breath comes in fast pants, and ${his} skin is flushed. ${He}'s obviously been given as big of a dose of aphrodisiacs as ${he} can handle without a heart attack.`;
+						break;
+					default:
+						t += `${He} is acting oddly, presenting ${his} ass in an awkward way and acting uncomfortable. ${He}'s obviously had an irritant shoved up ${his} butt to make ${him} act like an anal whore.`;
+				}
+				t += ` It's a trick you're very familiar with, given your <span class="springgreen">training as a slaver.</span>`;
+			} else if (slave.gingering.detected) {
+				switch (slave.gingering.type) {
+					case "antidepressant":
+						t += `${He} is acting dazed and unfocused, like ${he}'s been given antidepressants to make ${him} appear less fearful. ${He} may be considerably less trusting than ${he} seems. `;
+						break;
+					case "depressant":
+						t += `${He} is acting languid and drugged, like ${he}'s been given a depressant to make ${him} appear less hateful. ${He} may be considerably less accepting of slavery than ${he} seems. `;
+						break;
+					case "stimulant":
+						t += `${He} is acting twitchy and hyperactive, like ${he}'s been given a stimulant to make ${him} seem healthier and more energetic. ${He} may be considerably less vital than ${he} seems. `;
+						break;
+					case "vasoconstrictor":
+						t += `${His} lips have the slightest blue tinge, suggesting that ${he} may have been given a vasoconstrictor. If ${he} has, ${his} cock may be considerably less feminine and demure than it now seems. `;
+						break;
+					case "vasodilator":
+						t += `${He} has an impressive erection, but it seems quite unconnected to the rest of ${him}, as if ${he} doesn't know what to do with it. ${He} may have been given a vasodilator. If ${he} has, ${his} cock may be considerably less impressive than it now seems. `;
+						break;
+					case "aphrodisiac":
+						t += `${His} pupils are slightly dilated, ${his} breath comes in fast pants, and ${his} skin is flushed. These are the characteristic symptoms of a dose of aphrodisiacs limited only by a desire to avoid giving ${him} a heart attack. `;
+						break;
+					default:
+						t += `${He} is acting oddly, presenting ${his} ass in an awkward way and acting uncomfortable. ${He} may be considerably less interested in anal sex than ${he} seems. `;
+				}
+				if (slave.gingering.detection === "mercenary") {
+					t += `The nervous seller confirms this in response to a direct inquiry. Your intimidating reputation from your <span class="springgreen">extensive combat training</span> has its uses.`;
+				} else if (slave.gingering.detection === "force") {
+					t += `The nervous seller confirms this in response to a direct inquiry. Your reputation as a <span class="springgreen"> ${PCTitle() ? "man" : "woman"} of blood</span> has its uses.`;
+				}
+			}
+		}
+		return t;
+	}
 };
diff --git a/src/npc/descriptions/style/upperFace.js b/src/npc/descriptions/style/upperFace.js
index 9e4963b48101ac9d582bf0232829e867614bb9e4..8299c385532e06cf3d06eaa8b1e4fb8e8fec261c 100644
--- a/src/npc/descriptions/style/upperFace.js
+++ b/src/npc/descriptions/style/upperFace.js
@@ -49,14 +49,6 @@ App.Desc.upperFace = function(slave) {
 				r.push(`A pair of bunny ears sprout from a headband atop ${his} head.`);
 				break;
 		}
-		if (hasAnyCyberneticEyes(slave)) {
-			r.push(`${He} has artificial`);
-			if (hasBothCyberneticEyes(slave)) {
-				r.push(`eyes.`);
-			} else {
-				r.push(`an eye.`);
-			}
-		}
 		if (slave.eyewear === "corrective glasses" || slave.eyewear === "blurring glasses" || slave.eyewear === "glasses") {
 			r.push(`${He}'s wearing a pair of`);
 			switch (slave.clothes) {
diff --git a/src/npc/generate/generateMarketSlave.js b/src/npc/generate/generateMarketSlave.js
index f27e294a7720258564a0a6b42da02bd2a7e9edad..8ad6a40d508d6651237758f6a4671641ff91c84f 100644
--- a/src/npc/generate/generateMarketSlave.js
+++ b/src/npc/generate/generateMarketSlave.js
@@ -1,8 +1,8 @@
 /* eslint-disable camelcase */
 /**
- * @param {string} [market="kidnappers"]
+ * @param {FC.SlaveMarketName} [market="kidnappers"]
  * @param {number} [numArcology=1] Defaults to 1 (V.arcologies[1]) since it refers to neighboring arcology, and V.arcologies[0] is the player's arcology.
- * @returns {{text: string, slave: object}}
+ * @returns {{text: string, slave: FC.GingeredSlave}}
  */
 globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1) {
 	let r = ``;
@@ -3198,5 +3198,5 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1
 			break;
 		}
 	}
-	return {text: r, slave: slave};
+	return {text: r, slave: getGingeredSlave(slave, market)};
 };
diff --git a/src/npc/generate/lawCompliance.js b/src/npc/generate/lawCompliance.js
index 8dd108b574270746be41aaa6a7d9a88e6cb2238f..459c1e4c8b02ceefdd8eff3612aa3e04a08ea285 100644
--- a/src/npc/generate/lawCompliance.js
+++ b/src/npc/generate/lawCompliance.js
@@ -147,8 +147,6 @@ App.Desc.lawCompliance = function(slave, market = 0) {
 		r.push(eugenicsSMRsCount());
 	}
 
-	r.push(checkForGingering(slave, market)); /* may store a backup of slave and make temporary changes; call removeGingering() to retrieve backup before making changes to slave */
-
 	return r.join(" ");
 
 	function FSSlimnessEnthusiastSMR() {
diff --git a/src/npc/generate/newChildIntro.js b/src/npc/generate/newChildIntro.js
index b9b76aa3dd198d5f1b141b49075c72679d86bf9d..d70a96b48cdf2832b07e00062c5749167b673651 100644
--- a/src/npc/generate/newChildIntro.js
+++ b/src/npc/generate/newChildIntro.js
@@ -700,7 +700,7 @@ App.UI.newChildIntro = function(slave) {
 		r.push(`${He} seems to <span class="mediumaquamarine">think your clothes are cute</span> and <span class="hotpink">wants a set of ${his} own.</span>`);
 		slave.devotion += 1;
 		slave.trust += 1;
-	} else if (V.PC.career === "gang") {
+	} else if (V.PC.career === "gang") { // or gang tats
 		r.push(`${He} seems to <span class="gold">find your appearance frightening.</span>`);
 		slave.trust -= 5;
 	}
diff --git a/src/npc/generate/newSlaveIntro.js b/src/npc/generate/newSlaveIntro.js
index 235abc56aecde66acc2f3891b26b7719709073c3..7661cd7dd0bb242e1c65be5321b3069cc8c1879b 100644
--- a/src/npc/generate/newSlaveIntro.js
+++ b/src/npc/generate/newSlaveIntro.js
@@ -1,5 +1,5 @@
 /**
- * @param {App.Entity.SlaveState} slave
+ * @param {FC.GingeredSlave} slave
  * @param {App.Entity.SlaveState} [slave2] recruiter slave, if present in the scene
  * @param {Object} [obj]
  * @param {boolean} [obj.tankBorn]
@@ -13,7 +13,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 	const {
 		His, He, his, him, he, girl, hers, himself, daughter
 	} = getPronouns(slave);
-	const {woman: womanP} = getPronouns(V.PC);
+	const {woman: womanP, girl: girlP} = getPronouns(V.PC);
 	const hands = (hasBothArms(slave)) ? "hands" : "hand";
 
 	const el = new DocumentFragment();
@@ -22,8 +22,9 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 	let span;
 	let brandTarget = V.brandTarget.primary;
 	let scarTarget = V.scarTarget.primary;
+	let PC = V.PC;
 
-	newSlave(slave); // Add the slave to V.slaves
+	newSlave(slave);
 
 	modSetup();
 
@@ -31,6 +32,10 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 		el.append(inspect());
 	}
 
+	if (slave.beforeGingering) {
+		slave = slave.beforeGingering; // cancel gingering proxy, if it's still attached
+	}
+
 	el.append(choices());
 
 	App.Utils.updateUserButton();  // Make sure the user button is up to date, since V.nextButton may have changed since it was created.
@@ -171,81 +176,77 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 			r.push(`looking shyly at you and blushing.`);
 		}
 
-		if (V.gingering !== 0 && V.beforeGingering !== 0 && V.beforeGingering.ID === slave.ID) {
-			// extra checks to ensure gingering state is not left over from a different slave that was inspected but not purchased
+		if (slave.gingering) {
 			let seed = "sale";
-			if (V.gingeringDetected === 1) {
-				if (V.gingeringDetection === "slaver") {
+			if (slave.gingering.detected) {
+				if (slave.gingering.detection === "slaver") {
 					seed = "sale, as your slaving experience revealed";
-				} else if (V.gingeringDetection === "mercenary") {
+				} else if (slave.gingering.detection === "mercenary") {
 					seed = "sale, as the seller admitted in the face of your intimidating reputation";
-				} else if (V.gingeringDetection === "force") {
+				} else if (slave.gingering.detection === "force") {
 					seed = "sale, as the seller admitted in the face of your deadly reputation";
 				} else {
 					seed = "sale, as you suspected";
 				}
 			}
 
-			if (V.gingering === "antidepressant") {
+			if (slave.gingering.type === "antidepressant") {
 				r.push(`${His} intake toxicology reveals that ${he} was`);
-				if (V.gingeringDetected === 1) {
+				if (slave.gingering.detected) {
 					r.push(`indeed`);
 				}
 				r.push(`given antidepressants to make ${him} seem less fearful for ${seed}. ${He} is much less trusting than ${he} appeared in the market.`);
-			} else if (V.gingering === "depressant") {
+			} else if (slave.gingering.type === "depressant") {
 				r.push(`${His} intake toxicology reveals that ${he} was`);
-				if (V.gingeringDetected === 1) {
+				if (slave.gingering.detected) {
 					r.push(`indeed`);
 				}
 				r.push(`given a depressant to make ${him} seem less hateful for ${seed}. ${He} is much less obedient than ${he} appeared in the market.`);
-			} else if (V.gingering === "stimulant") {
+			} else if (slave.gingering.type === "stimulant") {
 				r.push(`${His} intake toxicology reveals that ${he} was`);
-				if (V.gingeringDetected === 1) {
+				if (slave.gingering.detected) {
 					r.push(`indeed`);
 				}
 				r.push(`given a stimulant to make ${him} seem healthier for ${seed}. ${He} is much less vital than ${he} appeared in the market.`);
-			} else if (V.gingering === "vasoconstrictor") {
+			} else if (slave.gingering.type === "vasoconstrictor") {
 				r.push(`${His} intake toxicology reveals that ${he} was`);
-				if (V.gingeringDetected === 1) {
+				if (slave.gingering.detected) {
 					r.push(`indeed`);
 				}
 				r.push(`given a vasoconstrictor to make ${his} cock seem more feminine for ${seed}. It's larger and more apt to become hard than it appeared in the market.`);
-			} else if (V.gingering === "vasodilator") {
+			} else if (slave.gingering.type === "vasodilator") {
 				r.push(`${His} intake toxicology reveals that ${he} was`);
-				if (V.gingeringDetected === 1) {
+				if (slave.gingering.detected) {
 					r.push(`indeed`);
 				}
 				r.push(`given a vasodilator to give ${him} an excessive erection for ${seed}. ${His} dick is somewhat smaller than it appeared in the market, and ${he}'s not really hard all the time.`);
-			} else if (V.gingering === "aphrodisiac") {
+			} else if (slave.gingering.type === "aphrodisiac") {
 				r.push(`${His} intake toxicology reveals that ${he} was`);
-				if (V.gingeringDetected === 1) {
+				if (slave.gingering.detected) {
 					r.push(`indeed`);
 				}
 				r.push(`given aphrodisiacs to make ${him} horny and attracted to everyone for ${seed}. ${His} true sex drive and sexuality remain to be discovered.`);
 			} else {
 				r.push(`A close inspection of ${his} anus reveals that ${he} was`);
-				if (V.gingeringDetected === 1) {
+				if (slave.gingering.detected) {
 					r.push(`indeed`);
 				}
 				r.push(`doctored with an irritant to make ${him} present ${his} butt when shown for ${seed}. ${He} is not an actual anal sex enthusiast.`);
 			}
+			slave = slave.beforeGingering; // cancel gingering proxy from here on.
 		}
 
-		removeGingering();
-		// retrieve original slave without gingering effects
-
-
 		if (V.seeRace === 1) {
 			if (slave.override_Race !== 1) {
 				slave.origRace = slave.race;
 			}
 			if (slave.race !== slave.origRace) {
-				r.push(`A blood test reveals that ${he} was originally ${slave.origRace}, not ${slave.race} ${(V.PC.skill.medicine >= 50 || V.PC.skill.slaving >= 50) ? `, just as you suspected` : ``}.`);
+				r.push(`A blood test reveals that ${he} was originally ${slave.origRace}, not ${slave.race} ${(PC.skill.medicine >= 50 || PC.skill.slaving >= 50) ? `, just as you suspected` : ``}.`);
 			}
 		}
 		if (slave.skin !== slave.origSkin) {
 			if (slave.skin !== "sun tanned" && slave.skin !== "spray tanned") {
-				r.push(`An epidermis scan reveals that ${his} skin was originally ${slave.origSkin}, not ${slave.skin}${(V.PC.skill.medicine >= 75 || V.PC.skill.slaving >= 75) ? `, just as you suspected` : ``}.`);
+				r.push(`An epidermis scan reveals that ${his} skin was originally ${slave.origSkin}, not ${slave.skin}${(PC.skill.medicine >= 75 || PC.skill.slaving >= 75) ? `, just as you suspected` : ``}.`);
 			}
 		}
 
@@ -266,12 +267,12 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 		}
 
 		if (slave.vagina > -1 && slave.dick === 0) {
-			if (V.PC.dick === 0 && V.PC.boobs >= 300) {
+			if (PC.dick === 0 && PC.boobs >= 300) {
 				r.push(`${He} looks to you and sees a fellow woman, and is <span class="mediumaquamarine">a little less afraid</span> that you will rape and abuse ${him}.`);
 				slave.trust += 4;
 			}
 		} else if (slave.career === "a Futanari Sister") {
-			if (V.PC.dick !== 0 && V.PC.boobs >= 300 && V.PC.vagina !== -1) {
+			if (PC.dick !== 0 && PC.boobs >= 300 && PC.vagina !== -1) {
 				if (V.TFS.schoolPresent === 1) {
 					r.push(`${He}'s heard of you, of course, as both a futanari yourself and a generous patron of the Sisters. ${He} feels <span class="mediumaquamarine">very lucky</span> that ${he}'s going to be your slave, not to mention <span class="hotpink">almost desperate</span> to have sex with you.`);
 					slave.devotion += 10;
@@ -288,28 +289,28 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 				}
 			}
 		} else if ((slave.boobs > 400) && (slave.dick > 0)) {
-			if (V.PC.dick !== 0 && (V.PC.boobs >= 400) || (V.PC.vagina !== -1)) {
+			if (PC.dick !== 0 && (PC.boobs >= 400) || (PC.vagina !== -1)) {
 				r.push(`${He} looks to you and sees a fellow intersex person, and is <span class="mediumaquamarine">rather hopeful</span> that ${he} will find you a sympathetic owner.`);
 				slave.trust += 4;
 			}
 		}
 
 		if ((slave.attrXX > 50) || (slave.energy > 95) && slave.behavioralFlaw !== "hates women" && slave.trust >= -20) {
-			if (V.PC.boobs >= 400) {
+			if (PC.boobs >= 400) {
 				r.push(`${He} seems to think you're pretty, and is more willing to <span class="hotpink">try for your approval</span> than ${he} would otherwise be. ${He} glances at your rack when ${he} thinks you're not looking.`);
 				slave.devotion += 4;
 			}
 		}
 
 		if (slave.behavioralFlaw === "hates women" && slave.devotion <= 50) {
-			if (V.PC.dick === 0 && V.PC.boobs >= 300) {
+			if (PC.dick === 0 && PC.boobs >= 300) {
 				r.push(`${He} obviously does not find you immediately attractive, and is <span class="mediumorchid">less eager to conciliate you</span> than ${he} would otherwise be.`);
 				slave.devotion -= 5;
 			}
 		}
 
 		if ((slave.attrXY > 50 || slave.energy > 95) && slave.behavioralFlaw !== "hates men" && slave.trust >= -20) {
-			if (V.PC.dick === 0 && V.PC.boobs < 300) {
+			if (PC.dick === 0 && PC.boobs < 300) {
 				r.push(`${He} seems to think you're handsome, and is more willing to <span class="hotpink">try for your approval</span> than ${he} would otherwise be. ${He} glances at your crotch when ${he} thinks you're not looking.`);
 				slave.devotion += 4;
 			}
@@ -317,17 +318,17 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 
 		if (slave.devotion >= -20) {
 			if (slave.actualAge > 35) {
-				if (V.PC.visualAge < 35) {
-					if ((slave.behavioralFlaw !== "hates men" && V.PC.title === 1) || (slave.behavioralFlaw !== "hates women" && V.PC.title === 0)) {
+				if (PC.visualAge < 35) {
+					if ((slave.behavioralFlaw !== "hates men" && PC.title === 1) || (slave.behavioralFlaw !== "hates women" && PC.title === 0)) {
 						r.push(`${He} tries to conceal ${his} surprise at your age, and keeps glancing at ${his} own naked body and then back at you, obviously wondering at such a <span class="hotpink">gorgeous young ${womanP}'s</span> interest in an old slave like ${him}.`);
 						slave.devotion += 4;
 					}
 				}
-			} else if ((slave.actualAge < 25)) {
-				if (V.PC.visualAge >= 50) {
-					if ((slave.behavioralFlaw !== "hates men" && V.PC.title === 1) || (slave.behavioralFlaw !== "hates women" && V.PC.title === 0)) {
+			} else if (slave.actualAge < 25) {
+				if (PC.visualAge >= 50) {
+					if ((slave.behavioralFlaw !== "hates men" && PC.title === 1) || (slave.behavioralFlaw !== "hates women" && PC.title === 0)) {
 						r.push(`${He} keeps stealing glances at your face, probably wrestling with ${his} feelings about your age. Eventually ${he} seems to relax and accept it, with a certain <span class="hotpink">obvious thrill</span> at ${his} own willingness towards an older`);
-						if (V.PC.title === 1) {
+						if (PC.title === 1) {
 							r.push(`man.`);
 						} else {
 							r.push(`lady.`);
@@ -338,19 +339,19 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 			}
 		}
 
-		if (V.PC.pregKnown === 1) {
-			if (V.PC.career === "escort") {
-				if (V.PC.belly >= 1000) {
+		if (PC.pregKnown === 1) {
+			if (PC.career === "escort") { // switch to .belly
+				if (PC.belly >= 1000) {
 					if (slave.fetish === "pregnancy") {
 						if (slave.fetishKnown === 0) {
 							r.push(`${He} keeps stealing glances at your`);
-							if (V.PC.belly >= 120000) {
+							if (PC.belly >= 120000) {
 								r.push(`massive`);
-							} else if (V.PC.belly >= 60000) {
+							} else if (PC.belly >= 60000) {
 								r.push(`giant`);
-							} else if (V.PC.belly >= 15000) {
+							} else if (PC.belly >= 15000) {
 								r.push(`huge`);
-							} else if (V.PC.belly >= 5000) {
+							} else if (PC.belly >= 5000) {
 								r.push(`big`);
 							}
 							r.push(`baby bump.`);
@@ -361,13 +362,13 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 							slave.fetishKnown = 1;
 						} else {
 							r.push(`${He} keeps stealing glances at your`);
-							if (V.PC.belly >= 120000) {
+							if (PC.belly >= 120000) {
 								r.push(`massive`);
-							} else if (V.PC.belly >= 60000) {
+							} else if (PC.belly >= 60000) {
 								r.push(`giant`);
-							} else if (V.PC.belly >= 15000) {
+							} else if (PC.belly >= 15000) {
 								r.push(`huge`);
-							} else if (V.PC.belly >= 5000) {
+							} else if (PC.belly >= 5000) {
 								r.push(`big`);
 							}
 							r.push(`baby bump.`);
@@ -384,17 +385,17 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 					}
 				}
 			} else {
-				if (V.PC.belly >= 1500) {
+				if (PC.belly >= 1500) {
 					if (slave.fetish === "pregnancy") {
 						if (slave.fetishKnown === 0) {
 							r.push(`${He} keeps stealing glances at your`);
-							if (V.PC.belly >= 120000) {
+							if (PC.belly >= 120000) {
 								r.push(`massive`);
-							} else if (V.PC.belly >= 60000) {
+							} else if (PC.belly >= 60000) {
 								r.push(`giant`);
-							} else if (V.PC.belly >= 15000) {
+							} else if (PC.belly >= 15000) {
 								r.push(`huge`);
-							} else if (V.PC.belly >= 5000) {
+							} else if (PC.belly >= 5000) {
 								r.push(`big`);
 							}
 							r.push(`baby bump.`);
@@ -405,13 +406,13 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 							slave.fetishKnown = 1;
 						} else {
 							r.push(`${He} keeps stealing glances at your`);
-							if (V.PC.belly >= 120000) {
+							if (PC.belly >= 120000) {
 								r.push(`massive`);
-							} else if (V.PC.belly >= 60000) {
+							} else if (PC.belly >= 60000) {
 								r.push(`giant`);
-							} else if (V.PC.belly >= 15000) {
+							} else if (PC.belly >= 15000) {
 								r.push(`huge`);
-							} else if (V.PC.belly >= 5000) {
+							} else if (PC.belly >= 5000) {
 								r.push(`big`);
 							}
 							r.push(`baby bump.`);
@@ -430,7 +431,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 			}
 		}
 
-		if (V.PC.boobs >= 1400) {
+		if (PC.boobs >= 1400) {
 			if (slave.fetish === "boobs") {
 				if (slave.fetishKnown === 0) {
 					r.push(`${He} keeps stealing glances at your huge rack${canAchieveErection(slave) ? `, ${his} dick rapidly hardening` : ``}. You stretch ${(canSee(slave)) ? `, giving ${him} a fantastic view of your breasts,` : ``} before circling around behind ${him} and cupping ${his} chest. Between your tits against ${his} back, and how teasingly big you are pretending ${his} breasts will be, ${he} can't contain ${himself}; ${he} cums from overstimulation, completely pinning ${him} <span class="green">as a breast fetishist!</span>`);
@@ -466,31 +467,38 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 			}
 		}
 
-		if (V.PC.career === "escort") {
-			r.push(`${He} recognizes you as a whore, leading ${him} to <span class="mediumaquamarine">fear you less;</span> however, ${his} views of you also leave ${him} less willing to <span class="mediumorchid">listen to you.</span>`);
+		if (PC.career === "escort" || PC.career === "prostitute" || (PC.career === "child prostitute" && PC.visualAge >= V.minimumSlaveAge)) {
+			r.push(`${He} recognizes you as a whore, leading ${him} to <span class="defiant inc">fear you less;</span> however, ${his} views of you also leave ${him} less willing to <span class="mediumorchid">listen to you.</span>`);
 			slave.devotion -= 10;
 			slave.trust += 10;
-		} else if ((V.PC.career === "servant")) {
+		} else if (PC.career === "child prostitute") { // actually underage
+			r.push(`${He} is <span class="devotion dec">disgusted to recognize such a young ${girlP} as a whore;</span> however, ${he} <span class="defiant inc">sees little reason to fear you.</span>`);
+			slave.devotion -= 20;
+			slave.trust += 20;
+		} else if (PC.career === "servant" || PC.career === "handmaiden" || PC.career === "child servant") { // rework off clothes
 			if (canSee(slave)) {
 				r.push(`Seeing`);
 			} else {
 				r.push(`Having`);
 			}
 			r.push(`you in your`);
-			if (V.PC.title === 0) {
+			if (PC.title === 0) {
 				r.push(`maid's dress`);
 			} else {
 				r.push(`maid's outfit`);
 			}
-			r.push(`<span class="mediumaquamarine">calms ${his} fears;</span> however, ${he} is unwilling to <span class="mediumorchid">listen to a servant.</span>`);
+			r.push(`<span class="defiant inc">calms ${his} fears;</span> however, ${he} is unwilling to <span class="devotion dec">listen to a servant.</span>`);
 			slave.devotion -= 3;
 			slave.trust += 10;
-		} else if ((V.PC.career === "gang")) {
-			r.push(`${He} recognizes you from various crime reports, <span class="gold">filling ${him} with fear</span> over what life under you will be like.`);
+		} else if (PC.career === "gang") {
+			r.push(`${He} recognizes you from various crime reports, <span class="fear inc">filling ${him} with fear</span> over what life under you will be like.`);
+			slave.trust -= 10;
+		} else if ((PC.career === "hoodlum" || PC.career === "street urchin") && canSee(slave)) { // switch to tat?
+			r.push(`${He} scoffs at first at being owned by such a colorful character, <span class="fear inc">but ${he} soon pales</span> once ${he} sees the gang signs adorning your neck.`);
 			slave.trust -= 10;
 		}
 
-		if (V.PC.rumor === "force") {
+		if (PC.rumor === "force") {
 			if (slave.devotion <= 20) {
 				if (slave.trust > 0) {
 					r.push(`${He} seems to have picked up rumors about your ruthlessness, and is <span class="gold">horrified into obedience.</span>`);
@@ -503,7 +511,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 					slave.trust -= 15;
 				}
 			}
-		} else if (V.PC.rumor === "diligence") {
+		} else if (PC.rumor === "diligence") {
 			r.push(`${He} seems to have picked up rumors about your probity, and is <span class="mediumaquamarine">less afraid of you</span> and more <span class="hotpink">willing to like you.</span>`);
 			slave.devotion += 5;
 			slave.trust += 5;
@@ -662,7 +670,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 				} else if ((slave.sexualQuirk === "perverted")) {
 					r.push(`${He} has heard that you like little ${girl}s and <span class="mediumaquamarine">hopes</span> that matching your taste means ${he} will be treated well.`);
 					slave.trust += 2;
-				} else if ((slave.sexualQuirk === "size queen") && V.PC.dick !== 0) {
+				} else if ((slave.sexualQuirk === "size queen") && PC.dick !== 0) {
 					r.push(`${He} has heard that you like little ${girl}s and <span class="hotpink">bites ${his} lip</span> at the thought of how big your dick will be inside ${him}.`);
 					slave.devotion += 2;
 				} else if ((slave.sexualFlaw === "repressed") || (slave.sexualFlaw === "shamefast") || (slave.behavioralFlaw === "devout")) {
@@ -922,9 +930,9 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 						result: function(slave) {
 							const r = [];
 							r.push(`You place a curative injector on your desk, and describe its remarkable medical powers in detail, before mentioning its extreme cost. ${His} face rises at the first part and falls at the second. You tell ${him} that if ${he}'s a perfect sex slave, ${he}'ll get as much as ${he} needs, and that ${he} can start by sucking you off. ${He} grunts a little as ${he} hurries to get ${his} pregnant body down to ${his} knees, but`);
-							if (V.PC.dick > 0) {
+							if (PC.dick > 0) {
 								r.push(`works your cock`);
-							} else if (V.PC.vagina > 0) {
+							} else if (PC.vagina > 0) {
 								r.push(`explores your vagina`);
 							} else {
 								r.push(`licks you to orgasm`);
@@ -944,9 +952,9 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 						result: function(slave) {
 							const r = [];
 							r.push(`You loudly place an innocuous-looking drug injector on your desk, and ${him} think about it for a long moment. Then, you declare exactly what made that sound: abortifacients. After a moment of comprehension, ${his} mood instantly improves. ${He} pledges to <span class="hotpink">submit to you,</span>`);
-							if (V.PC.dick !== 0 && V.PC.vagina !== -1) {
+							if (PC.dick !== 0 && PC.vagina !== -1) {
 								r.push(`suck your cock, take it in ${his} pussy, take it up ${his} ass, eat you out,`);
-							} else if (V.PC.dick !== 0) {
+							} else if (PC.dick !== 0) {
 								r.push(`suck your cock, take it in ${his} pussy, take it up ${his} ass,`);
 							} else {
 								r.push(`eat you out, worship you with ${his} pussy, serve you with ${his} ass,`);
@@ -1053,7 +1061,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 						result: function(slave) {
 							const r = [];
 							r.push(`You rise from your desk and move in close. ${He} turns to face you but you roughly spin ${him} around. You haul ${him} up on tiptoe so you can use ${him} standing. As you get your`);
-							if (V.PC.dick !== 0) {
+							if (PC.dick !== 0) {
 								r.push(`cock`);
 							} else {
 								r.push(`strap-on`);
@@ -1071,13 +1079,13 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 						result: function(slave) {
 							const r = [];
 							r.push(`You rise from your desk and move in close, wordlessly dominating ${him} without touch, tempting and overawing ${him} until ${he}'s desperate with desire, ${his} prick stiff as iron. ${He} follows you willingly into the autosurgery and even allows you to strap ${him} in, face-down, without comment. ${His} fuckhole welcomes your`);
-							if (V.PC.dick !== 0) {
+							if (PC.dick !== 0) {
 								r.push(`cock`);
 							} else {
 								r.push(`strap-on`);
 							}
 							r.push(`and ${he} gasps with pleasure. ${He} climaxes with indecent speed, dripping ${his} cum onto the surgery floor. You keep fucking ${him}, but lean forward to whisper to ${him} that that was ${his} last hard-on. ${He}'s completely confused and says nothing, but gradually realizes what the numb feeling around ${his} ballsack means. ${He} <span class="gold">screams with horror</span> and <span class="mediumorchid">sobs disconsolately</span> as the autosurgery disengages from ${his} clipped genitals and you disengage from ${his}`);
-							if (V.PC.dick !== 0) {
+							if (PC.dick !== 0) {
 								r.push(`cum-filled`);
 							} else {
 								r.push(`wilting`);
@@ -1136,7 +1144,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 						result: function(slave) {
 							const r = [];
 							r.push(`You tell ${him} that slaves working in your penthouse are all expected to please you, and ${he} nods eagerly. ${He} strips, only starting to look doubtful again when you brusquely order ${him} to hurry up. You order ${him} to get down on the ground with ${his} face up, ${his} shoulders against the floor; ${he} does, and then you order ${him} to put ${his} legs over ${his} head. ${He} looks puzzled but does, flipping ${himself} flexibly up until ${he}'s doing a shoulder stand, bent double with ${his} crotch over ${his} face. You stand over ${him} and shove`);
-							if (V.PC.dick !== 0) {
+							if (PC.dick !== 0) {
 								r.push(`your cock`);
 							} else {
 								r.push(`a strap-on`);
@@ -1235,9 +1243,9 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 						result: function(slave) {
 							const r = [];
 							r.push(`You stand up, your`);
-							if (V.PC.dick !== 0) {
+							if (PC.dick !== 0) {
 								r.push(`erection`);
-								if (V.PC.vagina !== -1) {
+								if (PC.vagina !== -1) {
 									r.push(`and the pussy beneath it`);
 								}
 							} else {
@@ -1266,7 +1274,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 						result: function(slave) {
 							const r = [];
 							r.push(`You make no direct answer to ${his} nervous question about ${his} virgin butt, though you do wonder how ${he} was so selfish as to be a Free Cities party ${girl} without giving up ${his} asshole nightly. Instead, you ask ${him} about ${himself}, ensuring that ${he} learns the proper way to answer questions from ${his} ${getWrittenTitle(slave)}. ${He} answers readily, even when you turn the subject to ${his} sexual experiences, and ${he} starts to get visibly aroused. Before long, ${he} finds ${himself} sitting on your lap on the couch, making out with you while ${he} gives you a handjob. ${He} stiffens a little when you begin to play with ${his} butthole, but you take your time. Soon ${he}'s taking a finger, and then two, and before long, ${he}'s riding`);
-							if (V.PC.dick !== 0) {
+							if (PC.dick !== 0) {
 								r.push(`your cock.`);
 							} else {
 								r.push(`a strap-on.`);
@@ -1286,14 +1294,14 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 						linkName: `Make sure ${he} enjoys ${his} first anal sex`,
 						result: function(slave) {
 							const r = [];
-							r.push(`You introduce ${him} to obedience and proper manners regarding ${his} ${getWrittenTitle(slave)} before sending ${him} off for a physical. That night, ${he}'s returned to your room, and finds you doing business on a tablet in bed. ${He} looks doubtful, but obeys when you direct ${him} to get into bed${(V.PC.dick === 0) ? `, even after ${he} realizes you're wearing a strap-on` : ``}. You turn out the light and spoon ${him} from behind, kissing ${his} neck and ears, cupping ${his} swollen breasts, and running your hands across ${his} pregnant belly with its taut ${slave.skin} skin. ${He}'s awkward at first but ${his} body responds to the tenderness. Before long ${he}'s humping ${his} pussy back and forth against`);
-							if (V.PC.dick !== 0) {
+							r.push(`You introduce ${him} to obedience and proper manners regarding ${his} ${getWrittenTitle(slave)} before sending ${him} off for a physical. That night, ${he}'s returned to your room, and finds you doing business on a tablet in bed. ${He} looks doubtful, but obeys when you direct ${him} to get into bed${(PC.dick === 0) ? `, even after ${he} realizes you're wearing a strap-on` : ``}. You turn out the light and spoon ${him} from behind, kissing ${his} neck and ears, cupping ${his} swollen breasts, and running your hands across ${his} pregnant belly with its taut ${slave.skin} skin. ${He}'s awkward at first but ${his} body responds to the tenderness. Before long ${he}'s humping ${his} pussy back and forth against`);
+							if (PC.dick !== 0) {
 								r.push(`your cock.`);
 							} else {
 								r.push(`the strap-on.`);
 							}
 							r.push(`You tell ${him} no, not there, and begin to gently work`);
-							if (V.PC.dick !== 0) {
+							if (PC.dick !== 0) {
 								r.push(`your dickhead`);
 							} else {
 								r.push(`its tip`);
@@ -1737,8 +1745,8 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 								linkName: `Show ${him} how a professional does it`,
 								result: function(slave) {
 									const r = [];
-									r.push(`Judging from ${his} earlier, amateur attempt, it's clear ${slave.slaveName} is unfamiliar with the subtle nuances of a high-quality rape. You decide to clear your schedule for the rest of the day and teach ${him} yourself${V.PC.dick === 0 ? `, with the help of your trusty strap-on, of course` : ``}. Once ${he}'s bent over across your desk and properly restrained, ${his} lesson begins with you thrusting your`);
-									if (V.PC.dick === 0) {
+									r.push(`Judging from ${his} earlier, amateur attempt, it's clear ${slave.slaveName} is unfamiliar with the subtle nuances of a high-quality rape. You decide to clear your schedule for the rest of the day and teach ${him} yourself${PC.dick === 0 ? `, with the help of your trusty strap-on, of course` : ``}. Once ${he}'s bent over across your desk and properly restrained, ${his} lesson begins with you thrusting your`);
+									if (PC.dick === 0) {
 										r.push(`fake`);
 									}
 									r.push(`cock down ${his} throat as far as it will go. Over the course of the next several hours, you ensure that ${he} understands the fine points of nonconsensual oral${slave.vagina > -1 ? `, vaginal,` : ``} and anal intercourse as intimately as possible. When you're finally too tired to continue,you unshackle ${his} <span class="health dec">bruised and bloody body</span> and ask ${him} what ${he} learned. ${His} voice hoarse from the same brutal fucking that has gaped ${his} <span class="lime">asshole</span> ${(slave.vagina > -1) ? `and <span class="lime">pussy</span>` : ``}, ${he} hesitantly replies that ${he} has <span class="hotpink">learned a great deal about true dominance,</span> before fainting on the spot from a mixture of total exhaustion and pure terror. You've taught your student well.`);
@@ -1749,7 +1757,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 										slave.vagina = 2;
 										actX(slave, "vaginal", 15);
 									}
-									if (isFertile(slave) && V.PC.dick > 0) {
+									if (isFertile(slave) && PC.dick > 0) {
 										knockMeUp(slave, 100, 0, -1, true);
 									}
 									slave.devotion += 100;
@@ -1768,7 +1776,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 										r.push(`finger`);
 									}
 									r.push(`${him} until ${his} arousal overwhelms ${his} wariness of you. Once ${he}'s finally relaxed, you climb on top of ${him}, and gently ease`);
-									if (V.PC.vagina > 0 && canPenetrate(slave)) {
+									if (PC.vagina > 0 && canPenetrate(slave)) {
 										r.push(`your pussy onto ${his} cock. ${He} shudders and moan softly as you slide yourself up and down ${his} shaft with steadily increasing speed. You keep your eyes locked on ${hers} all the while, as ${his} expression shifts from bewilderment to acceptance to ecstasy, as ${he} soon shoots ${his} seed up into you. Afterwards, you slip ${his} softening cock out of you, climb off of ${him}, and leave the exhausted and overwhelmed slave${girl} on your desk as you attend to business elsewhere. You think ${he}'s <span class="orangered">going to like it here.</span>`);
 										actX(slave, "penetrative");
 										if (canImpreg(V.PC, slave)) {
@@ -1782,13 +1790,13 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 											r.push(`asshole.`);
 										}
 										r.push(`${He} shudders and moans softly as you piston your`);
-										if (V.PC.dick > 0) {
+										if (PC.dick > 0) {
 											r.push(`dick`);
 										} else {
 											r.push(`strap-on`);
 										}
 										r.push(`in and out of ${his} hole with steadily increasing intensity. You keep your eyes locked on ${hers} all the while, as ${his} expression shifts from bewilderment to acceptance to ecstasy, as you soon shoot your seed down into ${him}. Afterwards, you slip your`);
-										if (V.PC.dick > 0) {
+										if (PC.dick > 0) {
 											r.push(`softening`);
 										} else {
 											r.push(`plastic`);
@@ -1797,7 +1805,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 										if (slave.vagina > -1) {
 											r.push(VCheck.Vaginal(slave, 1));
 											actX(slave, "vaginal");
-											if (isFertile(slave) && V.PC.dick > 0) {
+											if (isFertile(slave) && PC.dick > 0) {
 												knockMeUp(slave, 100, 0, -1, true);
 											}
 										} else {
@@ -2135,8 +2143,8 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 							r.push(`an instant`);
 						}
 						r.push(`of horrified comprehension, ${he} flings ${himself} at your feet, crying, begging, promising. ${He} pledges to <span class="hotpink">submit to you,</span>`);
-						if (V.PC.dick !== 0) {
-							if (V.PC.vagina !== -1) {
+						if (PC.dick !== 0) {
+							if (PC.vagina !== -1) {
 								r.push(`eat you out,`);
 							}
 							r.push(`suck your cock, take it in ${his} pussy, take it up ${his} ass,`);
@@ -2531,7 +2539,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 							r.push(`force the resistant ${desc} to lie atop your desk`);
 						}
 						r.push(`and gently`);
-						if (V.PC.dick !== 0) {
+						if (PC.dick !== 0) {
 							r.push(`slide your hard cock`);
 						} else {
 							r.push(`push a special strap-on`);
@@ -2547,7 +2555,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 						} else {
 							r.push(`without hurting ${him}.`);
 						}
-						if (V.PC.dick !== 0) {
+						if (PC.dick !== 0) {
 							r.push(`You empty your balls inside ${him}, thrusting in as far as you can go`);
 						} else {
 							r.push(`The strap-on contains a reservoir of faux ejaculate, and you give it to ${him}`);
@@ -2569,7 +2577,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 									r.push(`${he} climaxes, ${his} impregnation fetish displayed cutely on ${his} face.`);
 								}
 								r.push(`As you ${him} go, ${he} feels`);
-								if (V.PC.dick !== 0) {
+								if (PC.dick !== 0) {
 									r.push(`your`);
 								} else {
 									r.push(`the fake`);
@@ -2595,7 +2603,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 									r.push(`${he} climaxes, ${his} impregnation fetish forcing ${him} to feel pleasure ${his} mind would prefer to reject.`);
 								}
 								r.push(`As you ${him} go, ${he} cries openly,`);
-								if (V.PC.dick !== 0) {
+								if (PC.dick !== 0) {
 									r.push(`your`);
 								} else {
 									r.push(`the fake`);
@@ -2829,13 +2837,13 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 								r.push(`and secure ${his} struggling, screeching body to the couch next to your desk so that ${he}'s straddling the back of the couch with ${his} butt sticking out.`);
 							}
 							r.push(`${He} wriggles and protests until ${he} feels the lubricated head of`);
-							if (V.PC.dick !== 0) {
+							if (PC.dick !== 0) {
 								r.push(`your dick`);
 							} else {
 								r.push(`a strap-on`);
 							}
 							r.push(`pushing against ${his} virgin butthole, at which point ${he} desperately tries to break free. ${He} fails, but ${he} never stops writhing and begging you to take`);
-							if (V.PC.dick !== 0) {
+							if (PC.dick !== 0) {
 								r.push(`your cock`);
 							} else {
 								r.push(`the phallus`);
@@ -2891,7 +2899,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 							r.push(`bring the resistant slave`);
 						}
 						r.push(`out into the public areas below your penthouse, shove the nude ${desc} over a convenient handrail, and stick`);
-						if (V.PC.dick !== 0) {
+						if (PC.dick !== 0) {
 							r.push(`your dick`);
 						} else {
 							r.push(`a strap-on`);
@@ -2938,7 +2946,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 									r.push(`As a humiliation fetishist, ${he} gets off on the stares, blushing cutely as ${he} takes a fuck in public.`);
 								}
 								r.push(`${He} follows you back inside your penthouse, leaking`);
-								if (V.PC.dick !== 0) {
+								if (PC.dick !== 0) {
 									r.push(`your cum,`);
 								} else {
 									r.push(`lube,`);
@@ -2964,7 +2972,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 									r.push(`As a humiliation fetishist, ${he} can't stop ${himself} from getting off on being fucked in public.`);
 								}
 								r.push(`As you pull ${him} back towards your penthouse, ${he} leaks`);
-								if (V.PC.dick !== 0) {
+								if (PC.dick !== 0) {
 									r.push(`your cum`);
 								} else {
 									r.push(`lube`);
@@ -2998,9 +3006,9 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 						const r = [];
 						const num = jsRandom(1, 100);
 						r.push(`${He} seems reasonably obedient, so you give ${him} a chance to impress. You remain seated and offer ${him} your`);
-						if (V.PC.dick !== 0) {
+						if (PC.dick !== 0) {
 							r.push(`half-erect cock`);
-							if (V.PC.vagina !== -1) {
+							if (PC.vagina !== -1) {
 								r.push(`and ready pussy`);
 							}
 						} else {
@@ -3014,7 +3022,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 							r.push(`into position.`);
 						}
 						r.push(`${He} works hard and is clearly doing ${his} absolute best to please, so you let ${him} finish you with ${his} mouth.`);
-						if (V.PC.dick !== 0) {
+						if (PC.dick !== 0) {
 							if (num > 20) {
 								r.push(`${He}`);
 								if (!canSee(slave)) {
@@ -3059,14 +3067,14 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 						linkName: `Make sure ${he} knows pregnant women can still enjoy sex`,
 						result(slave) {
 							const r = [];
-							r.push(`You introduce ${him} to obedience and proper manners regarding ${his} ${getWrittenTitle(slave)} before sending ${him} off for a physical. That night, ${he}'s returned to your room, and finds you doing business on a tablet in bed. ${He} looks doubtful, but obeys when you direct ${him} to get into bed${V.PC.dick === 0 ? `, even after ${he} realizes you're wearing a strap-on` : ``}. You turn out the light and spoon ${him} from behind, kissing ${his} neck and ears, cupping ${his} swollen breasts, and running your hands across ${his} pregnant belly with its taut ${slave.skin} skin. ${He}'s awkward at first but ${his} body responds to the tenderness. Before long ${he}'s humping ${his} pussy back and forth against`);
-							if (V.PC.dick !== 0) {
+							r.push(`You introduce ${him} to obedience and proper manners regarding ${his} ${getWrittenTitle(slave)} before sending ${him} off for a physical. That night, ${he}'s returned to your room, and finds you doing business on a tablet in bed. ${He} looks doubtful, but obeys when you direct ${him} to get into bed${PC.dick === 0 ? `, even after ${he} realizes you're wearing a strap-on` : ``}. You turn out the light and spoon ${him} from behind, kissing ${his} neck and ears, cupping ${his} swollen breasts, and running your hands across ${his} pregnant belly with its taut ${slave.skin} skin. ${He}'s awkward at first but ${his} body responds to the tenderness. Before long ${he}'s humping ${his} pussy back and forth against`);
+							if (PC.dick !== 0) {
 								r.push(`your cock.`);
 							} else {
 								r.push(`the strap-on.`);
 							}
 							r.push(`You begin to gently work`);
-							if (V.PC.dick !== 0) {
+							if (PC.dick !== 0) {
 								r.push(`your dickhead`);
 							} else {
 								r.push(`its tip`);
@@ -3178,9 +3186,9 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 							// Written for tankBorn
 							const r = [];
 							r.push(`You seat the curious ${SlaveTitle(slave)} in the center of your office and order every slave available capable of getting hard to report to your office. Once everyone is assembled and erect, you order them to encircle the aroused ${girl} and shower ${him} in cum. As they begin${canAchieveErection(slave) ? ` (with ${slave.slaveName} stroking ${his} own erection too)` : ``},`);
-							if (V.PC.dick !== 0 && V.PC.vagina !== -1) {
+							if (PC.dick !== 0 && PC.vagina !== -1) {
 								r.push(`you begin fingering yourself while jacking off alongside your slaves.`);
-							} else if (V.PC.dick !== 0) {
+							} else if (PC.dick !== 0) {
 								r.push(`you join in the circlejerk as well.`);
 							} else {
 								r.push(`you sit back to finger yourself to the show.`);
@@ -3259,7 +3267,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 					});
 					lineBreak();
 				}
-				if (V.PC.vagina !== -1 && slave.dick > 0 && canAchieveErection(slave)) {
+				if (PC.vagina !== -1 && slave.dick > 0 && canAchieveErection(slave)) {
 					choice({
 						get linkName() { return (tankBorn) ? `Dominate ${his} penis` : `Dominate ${his} penis and demonstrate ${his} place`; },
 						result(slave) {
@@ -3299,7 +3307,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 							} else if (slave.dick === 6) {
 								r.push(`You grin sadistically at ${him} as ${his} massive dick fills both of your hands.`);
 							}
-							r.push(`As ${he} begins to moan with lust, you grip down tightly and force ${him} to the floor. You straddle ${him} and lower your dripping pussy onto ${his} face${V.PC.dick !== 0 ? `, your erect cock coming to rest on ${his} forehead` : ``}. You continue stroking your toy's rod as ${he} eagerly begins eating you out. As ${his} cock begins to throb, anticipating ${his} upcoming orgasm,`);
+							r.push(`As ${he} begins to moan with lust, you grip down tightly and force ${him} to the floor. You straddle ${him} and lower your dripping pussy onto ${his} face${PC.dick !== 0 ? `, your erect cock coming to rest on ${his} forehead` : ``}. You continue stroking your toy's rod as ${he} eagerly begins eating you out. As ${his} cock begins to throb, anticipating ${his} upcoming orgasm,`);
 							if ((tankBorn) && (overpowerCheck(slave, V.PC) < random(1, 100)) && (V.incubatorReproductionSetting > 0)) {
 								r.push(`${he} shoves you onto your back and deeply penetrates you. Before you can kick ${him} off, ${he} thrusts twice and unloads ${his} pent up orgasm deep into your pussy. ${He} pulls out with a huge smile on ${his} face and a <span class="hotpink">deep love</span> for ${his} mate. You glower at ${him} as cum pools from your stretched cunt; ${he} might not be a dom now, but ${he} may certainly become one.`);
 								slave.devotion += 5;
@@ -3405,7 +3413,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 								}
 							} else {
 								r.push(`you quickly bind the base of ${his} penis, denying ${his} release. You grind your cunt into ${his} face, telling ${him} that YOU are the one who'll be orgasming here, not ${him}. Only once you have initiated the new slave by soaking ${his} face in your cum do you release ${his} dick and lean back to avoid the coming blast. A few strokes later and your hand is coated in ${his} cum. You turn around and order the exhausted ${girl} to clean ${his} cum off your hand`);
-								if (V.PC.dick !== 0) {
+								if (PC.dick !== 0) {
 									r.push(`and to finish off ${his} twitching dick`);
 								}
 								r.push(`${he} <span class="hotpink">complies meekly,</span> knowing you are the <span class="gold">dominant force</span> in ${his} life now.`);
@@ -3418,7 +3426,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 					});
 				}
 
-				if (V.PC.belly >= 3000 && hasAnyArms(slave)) {
+				if (PC.belly >= 3000 && hasAnyArms(slave)) {
 					choice({
 						// todo tankBorn
 						get linkName() { return (tankBorn) ? `Permit ${him} to explore your pregnancy` : `Make ${him} worship your pregnancy`; },
@@ -3465,7 +3473,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 							} else {
 								r.push(`be pushed to the ground. Standing over ${him}, staring ${him} down as ${he} peeks around your firm globe of a middle, you order ${him} to worship your pregnancy.`);
 								if (slave.fetish === "pregnancy") {
-									r.push(`${He} complies eagerly. ${He} begins with sucking your popped navel before running ${his} tongue across the taut, smooth surface of your pregnancy. Once ${he} has finished with your belly, ${he} lowers ${himself} under it to begin work on your needy pussy. Before long, ${his} overzealous efforts have you quaking in pleasure, rousing your ${(V.PC.pregType === 1) ? `child` : `children`}. Once ${he} finishes you off, ${he} returns to rubbing your belly, soothing your rowdy ${(V.PC.pregType === 1) ? `child`:`children`}and <span class="hotpink">solidifying ${his} place</span> beneath you.`);
+									r.push(`${He} complies eagerly. ${He} begins with sucking your popped navel before running ${his} tongue across the taut, smooth surface of your pregnancy. Once ${he} has finished with your belly, ${he} lowers ${himself} under it to begin work on your needy pussy. Before long, ${his} overzealous efforts have you quaking in pleasure, rousing your ${(PC.pregType === 1) ? `child` : `children`}. Once ${he} finishes you off, ${he} returns to rubbing your belly, soothing your rowdy ${(PC.pregType === 1) ? `child`:`children`}and <span class="hotpink">solidifying ${his} place</span> beneath you.`);
 									slave.devotion += 15;
 								} else {
 									r.push(`${He} shifts ${his} gaze between your middle and your face, not sure what to do. Losing patience, you toss a tube of cream at ${him}. ${He} shakily massages it onto your stretched skin, missing spots, much to your pleasure. With reason, you force ${him} onto ${his} back, turn around, and plant your needy cunt directly onto ${his} face. Struggling to breath under your weight, ${he} begins eating you out in desperation. After coaxing ${him} to massage your belly as ${he} does, you quickly climax across ${his} face and gently lift yourself off the coughing ${girl}. ${He} now <span class="hotpink">understands ${his} place in life</span> and is <span class="gold">terrified</span> about what ${he} will have to do if ${he} wants to survive.`);
@@ -3478,8 +3486,8 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 						},
 
 					});
-					if (V.PC.preg >= 28) {
-						if (V.PC.pregMood === 2 && V.PC.vagina > 0 && canPenetrate(slave)) {
+					if (PC.preg >= 28) {
+						if (PC.pregMood === 2 && PC.vagina > 0 && canPenetrate(slave)) {
 							choice({
 								// todo tankBorn
 								get linkName() { return (tankBorn) ? `Teach ${him} how to satisfy a pregnant ${womanP}` : `${He} has a dick and you need it`; },
@@ -3499,7 +3507,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 										r.push(`chest`);
 									}
 									if (tankBorn) {
-										if (V.PC.pregMood === 2) {
+										if (PC.pregMood === 2) {
 											r.push(`knocking ${him} to the ground.`);
 											if (canPenetrate(slave)) {
 												r.push(`A simple stroke is all it takes to get ${him} hard, so you quickly mount and begin riding ${him}. ${He} <span class="hotpink">happily</span> runs ${his} hands across the underside of your belly as ${he} gets into the rhythm of thrusting up into you. After an unsatisfyingly short amount of time, ${he} cums deep in you.`);
@@ -3517,7 +3525,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 												slave.fetish = "pregnancy";
 												slave.fetishStrength = 20;
 											}
-										} else if (tankBorn && V.PC.pregMood === 1) {
+										} else if (tankBorn && PC.pregMood === 1) {
 											r.push(`until ${he} has no choice but to wrap ${his} arms around it. ${He} happily runs ${his} hands across your belly, cooing with delight at the tautness and warmth. ${He} jumps back with a gasp the first time ${he} is met with a kick from within you, but < span class="hotpink" > giggles pleasantly</span > as you help ${him} back to ${his} feet and pull ${him} into an embrace, guiding ${him} to the couch. You tweak one of your nipples, encouraging your milk to flow and enticing`);
 											if (slave.mother === -1) {
 												r.push(`your ${daughter} to suckle from ${his} mother.`);
@@ -3547,7 +3555,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 												r.push(`You knew ${he} had a pregnancy fetish and the look on ${his} face confirms it.`);
 											}
 											r.push(`A kick from within startles you from your thoughts; it would appear your`);
-											if (V.PC.pregType > 1) {
+											if (PC.pregType > 1) {
 												r.push(`children agree`);
 											} else {
 												r.push(`child agrees`);
@@ -3566,38 +3574,38 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 								},
 
 							});
-						} else if (V.PC.pregMood === 1 && V.PC.lactation > 0) {
+						} else if (PC.pregMood === 1 && PC.lactation > 0) {
 							choice({
 								// todo: tankBorn
 								linkName: `Take ${him} to your breast`,
 								result(slave) {
 									const r = [];
 									r.push(`You calmly approach ${slave.slaveName}, pulling ${him} into a soothing embrace against your`);
-									if (V.PC.boobs >= 1400) {
+									if (PC.boobs >= 1400) {
 										r.push(`enormous,`);
-										if (V.PC.boobsImplant > 0) {
+										if (PC.boobsImplant > 0) {
 											r.push(`fake,`);
 										}
 										r.push(`milk laden breasts.`);
-									} else if (V.PC.boobs >= 1200) {
+									} else if (PC.boobs >= 1200) {
 										r.push(`huge,`);
-										if (V.PC.boobsImplant > 0) {
+										if (PC.boobsImplant > 0) {
 											r.push(`fake,`);
 										}
 										r.push(`milk laden breasts.`);
-									} else if (V.PC.boobs >= 1000) {
+									} else if (PC.boobs >= 1000) {
 										r.push(`large,`);
-										if (V.PC.boobsImplant > 0) {
+										if (PC.boobsImplant > 0) {
 											r.push(`fake,`);
 										}
 										r.push(`milk laden breasts.`);
-									} else if (V.PC.boobs >= 800) {
+									} else if (PC.boobs >= 800) {
 										r.push(`big, milk laden breasts.`);
-									} else if (V.PC.boobs >= 650) {
+									} else if (PC.boobs >= 650) {
 										r.push(`milk laden breasts.`);
-									} else if (V.PC.boobs >= 500) {
+									} else if (PC.boobs >= 500) {
 										r.push(`small, milk laden breasts.`);
-									} else if (V.PC.boobs >= 300) {
+									} else if (PC.boobs >= 300) {
 										r.push(`tiny, milk laden breasts.`);
 									} else {
 										r.push(`milk swollen chest.`);
@@ -3605,7 +3613,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 									r.push(`${He} tries to squirm away from the moist spot growing under ${his} cheek, but you reveal your nipple and carefully direct ${his} mouth over it.`);
 									if (slave.fetish === "pregnancy") {
 										r.push(`Slowly ${he} begins to suckle from your swollen breast. You gently brush ${his} head as you try to hold back your pleasure — a wasted effort, as a hand sneaks its way to your`); // TODO: handness
-										if (V.PC.dick !== 0) {
+										if (PC.dick !== 0) {
 											r.push(`growing erection and enthusiastically begins pumping away.`);
 										} else {
 											r.push(`wet pussy and enthusiastically begins rubbing your clit.`);
@@ -3617,7 +3625,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 										} else {
 											r.push(`You knew ${he} had a pregnancy fetish and ${his} eagerness to serve a pregnant ${womanP} proves that.`);
 										}
-										r.push(`A kick from within startles you from your thoughts; as you reach to soothe your ${V.PC.pregType === 1 ? `child` : `children`}, you find your new slave <span class="mediumaquamarine">already doting on them.</span> ${He}'s already starting to <span class="hotpink">show understanding of ${his} place.</span>`);
+										r.push(`A kick from within startles you from your thoughts; as you reach to soothe your ${PC.pregType === 1 ? `child` : `children`}, you find your new slave <span class="mediumaquamarine">already doting on them.</span> ${He}'s already starting to <span class="hotpink">show understanding of ${his} place.</span>`);
 										slave.devotion += 15;
 										slave.trust += 15;
 									} else if (slave.fetish === "boobs") {
@@ -3628,7 +3636,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 										} else {
 											r.push(`You knew ${he} had a breast fetishist and ${his} eagerness to lighten a lactating ${womanP} proves that.`);
 										}
-										r.push(`A kick from within startles you from your thoughts; you pat your gravid middle, reassuring your ${(V.PC.pregType === 1) ? `child`:`children`} that you'll make sure to save some milk for them. ${He}'s already starting to <span class="hotpink">show understanding of ${his} place</span> and even <span class="mediumaquamarine">beginning to build trust</span> with you.`);
+										r.push(`A kick from within startles you from your thoughts; you pat your gravid middle, reassuring your ${(PC.pregType === 1) ? `child`:`children`} that you'll make sure to save some milk for them. ${He}'s already starting to <span class="hotpink">show understanding of ${his} place</span> and even <span class="mediumaquamarine">beginning to build trust</span> with you.`);
 										slave.devotion += 15;
 										slave.trust += 15;
 									} else {
@@ -3654,7 +3662,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 										slave.devotion += 5;
 										slave.trust += 5;
 									}
-									V.PC.lactationDuration = 2;
+									PC.lactationDuration = 2;
 
 									return r.join(" ");
 								},
@@ -3664,9 +3672,9 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 					}
 				}
 
-				if (slave.belly + V.PC.belly <= 2000) {
+				if (slave.belly + PC.belly <= 2000) {
 					// got to be able to get close without bumps getting in the way
-					if (V.PC.boobs >= 800 && slave.boobs <= V.PC.boobs - 200 && slave.boobs >= 300) {
+					if (PC.boobs >= 800 && slave.boobs <= PC.boobs - 200 && slave.boobs >= 300) {
 						choice({
 							// todo tankBorn
 							get linkName() { return (tankBorn) ? `Permit ${him} to explore your expansive bust` : `Let your ample bust dominate ${his} pathetic one`; },
@@ -3681,9 +3689,9 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 										r.push(`focusing on`);
 									}
 									r.push(`them. ${He} eagerly places ${his} hands to them and begins squeezing and massaging them, quickly becoming aroused ${himself}. ${He} pays close attention to your nipples, `);
-									if (V.PC.lactation > 0) {
+									if (PC.lactation > 0) {
 										r.push(`squealing happily when milk begins to flow from them.`);
-										V.PC.lactationDuration = 2;
+										PC.lactationDuration = 2;
 									} else {
 										r.push(`grumbling unhappily when ${he} finds no milk within.`);
 									}
@@ -3811,8 +3819,8 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 						});
 					}
 
-					if (canAchieveErection(slave) && canSee(slave) && V.PC.dick >= 4 && V.PC.dick > slave.dick && slave.trust >= -20) {
-						if (slave.energy > 95 || (slave.attrXX > 50 && slave.behavioralFlaw !== "hates women" && V.PC.boobs >= 400) || (slave.attrXY > 50 && slave.behavioralFlaw !== "hates men" && V.PC.boobs < 300) || (V.PC.belly >= 1500 && slave.fetish === "pregnancy") || (V.PC.boobs >= 1400 && slave.fetish === "pregnancy")) {
+					if (canAchieveErection(slave) && canSee(slave) && PC.dick >= 4 && PC.dick > slave.dick && slave.trust >= -20) {
+						if (slave.energy > 95 || (slave.attrXX > 50 && slave.behavioralFlaw !== "hates women" && PC.boobs >= 400) || (slave.attrXY > 50 && slave.behavioralFlaw !== "hates men" && PC.boobs < 300) || (PC.belly >= 1500 && slave.fetish === "pregnancy") || (PC.boobs >= 1400 && slave.fetish === "pregnancy")) {
 							choice({
 								// todo tankBorn
 								linkName: `Show ${him} what a real erection looks like`,
@@ -4408,13 +4416,13 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 									r.push(`asshole`);
 								}
 								r.push(`as an outlet for your sexual energy. You are not gentle; in fact, the point of the whole exercise is to gape ${him}. By the evening ${he}'s been fucked so hard that ${he}'s stopped jerking against the chair when you pound`);
-								if (V.PC.dick !== 0) {
+								if (PC.dick !== 0) {
 									r.push(`your huge cock`);
 								} else {
 									r.push(`a huge strap-on`);
 								}
 								r.push(`in and out of ${him}, so you're obliged to get creative, sliding fingers in alongside`);
-								if (V.PC.dick !== 0) {
+								if (PC.dick !== 0) {
 									r.push(`yourself`);
 								} else {
 									r.push(`it`);
@@ -4699,7 +4707,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 		}
 
 		IncreasePCSkills('trading', 0.1);
-		if (V.PC.skill.slaving < 100 && jsRandom(V.PC.skill.slaving, 100) > 50) {
+		if (PC.skill.slaving < 100 && jsRandom(PC.skill.slaving, 100) > 50) {
 			IncreasePCSkills('slaving', 0.5);
 		} else {
 			IncreasePCSkills('slaving', 0.1);
diff --git a/src/npc/generate/slaveGenerationJS.js b/src/npc/generate/slaveGenerationJS.js
index adfa6f029209408fb6515913059f9dd37c2e6afe..9c8dbf6aada31d5919ed55d33641d7f56116e41a 100644
--- a/src/npc/generate/slaveGenerationJS.js
+++ b/src/npc/generate/slaveGenerationJS.js
@@ -1340,146 +1340,6 @@ globalThis.nationalityToAccent = function(slave) {
 	}
 };
 
-/*
-Backup and then apply gingering modifiers to slave - no changes should be made to slave until after calling removeGingering() to restore the backup
-Called from lawCompliance
-*/
-globalThis.checkForGingering = function(slave, market = 0) {
-	let r = "";
-	const {he, him, his, He, His} = getPronouns(slave);
-	const applyLaw = applyLawCheck(market);
-
-	/* reset in case gingered slaves were viewed but not purchased (no newSlaveIntro) */
-	V.gingering = 0;
-	V.gingeringDetected = 0;
-	V.gingeringDetection = 0;
-	if (applyLaw === 1 && V.policies.SMR.honestySMR === 1) {
-		/* SMR prohibits gingering and is enforced for this slave - do nothing */
-	} else if (slave.indenture > 0) {
-		/* indentured servants cannot be gingered */
-	} else if (isShelterSlave(slave)) {
-		/* is a Shelter slave - do nothing */
-	} else {
-		V.beforeGingering = clone(slave);
-		if (slave.trust < -20 && jsRandom(1, 3) === 1) {
-			V.gingering = "antidepressant";
-			slave.trust += jsRandom(10, 40);
-		} else if (slave.devotion < -20 && jsRandom(1, 3) === 1) {
-			V.gingering = "depressant";
-			slave.devotion += jsRandom(10, 40);
-		} else if (slave.health.condition < 60 && jsRandom(1, 3) === 1) {
-			V.gingering = "stimulant";
-			improveCondition(slave, jsRandom(20, 40));
-		} else if (slave.balls > 0 && slave.dick > 2 && jsRandom(1, 3) === 1) {
-			V.gingering = "vasoconstrictor";
-			slave.dick -= jsRandom(1, 2);
-		} else if (slave.balls > 0 && slave.dick < 5 && jsRandom(1, 3) === 1) {
-			V.gingering = "vasodilator";
-			slave.dick += jsRandom(1, 2);
-		} else if (slave.attrKnown === 0 && jsRandom(1, 3) === 1) {
-			V.gingering = "aphrodisiac";
-			slave.aphrodisiacs = 2;
-			slave.attrKnown = 1;
-			slave.attrXX = jsRandom(60, 90);
-			slave.attrXY = jsRandom(60, 90);
-			slave.energy = jsRandom(50, 90);
-		} else if (slave.anus > 0 && slave.fetishKnown === 0 && jsRandom(1, 3) === 1) {
-			V.gingering = "ginger";
-			slave.fetish = "buttslut";
-			slave.fetishKnown = 1;
-			slave.fetishStrength = 65;
-		}
-	}
-	if (V.gingering !== 0) {
-		if (V.PC.skill.slaving >= 100) {
-			V.gingeringDetected = 1;
-			V.gingeringDetection = "slaver";
-			switch (V.gingering) {
-				case "antidepressant":
-					r += `${He} is acting dazed and unfocused. ${He}'s obviously been given antidepressants to make ${him} appear less fearful, and will be considerably less trusting than ${he} seems.`;
-					break;
-				case "depressant":
-					r += `${He} is acting languid and drugged. ${He}'s obviously been given a depressant to make ${him} appear less hateful, and will be considerably less accepting of slavery than ${he} seems.`;
-					break;
-				case "stimulant":
-					r += `${He} is acting twitchy and hyperactive. ${He}'s obviously been given a stimulant to make ${him} seem healthier and more energetic, and is a lot less healthy than ${he} looks.`;
-					break;
-				case "vasoconstrictor":
-					r += `${His} lips have the slightest blue tinge, making it obvious ${he}'s been given a vasoconstrictor. ${His} cock is a lot less of a girldick than it looks right now.`;
-					break;
-				case "vasodilator":
-					r += `${He} has an impressive erection, but it seems quite unconnected to the rest of ${him}, as if ${he} doesn't know what to do with it. ${He}'s obviously been given a vasodilator to make ${his} dick seem a little less pathetic.`;
-					break;
-				case "aphrodisiac":
-					r += `${His} pupils are slightly dilated, ${his} breath comes in fast pants, and ${his} skin is flushed. ${He}'s obviously been given as big of a dose of aphrodisiacs as ${he} can handle without a heart attack.`;
-					break;
-				default:
-					r += `${He} is acting oddly, presenting ${his} ass in an awkward way and acting uncomfortable. ${He}'s obviously had an irritant shoved up ${his} butt to make ${him} act like an anal whore.`;
-			}
-			r += ` It's a trick you're very familiar with, given your <span class="springgreen">training as a slaver.</span>`;
-		} else {
-			/* not slaver */
-			if (V.PC.skill.warfare >= 100 && jsRandom(1, 2) === 1) {
-				V.gingeringDetected = 1;
-				V.gingeringDetection = "mercenary";
-			} else if (V.PC.rumor === "force" && jsRandom(1, 2) === 1) {
-				V.gingeringDetected = 1;
-				V.gingeringDetection = "force";
-			} else if (jsRandom(1, 3) === 1) {
-				V.gingeringDetected = 1;
-			}
-			if (V.gingeringDetected === 1) {
-				switch (V.gingering) {
-					case "antidepressant":
-						r += `${He} is acting dazed and unfocused, like ${he}'s been given antidepressants to make ${him} appear less fearful. ${He} may be considerably less trusting than ${he} seems. `;
-						break;
-					case "depressant":
-						r += `${He} is acting languid and drugged, like ${he}'s been given a depressant to make ${him} appear less hateful. ${He} may be considerably less accepting of slavery than ${he} seems. `;
-						break;
-					case "stimulant":
-						r += `${He} is acting twitchy and hyperactive, like ${he}'s been given a stimulant to make ${him} seem healthier and more energetic. ${He} may be considerably less vital than ${he} seems. `;
-						break;
-					case "vasoconstrictor":
-						r += `${His} lips have the slightest blue tinge, suggesting that ${he} may have been given a vasoconstrictor. If ${he} has, ${his} cock may be considerably less feminine and demure than it now seems. `;
-						break;
-					case "vasodilator":
-						r += `${He} has an impressive erection, but it seems quite unconnected to the rest of ${him}, as if ${he} doesn't know what to do with it. ${He} may have been given a vasodilator. If ${he} has, ${his} cock may be considerably less impressive than it now seems. `;
-						break;
-					case "aphrodisiac":
-						r += `${His} pupils are slightly dilated, ${his} breath comes in fast pants, and ${his} skin is flushed. These are the characteristic symptoms of a dose of aphrodisiacs limited only by a desire to avoid giving ${him} a heart attack. `;
-						break;
-					default:
-						r += `${He} is acting oddly, presenting ${his} ass in an awkward way and acting uncomfortable. ${He} may be considerably less interested in anal sex than ${he} seems. `;
-				}
-				if (V.gingeringDetection === "mercenary") {
-					r += `The nervous seller confirms this in response to a direct inquiry. Your intimidating reputation from your <span class="springgreen">extensive combat training</span> has its uses.`;
-				} else if (V.gingeringDetection === "force") {
-					r += `The nervous seller confirms this in response to a direct inquiry. Your reputation as a <span class="springgreen"> ${PCTitle() ? "man" : "woman"} of blood</span> has its uses.`;
-				}
-			}
-		} /* gingering detected */
-	} /* gingering !== 0 */
-	return r;
-};
-
-/*
-Retrieve original slave without gingering modifiers
-Call as removeGingering()
-Called from newSlaveIntro, bulkSlaveGenerate
-*/
-globalThis.removeGingering = function() {
-	if (V.gingering !== 0 && V.beforeGingering !== 0 && V.activeSlave !== 0 && V.beforeGingering.ID === V.activeSlave.ID) {
-		/* extra checks to ensure gingering state is not left over from a different slave that was inspected but not purchased */
-		V.activeSlave = V.beforeGingering;
-		V.beforeGingering = 0;
-	} else {
-		/* clear left over state from a different slave without modifying activeSlave
-		 */
-		V.gingering = 0;
-		V.beforeGingering = 0;
-	}
-};
-
 /**
  * @param {App.Entity.SlaveState} slave*/
 globalThis.randomizeAttraction = function(slave) {
@@ -1581,7 +1441,6 @@ globalThis.applyAgeImplantOlder = function(slave) {
  * @param {FC.Zeroable<FC.SlaveMarketName>} [market]
  * @returns {number} [1|0]
  */
-
 globalThis.applyLawCheck = function(market) {
 	if (typeof market !== "string" || App.Data.misc.lawlessMarkets.includes(market)) {
 		return 0;
diff --git a/src/npc/interaction/fAbuse.tw b/src/npc/interaction/fAbuse.tw
index bc3ca37031738e907fb72e9831c5b55700323280..266ac82a3d89fda3428ec704e5af1ec552912de9 100644
--- a/src/npc/interaction/fAbuse.tw
+++ b/src/npc/interaction/fAbuse.tw
@@ -362,7 +362,7 @@ from your victim.
 	<</if>>
 <</if>>
 
-<<if (setup.dyedSkins.includes(getSlave($AS).skin))>>
+<<if (App.Medicine.Modification.dyedSkins.includes(getSlave($AS).skin))>>
 	$His <<= getSlave($AS).skin>><<if $seeRace == 1>>, <<= getSlave($AS).race>><</if>> ass barely shows the spanking.
 <<elseif (skinToneLevel(getSlave($AS)) < 5)>>
 	$His <<= getSlave($AS).skin>><<if $seeRace == 1>>, <<= getSlave($AS).race>><</if>> ass shows the spanking extremely well.
diff --git a/src/interaction/killSlave.js b/src/npc/interaction/killSlave.js
similarity index 100%
rename from src/interaction/killSlave.js
rename to src/npc/interaction/killSlave.js
diff --git a/src/interaction/killSlave.tw b/src/npc/interaction/killSlave.tw
similarity index 100%
rename from src/interaction/killSlave.tw
rename to src/npc/interaction/killSlave.tw
diff --git a/src/interaction/fSlaveFeed.js b/src/npc/interaction/slaveOnSlaveFeeding/fSlaveFeed.js
similarity index 100%
rename from src/interaction/fSlaveFeed.js
rename to src/npc/interaction/slaveOnSlaveFeeding/fSlaveFeed.js
diff --git a/src/interaction/slaveOnSlaveFeeding.css b/src/npc/interaction/slaveOnSlaveFeeding/slaveOnSlaveFeeding.css
similarity index 100%
rename from src/interaction/slaveOnSlaveFeeding.css
rename to src/npc/interaction/slaveOnSlaveFeeding/slaveOnSlaveFeeding.css
diff --git a/src/interaction/slaveOnSlaveFeeding.js b/src/npc/interaction/slaveOnSlaveFeeding/slaveOnSlaveFeeding.js
similarity index 100%
rename from src/interaction/slaveOnSlaveFeeding.js
rename to src/npc/interaction/slaveOnSlaveFeeding/slaveOnSlaveFeeding.js
diff --git a/src/interaction/slaveOnSlaveFeeding.tw b/src/npc/interaction/slaveOnSlaveFeeding/slaveOnSlaveFeeding.tw
similarity index 100%
rename from src/interaction/slaveOnSlaveFeeding.tw
rename to src/npc/interaction/slaveOnSlaveFeeding/slaveOnSlaveFeeding.tw
diff --git a/src/npc/startingGirls/commitStartingGirl.tw b/src/npc/startingGirls/commitStartingGirl.tw
index 028b716752a937718935e20ca4b9a09b0bcb06be..8ce20e177e3c2bd449da08cea98f5fc2a9465e59 100644
--- a/src/npc/startingGirls/commitStartingGirl.tw
+++ b/src/npc/startingGirls/commitStartingGirl.tw
@@ -1,6 +1,8 @@
 :: Commit Starting Girl [nobr]
 
 <<run App.StartingGirls.cleanup($activeSlave)>>
+<<set _beforeCareerBonus = clone($activeSlave)>>
+<<set _srcID = $activeSlave.ID>>
 
 <<if def $slaveIndices[$activeSlave.ID]>>
 	<div>@@.red;Starting Girl ID conflict; slave not committed. Please report this error with a description of your actions.@@</div>
@@ -29,19 +31,19 @@
 	<</link>>
 	<br>
 	<<link "Add another slave, based on the previous slave">>
-		<<set $activeSlave = clone($activeSlave)>>
+		<<set $activeSlave = _beforeCareerBonus>>
 		<<set $activeSlave.ID = generateSlaveID()>>
 		<<run nationalityToName($activeSlave), App.StartingGirls.randomizeUnknowns($activeSlave)>>
 		<<set $activeSlave.mother = 0, $activeSlave.father = 0>>
 		<<goto "Starting Girls">>
 	<</link>>
-	<<set _srcID = $activeSlave.ID>>
 	<br>
 	//Add another slave, related to the previous slave://
 	<div class="indent">
 	<<link "Twin">>
 		<<run setMissingParents(getSlave(_srcID))>>
-		<<set $activeSlave = generateRelatedSlave(getSlave(_srcID), "twin")>>
+		<<set _beforeCareerBonus.mother = getSlave(_srcID).mother, _beforeCareerBonus.father = getSlave(_srcID).father>>
+		<<set $activeSlave = generateRelatedSlave(_beforeCareerBonus, "twin")>>
 		<<run App.StartingGirls.randomizeUnknowns($activeSlave)>>
 		<<goto "Starting Girls">>
 	<</link>>
@@ -50,7 +52,7 @@
 		<<if $seeDicks !== 100 && $activeSlave.mother === 0>>
 			<div class="indent">
 			<<link "Mother">>
-				<<set $activeSlave = generateRelatedSlave(getSlave(_srcID), "parent", getSlave(_srcID).genes === "XY")>>
+				<<set $activeSlave = generateRelatedSlave(_beforeCareerBonus, "parent", _beforeCareerBonus.genes === "XY")>>
 				<<run App.StartingGirls.randomizeUnknowns($activeSlave)>>
 				<<set getSlave(_srcID).mother = $activeSlave.ID>>
 				<<goto "Starting Girls">>
@@ -60,7 +62,7 @@
 		<<if $seeDicks !== 0 && $activeSlave.father === 0>>
 			<div class="indent">
 			<<link "Father">>
-				<<set $activeSlave = generateRelatedSlave(getSlave(_srcID), "parent", getSlave(_srcID).genes === "XX")>>
+				<<set $activeSlave = generateRelatedSlave(_beforeCareerBonus, "parent", _beforeCareerBonus.genes === "XX")>>
 				<<run App.StartingGirls.randomizeUnknowns($activeSlave)>>
 				<<set getSlave(_srcID).father = $activeSlave.ID>>
 				<<goto "Starting Girls">>
@@ -73,7 +75,8 @@
 			<div class="indent">
 			<<link "Older Sister">>
 				<<run setMissingParents(getSlave(_srcID))>>
-				<<set $activeSlave = generateRelatedSlave(getSlave(_srcID), "older sibling", getSlave(_srcID).genes === "XY")>>
+				<<set _beforeCareerBonus.mother = getSlave(_srcID).mother, _beforeCareerBonus.father = getSlave(_srcID).father>>
+				<<set $activeSlave = generateRelatedSlave(_beforeCareerBonus, "older sibling", _beforeCareerBonus.genes === "XY")>>
 				<<run App.StartingGirls.randomizeUnknowns($activeSlave)>>
 				<<goto "Starting Girls">>
 			<</link>>
@@ -83,7 +86,8 @@
 			<div class="indent">
 			<<link "Older Brother">>
 				<<run setMissingParents(getSlave(_srcID))>>
-				<<set $activeSlave = generateRelatedSlave(getSlave(_srcID), "older sibling", getSlave(_srcID).genes === "XX")>>
+				<<set _beforeCareerBonus.mother = getSlave(_srcID).mother, _beforeCareerBonus.father = getSlave(_srcID).father>>
+				<<set $activeSlave = generateRelatedSlave(_beforeCareerBonus, "older sibling", _beforeCareerBonus.genes === "XX")>>
 				<<run App.StartingGirls.randomizeUnknowns($activeSlave)>>
 				<<goto "Starting Girls">>
 			<</link>>
@@ -95,7 +99,8 @@
 			<div class="indent">
 			<<link "Younger Sister">>
 				<<run setMissingParents(getSlave(_srcID))>>
-				<<set $activeSlave = generateRelatedSlave(getSlave(_srcID), "younger sibling", getSlave(_srcID).genes === "XY")>>
+				<<set _beforeCareerBonus.mother = getSlave(_srcID).mother, _beforeCareerBonus.father = getSlave(_srcID).father>>
+				<<set $activeSlave = generateRelatedSlave(_beforeCareerBonus, "younger sibling", _beforeCareerBonus.genes === "XY")>>
 				<<run App.StartingGirls.randomizeUnknowns($activeSlave)>>
 				<<goto "Starting Girls">>
 			<</link>>
@@ -105,7 +110,8 @@
 			<div class="indent">
 			<<link "Younger Brother">>
 				<<run setMissingParents(getSlave(_srcID))>>
-				<<set $activeSlave = generateRelatedSlave(getSlave(_srcID), "younger sibling", getSlave(_srcID).genes === "XX")>>
+				<<set _beforeCareerBonus.mother = getSlave(_srcID).mother, _beforeCareerBonus.father = getSlave(_srcID).father>>
+				<<set $activeSlave = generateRelatedSlave(_beforeCareerBonus, "younger sibling", _beforeCareerBonus.genes === "XX")>>
 				<<run App.StartingGirls.randomizeUnknowns($activeSlave)>>
 				<<goto "Starting Girls">>
 			<</link>>
@@ -116,7 +122,7 @@
 		<<if $seeDicks !== 100>>
 			<div class="indent">
 			<<link "Daughter">>
-				<<set $activeSlave = generateRelatedSlave(getSlave(_srcID), "child", getSlave(_srcID).genes === "XY")>>
+				<<set $activeSlave = generateRelatedSlave(_beforeCareerBonus, "child", _beforeCareerBonus.genes === "XY")>>
 				<<run App.StartingGirls.randomizeUnknowns($activeSlave)>>
 				<<goto "Starting Girls">>
 			<</link>>
@@ -125,7 +131,7 @@
 		<<if $seeDicks !== 0>>
 			<div class="indent">
 			<<link "Son">>
-				<<set $activeSlave = generateRelatedSlave(getSlave(_srcID), "child", getSlave(_srcID).genes === "XX")>>
+				<<set $activeSlave = generateRelatedSlave(_beforeCareerBonus, "child", _beforeCareerBonus.genes === "XX")>>
 				<<run App.StartingGirls.randomizeUnknowns($activeSlave)>>
 				<<goto "Starting Girls">>
 			<</link>>
diff --git a/src/npc/startingGirls/editFamily.js b/src/npc/startingGirls/editFamily.js
new file mode 100644
index 0000000000000000000000000000000000000000..45b2e9b23ba66754aa22d8f0cbcf3bb2b6120ff3
--- /dev/null
+++ b/src/npc/startingGirls/editFamily.js
@@ -0,0 +1,479 @@
+App.Intro.editFamily = function(slave) {
+	const el = new DocumentFragment();
+	const _allowPCFamily = (V.freshPC === 1 || V.saveImported === 0);
+	const {His, his} = getPronouns(slave);
+
+	// Checks to make sure a slave is not the active slave's parent.
+	const isNotMom = (s) => ((s.mother !== slave.mother) || (slave.mother === 0));
+	const isNotDad = (s) => ((s.father !== slave.father) || (slave.father === 0));
+
+	const editFamily = makeElWithID("edit-family");
+	editFamily.append(makeFamilyTable());
+	editFamily.append(makeElWithID("family-tree"));
+	el.append(editFamily);
+
+	return el;
+
+	function makeFamilyTable() {
+		const familyTable = makeElWithID("family-table");
+		familyTable.append(summary());
+		familyTable.append(makeElWithID("dont-be-dumb"));
+		familyTable.append(mother());
+		familyTable.append(sameMotherAs());
+		familyTable.append(father());
+		familyTable.append(sameFatherAs());
+		familyTable.append(motherOfTheChildren());
+		familyTable.append(fatherOfTheChildren());
+		if (_allowPCFamily) {
+			familyTable.append(resetAllRelativesOfPC());
+		}
+		return familyTable;
+	}
+
+	function summary() {
+		const familySummary = App.UI.DOM.makeElement("p");
+		$(familySummary).append(App.Desc.family(slave));
+		return familySummary;
+	}
+
+	function mother() {
+		const div = document.createElement("div");
+		const linkArray = [];
+
+		div.append(`${slave.slaveName}'s mother is ${parentName("mother")}. `);
+
+		linkArray.push(
+			App.UI.DOM.link(
+				"Reset",
+				() => {
+					slave.mother = 0;
+					refresh();
+				}
+			)
+		);
+
+		if (V.PC.vagina > 0 && isNotMom(V.PC) && ((V.PC.actualAge - slave.actualAge) >= V.fertilityAge) && _allowPCFamily) {
+			linkArray.push(
+				App.UI.DOM.link(
+					"You",
+					() => {
+						slave.mother = V.PC.ID;
+						refresh();
+					}
+				)
+			);
+		}
+
+		for (const potentialRel of V.slaves) {
+			if (potentialRel.vagina > 0 && isNotMom(potentialRel) && ((potentialRel.actualAge - slave.actualAge) >= potentialRel.pubertyAgeXX) && potentialRel.newGamePlus === 0) {
+				linkArray.push(
+					App.UI.DOM.link(
+						potentialRel.slaveName,
+						() => {
+							slave.mother = potentialRel.ID;
+							refresh();
+						}
+					)
+				);
+			}
+		}
+
+		div.append(App.UI.DOM.generateLinksStrip(linkArray));
+
+		return div;
+	}
+
+	function father() {
+		const div = document.createElement("div");
+		const linkArray = [];
+
+		div.append(`${slave.slaveName}'s father is ${parentName("father")}. `);
+
+		linkArray.push(
+			App.UI.DOM.link(
+				"Reset",
+				() => {
+					slave.father = 0;
+					refresh();
+				}
+			)
+		);
+
+		if (V.PC.dick > 0 && isNotDad(V.PC) && ((V.PC.actualAge - slave.actualAge) >= V.potencyAge) && _allowPCFamily) {
+			linkArray.push(
+				App.UI.DOM.link(
+					"You",
+					() => {
+						slave.father = V.PC.ID;
+						refresh();
+					}
+				)
+			);
+		}
+
+		for (const potentialRel of V.slaves) {
+			if (potentialRel.dick > 0 && isNotDad(potentialRel) && ((potentialRel.actualAge - slave.actualAge) >= potentialRel.pubertyAgeXY) && potentialRel.newGamePlus === 0) {
+				linkArray.push(
+					App.UI.DOM.link(
+						potentialRel.slaveName,
+						() => {
+							slave.father = potentialRel.ID;
+							refresh();
+						}
+					)
+				);
+			}
+		}
+
+		div.append(App.UI.DOM.generateLinksStrip(linkArray));
+
+		return div;
+	}
+
+	function sameMotherAs() {
+		const div = document.createElement("div");
+		const linkArray = [];
+
+		if (slave.mother === -1) {
+			div.append(`You are ${his} mother, and also the mother of: `);
+		} else {
+			div.append(`${His} mom, ${parentName("mother")}, is also the mother of: `);
+		}
+
+		div.append(App.StartingGirls.listOfSlavesWithParent('mother', slave.mother), " ");
+
+		linkArray.push(
+			App.UI.DOM.link(
+				"Reset",
+				() => {
+					slave.mother = 0;
+					refresh();
+				}
+			)
+		);
+
+		if ((slave.mother !== V.PC.ID) && (V.PC.mother !== slave.ID) && _allowPCFamily) {
+			linkArray.push(
+				App.UI.DOM.link(
+					"You",
+					() => {
+						setRel(V.PC);
+						refresh();
+					}
+				)
+			);
+		}
+
+		for (const potentialRel of V.slaves) {
+			if ((slave.mother !== potentialRel.ID) && (potentialRel.mother !== slave.ID) && potentialRel.newGamePlus === 0) {
+				linkArray.push(
+					App.UI.DOM.link(
+						potentialRel.slaveName,
+						() => {
+							setRel(potentialRel);
+							refresh();
+						}
+					)
+				);
+			}
+		}
+
+		div.append(App.UI.DOM.generateLinksStrip(linkArray));
+
+		return div;
+
+		function setRel(potentialRel) {
+			if (potentialRel.mother !== 0) {
+				slave.mother = potentialRel.mother;
+			} else if (slave.mother !== 0) {
+				potentialRel.mother = slave.mother;
+			} else {
+				slave.mother = -20 - 2*slave.ID;
+				potentialRel.mother = slave.mother;
+			}
+		}
+	}
+
+	function sameFatherAs() {
+		const div = document.createElement("div");
+		const linkArray = [];
+
+		if (slave.father === -1) {
+			div.append(`You are ${his} father, and also the father of: `);
+		} else {
+			div.append(`${His} dad, ${parentName("father")}, is also the father of: `);
+		}
+
+		div.append(App.StartingGirls.listOfSlavesWithParent('father', slave.father), " ");
+
+		linkArray.push(
+			App.UI.DOM.link(
+				"Reset",
+				() => {
+					slave.father = 0;
+					refresh();
+				}
+			)
+		);
+
+		if ((slave.father !== V.PC.ID) && (V.PC.father !== slave.ID) && _allowPCFamily) {
+			linkArray.push(
+				App.UI.DOM.link(
+					"You",
+					() => {
+						setRel(V.PC);
+						refresh();
+					}
+				)
+			);
+		}
+
+		for (const potentialRel of V.slaves) {
+			if ((slave.father !== potentialRel.ID) && (potentialRel.father !== slave.ID) && potentialRel.newGamePlus === 0) {
+				linkArray.push(
+					App.UI.DOM.link(
+						potentialRel.slaveName,
+						() => {
+							setRel(potentialRel);
+							refresh();
+						}
+					)
+				);
+			}
+		}
+
+		div.append(App.UI.DOM.generateLinksStrip(linkArray));
+
+		return div;
+
+		function setRel(potentialRel) {
+			if (potentialRel.father !== 0) {
+				slave.father = potentialRel.father;
+			} else if (slave.father !== 0) {
+				potentialRel.father = slave.father;
+			} else {
+				slave.father = -20 - 2*slave.ID;
+				potentialRel.father = slave.father;
+			}
+		}
+	}
+
+	function motherOfTheChildren() {
+		const div = document.createElement("div");
+		const linkArray = [];
+
+		div.append(motheredNames());
+
+		linkArray.push(
+			App.UI.DOM.link(
+				"Reset",
+				() => {
+					for (const s of V.slaves) {
+						if (s.mother === slave.ID && s.newGamePlus === 0) {
+							s.mother = 0;
+						}
+					}
+					if (V.PC.mother === slave.ID && _allowPCFamily) {
+						V.PC.mother = 0;
+					}
+					refresh();
+				}
+			)
+		);
+
+		if (slave.vagina >= 0) {
+			if (isNotMom(V.PC) && (slave.actualAge - V.PC.actualAge) >= V.fertilityAge && _allowPCFamily) {
+				linkArray.push(
+					App.UI.DOM.link(
+						"You",
+						() => {
+							setRel(V.PC);
+							refresh();
+						}
+					)
+				);
+			}
+
+			for (const potentialRel of V.slaves) {
+				if (isNotMom(potentialRel) && ((potentialRel.actualAge - slave.actualAge) >= potentialRel.pubertyAgeXX) && potentialRel.newGamePlus === 0) {
+					linkArray.push(
+						App.UI.DOM.link(
+							potentialRel.slaveName,
+							() => {
+								setRel(potentialRel);
+								refresh();
+							}
+						)
+					);
+				}
+			}
+		}
+
+		div.append(App.UI.DOM.generateLinksStrip(linkArray));
+
+		return div;
+
+		function setRel(potentialRel) {
+			potentialRel.mother = slave.ID;
+			if (slave.vagina === 0) {
+				slave.vagina = 1;
+			}
+		}
+	}
+
+	function motheredNames() {
+		const children = App.StartingGirls.listOfSlavesWithParent("mother", slave.ID);
+		if (children) {
+			return `${slave.slaveName} is the mother of these children: ${children}. Add: `;
+		} else {
+			return `${slave.slaveName} is not a mother to any children yet. Add: `;
+		}
+	}
+
+	function fatherOfTheChildren() {
+		const div = document.createElement("div");
+		const linkArray = [];
+
+		div.append(fatheredNames());
+
+		linkArray.push(
+			App.UI.DOM.link(
+				"Reset",
+				() => {
+					for (const s of V.slaves) {
+						if (s.father === slave.ID && s.newGamePlus === 0) {
+							s.father = 0;
+						}
+					}
+					if (V.PC.father === slave.ID && _allowPCFamily) {
+						V.PC.father = 0;
+					}
+					refresh();
+				}
+			)
+		);
+
+		if (slave.dick > 0) {
+			if (isNotDad(V.PC) && (slave.actualAge - V.PC.actualAge) >= V.potencyAge && _allowPCFamily) {
+				linkArray.push(
+					App.UI.DOM.link(
+						"You",
+						() => {
+							V.PC.father = slave.ID;
+							refresh();
+						}
+					)
+				);
+			}
+
+			for (const potentialRel of V.slaves) {
+				if (isNotDad(potentialRel) && ((potentialRel.actualAge - slave.actualAge) >= potentialRel.pubertyAgeXX) && potentialRel.newGamePlus === 0) {
+					linkArray.push(
+						App.UI.DOM.link(
+							potentialRel.slaveName,
+							() => {
+								potentialRel.father = slave.ID;
+								refresh();
+							}
+						)
+					);
+				}
+			}
+		}
+
+		div.append(App.UI.DOM.generateLinksStrip(linkArray));
+
+		return div;
+	}
+
+	function fatheredNames() {
+		const children = App.StartingGirls.listOfSlavesWithParent("father", slave.ID);
+		if (children) {
+			return `${slave.slaveName} is the father of these children: ${children}. Add: `;
+		} else {
+			return `${slave.slaveName} is not a father to any children yet. Add: `;
+		}
+	}
+
+	function resetAllRelativesOfPC() {
+		return App.UI.DOM.makeElement(
+			"div",
+			App.UI.DOM.link(
+				"Reset ALL PC Relatives",
+				() => {
+					let _sameMother = 0;
+					let _sameFather = 0;
+
+					for (const s of V.slaves) {
+						if (s.newGamePlus === 0) {
+							if (s.mother === V.PC.ID) {
+								s.mother = 0;
+							}
+							if (s.father === V.PC.ID) {
+								s.father = 0;
+							}
+							if (s.mother === V.PC.mother) {
+								_sameMother++;
+							}
+							if (s.father === V.PC.father) {
+								_sameFather++;
+							}
+						}
+					}
+					if (_sameMother === 0 && slave.mother === V.PC.mother) {
+						slave.mother = 0;
+					}
+					if (_sameFather === 0 && slave.father === V.PC.father) {
+						slave.father = 0;
+					}
+					for (let _efw = 0; (_efw < V.slaves.length && (_sameMother === 1 || _sameFather === 1)); _efw++) {
+						if (V.slaves[_efw].newGamePlus === 0) {
+							if (V.slaves[_efw].mother === V.PC.mother && _sameMother === 1) {
+								V.slaves[_efw].mother = 0;
+								_sameMother = 0;
+							}
+							if (V.slaves[_efw].father === V.PC.father && _sameFather === 1) {
+								V.slaves[_efw].father = 0;
+								_sameFather = 0;
+							}
+						}
+					}
+					if (slave.mother === V.PC.ID) {
+						slave.mother = 0;
+					}
+					if (slave.father === V.PC.ID) {
+						slave.father = 0;
+					}
+					V.PC.father = 0;
+					V.PC.mother = 0;
+					refresh();
+				}
+			)
+		);
+	}
+
+	function makeElWithID(id, elType = "div") {
+		const el = document.createElement(elType);
+		el.id = id;
+		return el;
+	}
+
+	/**
+	 *
+	 * @param {string} rel "mother", etc.  Property of slave object.
+	 */
+	function parentName(rel) {
+		if (slave[rel] === V.PC.ID) {
+			return `You`;
+		} else {
+			const relObj = getSlave(slave[rel]);
+			return relObj ? relObj.slaveName : "unknown to you";
+		}
+	}
+
+	function refresh() {
+		jQuery('#family-table').replaceWith(makeFamilyTable);
+		jQuery('#dont-be-dumb').empty().append(App.UI.DOM.makeElement("div", "You will break things by making impossible relations such as being your own father. If you do this, clearing all PC relations will fix it. Probably.", "note"));
+		App.StartingGirls.uncommittedFamilyTree(slave);
+	}
+};
diff --git a/src/npc/startingGirls/startingGirls.js b/src/npc/startingGirls/startingGirls.js
index 9e0206d184819d71331bde334ee137b42ca44258..10c209d4dca62a800339ec28c6379b4630d5bce6 100644
--- a/src/npc/startingGirls/startingGirls.js
+++ b/src/npc/startingGirls/startingGirls.js
@@ -37,11 +37,6 @@ App.StartingGirls.cleanup = function(slave) {
 
 	resetEyeColor(slave, "both");
 	slave.origRace = slave.race;
-	slave.skin = slave.origSkin;
-	slave.hColor = slave.origHColor;
-	slave.eyebrowHColor = slave.hColor;
-	slave.pubicHColor = slave.hColor;
-	slave.underArmHColor = slave.hColor;
 
 	if (slave.balls === 0) {
 		slave.scrotum = 0;
@@ -118,60 +113,95 @@ App.StartingGirls.applyCareerBonus = function(slave) {
 	}
 
 	if (V.applyCareerBonus) {
-		if (V.PC.career === "capitalist") {
-			if (slave.skill.whoring < 60) {
-				slave.skill.whoring += 20;
-			}
-		} else if (V.PC.career === "mercenary") {
-			slave.trust += 10;
-		} else if (V.PC.career === "slaver") {
-			slave.devotion += 10;
-		} else if (V.PC.career === "medicine") {
-			slave.boobs += 600;
-			slave.boobsImplant += 600;
-			slave.boobsImplantType = "normal";
-			slave.butt += 2;
-			slave.buttImplant += 2;
-			slave.buttImplantType = "normal";
-			slave.lips += 10;
-			slave.lipsImplant += 10;
-			slave.waist = -55;
-		} else if (V.PC.career === "celebrity") {
-			if (slave.skill.entertainment < 60) {
-				slave.skill.entertainment += 20;
-			}
-		} else if (V.PC.career === "servant") {
-			slave.trust += 10;
-			slave.devotion += 10;
-		} else if (V.PC.career === "gang") {
-			improveCondition(slave, 5);
-			if (slave.skill.combat < 1) {
-				slave.skill.combat += 1;
-			}
-		} else if (V.PC.career === "BlackHat") {
-			slave.intelligence += 40;
-			if (slave.intelligence > 100) {
-				slave.intelligence = 100;
-			}
-		} else if (V.PC.career === "escort") {
-			if (slave.skill.entertainment < 60) {
-				slave.skill.entertainment += 20;
-			}
-			if (slave.skill.whoring < 60) {
-				slave.skill.whoring += 20;
-			}
-			applySexSkillBonus();
-		} else if (V.PC.career === "wealth") {
-			applySexSkillBonus();
-		} else {
-			slave.devotion += 10;
-			if (slave.skill.whoring < 60) {
-				slave.skill.whoring += 20;
-			}
-			if (slave.skill.entertainment < 60) {
-				slave.skill.entertainment += 20;
-			}
-			applySexSkillBonus();
+		switch(V.PC.career) {
+			case "capitalist":
+			case "entrepreneur":
+			case "business kid":
+				if (slave.skill.whoring < 60) {
+					slave.skill.whoring += 20;
+				}
+				break;
+			case "mercenary":
+			case "recruit":
+			case "child soldier":
+				if (slave.devotion > 20) {
+					slave.trust += 10;
+				} else {
+					slave.trust -= 10;
+				}
+				break;
+			case "slaver":
+			case "slave overseer":
+			case "slave tender":
+				slave.devotion += 10;
+				break;
+			case "medicine":
+			case "medical assistant":
+			case "nurse":
+				slave.boobs += 600;
+				slave.boobsImplant += 600;
+				slave.boobsImplantType = "normal";
+				slave.butt += 2;
+				slave.buttImplant += 2;
+				slave.buttImplantType = "normal";
+				slave.lips += 10;
+				slave.lipsImplant += 10;
+				slave.waist = -55;
+				break;
+			case "celebrity":
+			case "rising star":
+			case "child star":
+				if (slave.skill.entertainment < 60) {
+					slave.skill.entertainment += 20;
+				}
+				break;
+			case "servant":
+			case "handmaiden":
+			case "child servant":
+				slave.trust += 10;
+				slave.devotion += 10;
+				break;
+			case "gang":
+			case "hoodlum":
+			case "street urchin":
+				improveCondition(slave, 5);
+				if (slave.skill.combat < 1) {
+					slave.skill.combat += 1;
+				}
+				break;
+			case "BlackHat":
+			case "hacker":
+			case "script kiddy":
+				slave.intelligence += 40;
+				if (slave.intelligence > 100) {
+					slave.intelligence = 100;
+				}
+				break;
+			case "escort":
+			case "prostitute":
+			case "child prostitute":
+				if (slave.skill.entertainment < 60) {
+					slave.skill.entertainment += 20;
+				}
+				if (slave.skill.whoring < 60) {
+					slave.skill.whoring += 20;
+				}
+				applySexSkillBonus();
+				break;
+			case "wealth":
+			case "trust fund":
+			case "rich kid":
+				applySexSkillBonus();
+				break;
+			default:
+				slave.devotion += 10;
+				if (slave.skill.whoring < 60) {
+					slave.skill.whoring += 20;
+				}
+				if (slave.skill.entertainment < 60) {
+					slave.skill.entertainment += 20;
+				}
+				applySexSkillBonus();
 		}
 	}
 };
@@ -217,69 +247,1105 @@ App.StartingGirls.uncommittedFamilyTree = function(slave) {
 	renderFamilyTree(tSlaves, slave.ID);
 };
 
-App.StartingGirls.career = function(slave) {
-	let el = new DocumentFragment();
-	let text;
-	let pullDown;
+App.StartingGirls.applyPlayerOrigin = function(slave) {
+	switch (V.PC.career) {
+		case "wealth":
+		case "trust fund":
+		case "rich kid":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "You bet your body on a sure hand, only to lose. It turns out you could fuck yourself, and not only that, get yourself pregnant.";
+				slave.custom.tattoo = "$He has a small tattoo of a losing hand of cards on the nape of $his neck.";
+			} else if (slave.mother === -1) {
+				slave.origin = "You bet your body on a sure hand, only to lose. Nine months later, your $daughter was born.";
+				slave.custom.tattoo = "$He has a small tattoo of a losing hand of cards on the nape of $his neck.";
+			} else if (slave.father === -1) {
+				slave.origin = "You won a sexual fling with $his mother after winning at cards, a gamble that ultimately burdened you.";
+				slave.custom.tattoo = "$He has a small tattoo of a poor hand of cards on the nape of $his neck.";
+			} else {
+				slave.origin = "You won $him at cards, a memento from your life as one of the idle rich before you became an arcology owner.";
+				slave.custom.tattoo = "$He has a small tattoo of a winning hand of cards on the nape of $his neck.";
+			}
+			break;
+		case "capitalist":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "To solidify an investment in hermaphrodite self-fertility, you took part in a successful test trial. Nine months later your $daughter was born.";
+			} else if (slave.mother === -1) {
+				slave.origin = "Sometimes it pays off to use your body in business deals, and other times you end up burdened with child. $He is the result of the latter.";
+			} else if (slave.father === -1) {
+				slave.origin = "To seal a business deal, a client asked you to knock her up. $He is the end result of that fling.";
+			} else {
+				slave.origin = "You acquired $him in the last stages of your career as a successful venture capitalist.";
+			}
+			slave.custom.tattoo = "$He has a famous corporate logo tattooed on the nape of $his neck.";
+			break;
+		case "entrepreneur":
+		case "business kid":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "To stand a chance in snagging an investment in hermaphrodite self-fertility, you took part in a successful test trial. Nine months later your $daughter was born.";
+			} else if (slave.mother === -1) {
+				slave.origin = "Sometimes it pays off to use your body in business deals, and other times you end up burdened with child. $He is the result of the latter.";
+			} else if (slave.father === -1) {
+				slave.origin = "To seal a business deal, a client asked you to knock her up. $He is the end result of that fling.";
+			} else {
+				slave.origin = "You acquired $him in the last stages of your career as a budding entrepreneur.";
+			}
+			slave.custom.tattoo = "$He has your business logo tattooed on the nape of $his neck.";
+			break;
+		case "mercenary":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "Drugs and alcohol can be a potent mix; the night that followed it can sometimes be hard to remember. Needless to say, once your belly began swelling with $him, you had to temporarily switch to a desk job for your mercenary group.";
+			} else if (slave.mother === -1) {
+				slave.origin = "Drugs and alcohol can be a potent mix; the night that followed it can sometimes be hard to remember. Needless to say, once your belly began swelling with $him, you had to temporarily switch to a desk job for your mercenary group.";
+			} else if (slave.father === -1) {
+				slave.origin = "A trip to a brothel after a mission resulted in an unexpected surprise years later.";
+			} else {
+				slave.origin = "You acquired $him in the last stages of your career as a noted private military contractor.";
+			}
+			slave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.";
+			break;
+		case "recruit":
+		case "child soldier":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "Drugs and alcohol can be a potent mix; the night that followed it can sometimes be hard to remember. Needless to say, once your belly began swelling with $him, your chances at further promotion become rather slim.";
+			} else if (slave.mother === -1) {
+				slave.origin = "Drugs and alcohol can be a potent mix; the night that followed it can sometimes be hard to remember. Needless to say, once your belly began swelling with $him, your chances at further promotion become rather slim.";
+			} else if (slave.father === -1) {
+				slave.origin = "A trip to a brothel after a mission resulted in an unexpected surprise years later.";
+			} else {
+				slave.origin = "You acquired $him in the last stages of your career as a soldier for hire.";
+			}
+			slave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.";
+			break;
+		case "slaver":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "You never thought you would be capable of impregnating yourself, but years of pleasuring yourself with yourself after missions managed to create $him.";
+			} else if (slave.mother === -1) {
+				slave.origin = "A fresh capture once overpowered you and had his way with you. You kept $him as a painful reminder to never lower your guard again.";
+			} else if (slave.father === -1) {
+				slave.origin = "Your slaving troop kept several girls as fucktoys; you sired $him in your favorite.";
+			} else {
+				slave.origin = "You enslaved $him personally during the last stages of your slaving career.";
+			}
+			slave.custom.tattoo = "$He has your tiny slaving emblem tattooed behind $his left ear.";
+			break;
+		case "slave overseer":
+		case "slave tender":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "You never thought you would be capable of impregnating yourself, but years of pleasuring yourself with yourself to slaves being broken in proved otherwise.";
+			} else if (slave.mother === -1) {
+				slave.origin = "A fresh capture once overpowered you and had his way with you. You kept $him as a painful reminder to always watch your back.";
+			} else if (slave.father === -1) {
+				slave.origin = "Members of your slaving group were expected to take part in slave breaking. Sometimes accidents like $him happened. This time it was on you.";
+			} else {
+				slave.origin = "You got to keep $him as a going away present when you left the slaving group.";
+			}
+			slave.custom.tattoo = "$He has the tiny slaving emblem of the group you worked for tattooed behind $his left ear.";
+			break;
+		case "engineer":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "You sired $him in yourself after an arcology owner, impressed by your work, rewarded you with a night you'll never forget.";
+			} else if (slave.mother === -1) {
+				slave.origin = "You conceived $him after a male arcology owner, impressed by your work, rewarded you with a night you'll never forget.";
+			} else if (slave.father === -1) {
+				slave.origin = "You sired $him after a female arcology owner, impressed by your work, rewarded you with a night you'll never forget.";
+			} else {
+				slave.origin = "You received $him as a gift from an arcology owner impressed by your work.";
+			}
+			slave.custom.tattoo = "$He has the geometric symbol of your old arcology engineering firm laser tattooed into the nape of $his neck.";
+			break;
+		case "construction":
+		case "worksite helper":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "You sired $him in yourself after a string of women rejected your catcalls.";
+			} else if (slave.mother === -1) {
+				slave.origin = "You conceived $him during a job well done celebration with your coworkers.";
+			} else if (slave.father === -1) {
+				slave.origin = "A catcall turned sexual romp lead to an unexpected surprise nine months later.";
+			} else {
+				slave.origin = "You received $him as a gift for all the work you gave the construction firm.";
+			}
+			slave.custom.tattoo = "$He has the logo of the construction firm you worked with laser tattooed into the nape of $his neck.";
+			break;
+		case "medicine":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "$He was conceived after a successful experiment in hermaphrodite self-reproduction.";
+			} else if (slave.mother === -1) {
+				slave.origin = "$He was conceived after a botched birth control experiment early in your career.";
+			} else if (slave.father === -1) {
+				slave.origin = "$He is the product of an affair with a cute nurse who assisted you in more ways than one.";
+			} else {
+				slave.origin = "You kept $him after $his owner failed to pay your bill for performing surgery on $him.";
+			}
+			slave.custom.tattoo = "$He has your personal symbol tattooed on the back of $his neck: it's invisible to the naked eye, but shows up starkly on medical imaging.";
+			break;
+		case "medical assistant":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "$He was conceived after a successful experiment in hermaphrodite self-reproduction.";
+			} else if (slave.mother === -1) {
+				slave.origin = "$He was the result of a backfired surrogacy program.";
+			} else if (slave.father === -1) {
+				slave.origin = "$He is the product of an affair with a cute nurse you worked with.";
+			} else {
+				slave.origin = "You got to keep $him when $he was given as unwanted payment to the practice.";
+			}
+			slave.custom.tattoo = "$He has the symbol of the practice you worked at tattooed on the back of $his neck: it's invisible to the naked eye, but shows up starkly on medical imaging.";
+			break;
+		case "nurse":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "$He was conceived after some self-experimentation in hermaphrodite self-reproduction.";
+			} else if (slave.mother === -1) {
+				slave.origin = "$He took root in your womb when you decided to play with the IFV tools.";
+			} else if (slave.father === -1) {
+				slave.origin = "You provided the sperm for $his conception, but the client backed out post-birth so you offered to look after $him.";
+			} else {
+				slave.origin = "You got to keep $him when $he was given as unwanted payment to the practice.";
+			}
+			slave.custom.tattoo = "$He has the symbol of the practice you worked at tattooed on the back of $his neck: it's invisible to the naked eye, but shows up starkly on medical imaging.";
+			break;
+		case "celebrity":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "$He was conceived after a night of partying and a drunken bet. $He nearly killed your career.";
+				slave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.";
+			} else if (slave.mother === -1) {
+				slave.origin = "$He was conceived after a night of partying and a torn condom. $He nearly killed your career.";
+				slave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.";
+			} else if (slave.father === -1) {
+				slave.origin = "$He was conceived after a night of partying and a torn condom.";
+				slave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.";
+			} else {
+				slave.origin = "$He was one of your groupies during your celebrity career.";
+				slave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck. $He got the tattoo when $he was still free.";
+			}
+			break;
+		case "rising star":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "A casting agent told you to go fuck yourself if you wanted the lead role. You complied, but your resulting pregnancy forced you to be an extra.";
+				slave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.";
+			} else if (slave.mother === -1) {
+				slave.origin = "A director offered you a lead role in exchange for your body. You complied, but your resulting pregnancy forced you to be an extra.";
+				slave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.";
+			} else if (slave.father === -1) {
+				slave.origin = "$He was conceived after a night of partying and a torn condom. As a bonus, the girl you knocked up was no longer in competition with you for roles.";
+				slave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.";
+			} else {
+				slave.origin = "$He was one of your groupies during your celebrity career.";
+				slave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck. $He got the tattoo when $he was still free.";
+			}
+			break;
+		case "child star":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "A sleazy casting agent had you fuck yourself to get a major role. You complied, but your resulting pregnancy ruined your chances.";
+				slave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.";
+			} else if (slave.mother === -1) {
+				slave.origin = "A sleazy director offered you an important role if you had sex with him. Needless to say, a knocked up young girl doesn't get many roles.";
+				slave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.";
+			} else if (slave.father === -1) {
+				slave.origin = "One of your older fans got the chance to meet you. You left her more than she bargained for.";
+				slave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.";
+			} else {
+				slave.origin = "$He was a huge fan of yours during your celebrity career.";
+				slave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck. $He got the tattoo when $he was still free.";
+			}
+			break;
+		case "escort":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "A client paid you a large sum of credits to prove you could literally fuck yourself. $He is the result of that lucrative night.";
+				slave.custom.tattoo = "$He has your custom emblem tattooed on $his left breast.";
+			} else if (slave.mother === -1) {
+				slave.origin = "$He was the result of unprotected sex with a client. He paid you quite well to enjoy your body as you grew heavy with his child.";
+				slave.custom.tattoo = "$He has the number of times $his father came in you while you were pregnant with $him tattooed down $his back.";
+			} else if (slave.father === -1) {
+				slave.origin = "$He was the result of unprotected sex with a client. $His mother tracked you down years after $his birth to force $him upon you.";
+				slave.custom.tattoo = "$He has your name angrily tattooed on $his right shoulder.";
+			} else {
+				slave.origin = "$He was a fellow escort you were popular with.";
+				slave.custom.tattoo = "$He has your custom emblem tattooed on $his left breast. $He got the tattoo after starring in a porno with you.";
+			}
+			if (slave.preg > 0) {
+				if (slave.pregSource !== -1) {
+					slave.pregSource = -5;
+				}
+			}
+			break;
+		case "prostitute":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "A customer paid you a large sum of credits to prove you could literally fuck yourself. $He is the result of that night.";
+				slave.custom.tattoo = "$He has your ID number tattooed on $his right breast.";
+			} else if (slave.mother === -1) {
+				slave.origin = "$He was the result of unprotected sex with a customer. Birth control was completely optional at the brothel.";
+				slave.custom.tattoo = "$He has your ID number tattooed on $his right breast.";
+			} else if (slave.father === -1) {
+				slave.origin = "$He was the result of unprotected sex with a customer. $His mother tracked you down years after $his birth to force $him upon you.";
+				slave.custom.tattoo = "$He has your name angrily tattooed on $his right shoulder.";
+			} else {
+				slave.origin = "$He was a fellow prostitute you often bunked with.";
+				slave.custom.tattoo = "$He has $his ID number tattooed on $his left breast.";
+			}
+			if (slave.preg > 0) {
+				if (slave.pregSource !== -1) {
+					slave.pregSource = -5;
+				}
+			}
+			break;
+		case "child prostitute":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "A customer paid you a large sum of credits to prove you could literally fuck yourself. $He is the result of that night much to everybody's surprise.";
+				slave.custom.tattoo = "$He has your ID number tattooed on $his right breast.";
+			} else if (slave.mother === -1) {
+				slave.origin = "$He was the result of unprotected sex with a customer. Turns out you weren't too young to get pregnant.";
+				slave.custom.tattoo = "$He has your ID number tattooed on $his right breast.";
+			} else if (slave.father === -1) {
+				slave.origin = "$He was the result of unprotected sex with a customer. $His mother abandoned your child on the brothel's doorstep.";
+				slave.custom.tattoo = "$He has your ID number tattooed on $his right breast.";
+			} else {
+				if (slave.actualAge >= V.PC.age + 10) {
+					slave.origin = "$He was a fellow prostitute who was like a parent to you.";
+				} else {
+					slave.origin = "$He was a fellow underage prostitute you often played with.";
+				}
+				slave.custom.tattoo = "$He has $his ID number tattooed on $his left breast.";
+			}
+			if (slave.preg > 0) {
+				if (slave.pregSource !== -1) {
+					slave.pregSource = -5;
+				}
+			}
+			break;
+		case "gang":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "$He was the result of a night of hard drugs and unprotected sex after a big score. It took quite a bit of alcohol to come to terms with drunkenly knocking yourself up.";
+			} else if (slave.mother === -1) {
+				slave.origin = "$He was the result of a night of hard drugs and unprotected sex after a big score.";
+			} else if (slave.father === -1) {
+				slave.origin = "$He was born from one of your sex toys you knocked up.";
+			} else {
+				slave.origin = "You captured $him during your transition to the arcology";
+			}
+			slave.custom.tattoo = "$He has your former gang's sign tattooed on $his neck.";
+			break;
+		case "hoodlum":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "Getting drunk and taking bets on what you can or cannot stick in your holes is not something you what to explain to a resulting child.";
+			} else if (slave.mother === -1) {
+				slave.origin = "It wasn't uncommon to have to trade sex for favors, and in $his case, you ended up with more than you bargained for.";
+			} else if (slave.father === -1) {
+				slave.origin = "Given all the casual unprotected sex, it's not really a surprise you're a daddy.";
+			} else {
+				slave.origin = "You took $him from the gang during your transition to the arcology";
+			}
+			slave.custom.tattoo = "$He has the gang's sign that you rolled with tattooed on $his neck.";
+			break;
+		case "street urchin":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "In order to gain any favors from the gang, you often had to appease their demands. They had quite the laugh when they managed to get you to knock yourself up for them.";
+			} else if (slave.mother === -1) {
+				slave.origin = "It wasn't uncommon to pass time fucking in back alleys, and without any access to protection, you eventually found yourself with child.";
+			} else if (slave.father === -1) {
+				slave.origin = "It wasn't uncommon to pass time fucking in back alleys, but without any access to protection, pregnancies happened.";
+			} else {
+				slave.origin = "You took $him with you instead of leaving $him on the streets.";
+			}
+			slave.custom.tattoo = "$He has the gang's sign that you associated with tattooed on $his neck.";
+			break;
+		case "servant":
+		case "handmaiden":
+		case "child servant":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "Your late Master took pleasure in using his servants in creative ways. He inseminated you with your own sperm, and nine months later, your $daughter was born.";
+			} else if (slave.mother === -1) {
+				slave.origin = "$He was another of your late Master's servants. $He spent nine months in your womb, courtesy of your Master.";
+			} else if (slave.father === -1) {
+				slave.origin = "$He was another of your late Master's servants. Your Master permitted you to knock up $his mother.";
+			} else if (V.PC.vagina !== -1) {
+				slave.origin = "$He was another of your late Master's servants. $He helped you give birth to his child.";
+			} else {
+				slave.origin = "$He was another of your late Master's servants.";
+			}
+			slave.custom.tattoo = "$He has your Master's brand on $his left breast.";
+			if (slave.preg > 0) {
+				if (slave.pregSource !== -1) {
+					slave.pregSource = -3;
+				}
+			}
+			break;
+		case "BlackHat":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "$He was the result of a night of hard celebration after a big score under the glow of monitors and the calming hum of 750 RPM fans. It took quite a bit of alcohol to come to terms with drunkenly knocking yourself up.";
+			} else if (slave.mother === -1) {
+				slave.origin = "$He was the result of an intruder brute forcing your firewall, overloading your pleasure sensors, and allowing a corrupted packet to slip by. With a quick wipe of your RAM and cache with some powerful liquor, you have no idea who planted $him in your womb.";
+			} else if (slave.father === -1) {
+				slave.origin = "$He was born out of a trade for secure data access. Nine months later, your $daughter was born.";
+			} else {
+				slave.origin = "$He was a case officer you captured after going dark.";
+			}
+			slave.custom.tattoo = "$He has your former digital calling card tattooed on $his neck.";
+			break;
+		case "hacker":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "You got the idea of fucking yourself after watching some private videos you acquired. It took quite a bit of alcohol to come to terms with drunkenly knocking yourself up.";
+			} else if (slave.mother === -1) {
+				slave.origin = "What was intended to be a lucrative scam resulted in you bumping uglies with the bigger fish in the pond. $He is the result of that trist.";
+			} else if (slave.father === -1) {
+				slave.origin = "A little data manipulation and suddenly you were the sperm donor in place of $his intended father. Years later $he managed to find $his way to you.";
+			} else {
+				slave.origin = "$He was someone you wanted to keep quiet after going dark.";
+			}
+			slave.custom.tattoo = "$He has your encoded online handle tattooed on $his neck.";
+			break;
+		case "script kiddy":
+			if (slave.mother === -1 && slave.father === -1) {
+				slave.origin = "Just because you saw it on the internet doesn't mean you should try it. You did and now you are both a proud mother and father.";
+			} else if (slave.mother === -1) {
+				slave.origin = "You got a little sloppy with covering your tracks allowing a slighted rival to track you down. The resulting confrontation wasn't all that unpleasant, but the following couple years were hell.";
+			} else if (slave.father === -1) {
+				slave.origin = "You wanted to see how easily you could trick some girl into thinking you were famous. You ended up with a $daughter from the resulting sex.";
+			} else {
+				slave.origin = "$He was an unfortunate sap you tricked into enslaving themselves.";
+			}
+			slave.custom.tattoo = "$He has your online handle tattooed on $his neck.";
+			break;
+		default:
+			slave.origin = "You won $him at cards, a memento from your life as one of the idle rich before you became an arcology owner.";
+			slave.custom.tattoo = "$He has the silhouette of an arcology tattooed on the nape of $his neck.";
+	}
+	if (slave.fetish === "mindbroken") {
+		if (!isAmputee(slave)) {
+			slave.origin = "You brought $him into the arcology mindbroken, little more than a walking collection of fuckable holes.";
+		} else {
+			slave.origin = "You brought $him into the arcology mindbroken, little more than a human onahole.";
+		}
+	}
+};
+
+App.StartingGirls.physical = function(slave) {
+	const el = new DocumentFragment();
+	const {he} = getPronouns(slave);
+	const options = new App.UI.OptionsGroup();
+	let option;
+
+	options.addOption("Condition", "condition", slave.health)
+		.addValueList([["Unhealthy", -40], ["Healthy", 0], ["Very healthy", 40], ["Extremely healthy", 80]]);
+
+	options.addOption(`Height: ${heightToEitherUnit(slave.height)}`, "height", slave).showTextBox({unit: "cm"})
+		.addRange(145, 150, "<", "Petite")
+		.addRange(155, 160, "<", "Short")
+		.addRange(165, 170, "<", "Average")
+		.addRange(180, 185, "<", "Tall")
+		.addRange(190, 185, ">=", "Very tall");
+	option = options.addOption(`Average height for a ${slave.actualAge} year old """is ${heightToEitherUnit(Math.round(Height.mean(slave)))}"""`)
+		.customButton(
+			"Make average",
+			() => resyncSlaveHight(slave),
+			""
+		);
+	if (V.cheatMode === 1) {
+		option.customButton(
+			"Make dwarf",
+			() => slave.height = Height.random(slave, {limitMult: [-4, -1], spread: 0.15}),
+			""
+		)
+			.customButton(
+				"Make giant",
+				() => slave.height = Height.random(slave, {limitMult: [3, 10], spread: 0.15}),
+				""
+			);
+	}
 
+	options.addOption("Weight", "weight", slave)
+		.addRange(-100, -95, "<", "Emaciated")
+		.addRange(-50, -30, "<", "Skinny")
+		.addRange(-20, -10, "<", "Thin")
+		.addRange(0, 10, "<", "Average")
+		.addRange(20, 30, "<", "Plush")
+		.addRange(50, 95, "<", "Chubby")
+		.addRange(100, 130, "<", "Fat")
+		.addRange(140, 160, "<", "Obese")
+		.addRange(180, 190, "<", "Super obese")
+		.addRange(200, 190, ">=", "Dangerously obese");
+
+	options.addOption("Muscles", "muscles", slave)
+		.addRange(-100, -96, "<", "Frail")
+		.addRange(-66, -51, "<", "Very weak")
+		.addRange(-41, -6, "<", "Weak")
+		.addRange(0, 5, "<", "Normal")
+		.addRange(20, 30, "<", "Toned")
+		.addRange(40, 50, "<", "Well built")
+		.addRange(65, 95, "<", "Quite muscular")
+		.addRange(100, 95, ">=", "Ripped");
+
+	options.addOption("Waist", "waist", slave)
+		.addRange(-100, -95, "<", "	Absurd")
+		.addRange(-55, -40, "<", "Hourglass")
+		.addRange(-25, -15, "<", "Feminine")
+		.addRange(0, 10, "<", "Average")
+		.addRange(15, 40, "<", "Unattractive")
+		.addRange(55, 95, "<", "Ugly")
+		.addRange(100, 10, ">=", "Masculine");
+
+	option = options.addOption("Facial appearance", "faceShape", slave)
+		.addValue("Normal", "normal");
+	if (V.seeDicks !== 0) {
+		option.addValue("Masculine", "masculine");
+	}
+	option.addValueList([["Androgynous", "androgynous"], ["Cute", "cute"], ["Sensual", "sensual"], ["Exotic", "exotic"]]);
+
+	options.addOption("Facial attractiveness", "face", slave)
+		.addRange(-100, -95, "<", "Very ugly")
+		.addRange(-55, -40, "<", "Ugly")
+		.addRange(-15, -10, "<", "Unattractive")
+		.addRange(0, 10, "<", "Average")
+		.addRange(15, 40, "<", "Attractive")
+		.addRange(55, 95, "<", "Beautiful")
+		.addRange(100, 95, ">=", "Very beautiful");
+
+	option = options.addOption("Lips", "lips", slave)
+		.addRange(5, 10, "<", "Thin")
+		.addRange(15, 20, "<", "Normal")
+		.addRange(25, 40, "<", "Pretty")
+		.addRange(55, 70, "<", "Plush");
+	if (V.seeExtreme === 1) {
+		option.addRange(85, 95, "<", "Huge")
+			.addRange(100, 95, ">=", "Facepussy");
+	} else {
+		option.addRange(85, 70, ">=", "Huge");
+	}
+
+	options.addOption("Voice", "voice", slave)
+		.addValueList([["Mute", 0], ["Deep", 1], ["Normal", 2], ["High", 3]]);
+
+	if (slave.voice !== 0) {
+		options.addOption(V.language, "accent", slave)
+			.addValueList([
+				["Unaccented", 0],
+				[`Pretty ${aNational(slave.nationality)} accent`, 1],
+				[`Thick ${aNational(slave.nationality)} accent`, 2],
+				["Not fluent", 3]
+			]);
+	}
+
+	option = options.addOption("Teeth", "teeth", slave)
+		.addValueList([
+			["Crooked", "crooked"],
+			["Gapped", "gapped"],
+			["Braces", "straightening braces"]
+		]);
+	if (slave.physicalAge >= 12) {
+		if (slave.teeth === "baby" || slave.teeth === "mixed") {
+			slave.teeth = "normal";
+		}
+		option.addValue("Straight", "normal");
+	} else if (slave.physicalAge >= 6) {
+		if (slave.teeth === "baby" || slave.teeth === "normal" || slave.teeth === "") {
+			slave.teeth = "mixed";
+		}
+		option.addValue("Mixed adult & child", "mixed");
+	} else {
+		if (slave.teeth === "mixed" || slave.teeth === "normal" || slave.teeth === "") {
+			slave.teeth = "mixed";
+		}
+		option.addValue("Baby", "baby");
+	}
+
+	options.addOption("Breasts", "boobs", slave).showTextBox({unit: "CCs"})
+		.addRange(200, 200, "<=", "Flat (AA-cup)")
+		.addRange(300, 300, "<=", "Small (A-cup)")
+		.addRange(400, 400, "<=", "Medium (B-cup)")
+		.addRange(500, 500, "<=", "Healthy (C-cup)")
+		.addRange(800, 800, "<=", "Large (DD-cup)")
+		.addRange(1200, 1200, "<=", "Very Large (G-cup)")
+		.addRange(2050, 2050, "<=", "Huge (K-cup)")
+		.addRange(3950, 3950, "<=", "Massive (Q-cup)")
+		.addRange(6000, 6000, "<=", "Monstrous")
+		.addRange(8000, 6000, ">", "Science Experiment");
+
+	options.addOption("Natural shape", "boobShape", slave)
+		.addValueList([
+			["Normal", "normal"],
+			["Perky", "perky"],
+			["Torpedo-shaped", "torpedo-shaped"],
+			["Wide-set", "wide-set"],
+			["Downward-facing", "downward-facing"],
+			["Saggy", "saggy"]
+		]);
+
+	options.addOption("Lactation", "lactation", slave)
+		.addValue("Artificial", 2, () => slave.lactationDuration = 2)
+		.addValue("Natural", 1, () => slave.lactationDuration = 2)
+		.addValue("None", 0);
+
+	options.addOption("Nipples", "nipples", slave)
+		.addValueList([["Tiny", "tiny"], ["Cute", "cute"], ["Puffy", "puffy"], ["Partially Inverted", "partially inverted"], ["Inverted", "inverted"], ["Huge", "huge"]]);
+
+	options.addOption("Areolae", "areolae", slave)
+		.addValueList([["Normal", 0], ["Large", 1], ["Wide", 2], ["Huge", 3], ["Massive", 4]]);
+
+	options.addOption("Shoulders", "shoulders", slave)
+		.addValueList([["Very narrow", -2], ["Narrow", -1], ["Feminine", 0], ["Broad", 1], ["Very broad", 2]]);
+
+	options.addOption("Hips", "hips", slave)
+		.addValueList([["Very narrow", -2], ["Narrow", -1], ["Normal", 0], ["Broad", 1], ["Very broad", 2]]);
+
+	options.addOption("Butt", "butt", slave)
+		.addValueList([["Flat", 0], ["Small", 1], ["Plump", 2], ["Big", 3], ["Huge", 4], ["Enormous", 5], ["Gigantic", 6], ["Massive", 7]]);
+
+	options.addOption("Anus", "anus", slave)
+		.addValueList([["Virgin", 0], ["Normal", 1], ["Veteran", 2], ["Gaping", 3]]);
+
+	if (slave.anus > 0) {
+		let comment;
+		if (slave.analArea <= slave.anus) {
+			comment = "Recently stretched to current size.";
+		} else if (slave.analArea - slave.anus === 1) {
+			comment = "Used to current size.";
+		} else {
+			comment = "Very broad.";
+		}
+		options.addOption("External anus appearance", "anus", slave)
+			.addValueList([
+				["Recently stretched", slave.analArea = slave.anus],
+				["Used to current size", slave.analArea = slave.anus+1],
+				["Very broad", slave.analArea = slave.anus+2],
+			]).addComment(comment);
+	}
+
+	options.addOption("Vagina", "vagina", slave)
+		.addValue("No vagina", -1, () => {
+			slave.preg = 0;
+			WombFlush(slave);
+			slave.belly = 0;
+			slave.bellyPreg = 0;
+			slave.pubertyXX = 0;
+			slave.pubertyAgeXX = V.fertilityAge;
+			slave.ovaries= 0;
+		})
+		.addValue("Virgin", 0, () => {
+			slave.preg = -1;
+			slave.belly = 0;
+			slave.bellyPreg = 0;
+			slave.ovaries = 1;
+		})
+		.addValue("Normal", 1, () => {
+			slave.preg = -1;
+			slave.belly = 0;
+			slave.bellyPreg = 0;
+			slave.ovaries = 1;
+		})
+		.addValue("Veteran", 2, () => {
+			slave.preg = -1;
+			slave.belly = 0;
+			slave.bellyPreg = 0;
+			slave.ovaries = 1;
+		})
+		.addValue("Gaping", 3, () => {
+			slave.preg = -1;
+			slave.belly = 0;
+			slave.bellyPreg = 0;
+			slave.ovaries = 1;
+		});
+
+	if (slave.vagina > -1) {
+		if (slave.dick === 0) {
+			options.addOption("Clit", "clit", slave)
+				.addValueList([["Normal", 0], ["Large", 1], ["Huge", 2]]);
+		}
+
+		options.addOption("Labia", "labia", slave)
+			.addValueList([["Normal", 0], ["Large", 1], ["Huge", 2], ["Huge Dangling", 3]]);
+
+		options.addOption("Vaginal wetness", "vaginaLube", slave)
+			.addValueList([["Dry", 0], ["Normal", 1], ["Excessive", 2]]);
+
+		if (V.seePreg !== 0) {
+			/* This is only shown if slave has vagina */
+			options.addOption("Puberty", "pubertyXX", slave)
+				.addValue("Prepubescent", 0, () => {
+					slave.pubertyAgeXX = V.fertilityAge;
+					slave.belly = 0;
+					slave.bellyPreg = 0;
+					WombFlush(slave);
+				}).addValue("Postpubescent", 1);
+
+			options.addOption("Age of puberty", "pubertyAgeXX", slave).showTextBox();
+
+			if (slave.pubertyXX === 1) {
+				option = options.addOption("Pregnancy", "preg", slave);
+				if (V.seeHyperPreg === 1 && V.cheatMode === 1) {
+					option.addValue("Bursting at the seams", 43, () => {
+						slave.pregType = 150;
+						slave.pregWeek = 43;
+						slave.pregKnown = 1;
+						slave.belly = 2700000;
+						slave.bellyPreg = 2700000;
+						slave.pubertyXX = 1;
+					});
+					if (slave.preg === 43) {
+						option.addComment("Extreme hyper pregnancy!");
+					}
+				}
+				option.addValue("Completely Filled", 42, () => {
+					slave.pregType = 8;
+					slave.pregWeek = 42;
+					slave.pregKnown = 1;
+					slave.belly = 120000;
+					slave.bellyPreg = 120000;
+					slave.pubertyXX = 1;
+				}).addValue("Ready to drop", 40, () => {
+					slave.pregType = 1;
+					slave.pregWeek = 40;
+					slave.pregKnown = 1;
+					slave.belly = 15000;
+					slave.bellyPreg = 15000;
+					slave.pubertyXX = 1;
+				}).addValue("Advanced", 34, () => {
+					slave.pregType = 1;
+					slave.pregWeek = 34;
+					slave.pregKnown = 1;
+					slave.belly = 10000;
+					slave.bellyPreg = 10000;
+					slave.pubertyXX = 1;
+				}).addValue("Showing", 27, () => {
+					slave.pregType = 1;
+					slave.pregWeek = 27;
+					slave.pregKnown = 1;
+					slave.belly = 5000;
+					slave.bellyPreg = 5000;
+					slave.pubertyXX = 1;
+				}).addValue("Early", 12, () => {
+					slave.pregType = 1;
+					slave.pregWeek = 12;
+					slave.pregKnown = 1;
+					slave.belly = 100;
+					slave.bellyPreg = 100;
+					slave.pubertyXX = 1;
+				}).addValue("None", 0, () => {
+					slave.pregType = 0;
+					slave.belly = 0;
+					slave.bellyPreg = 0;
+					slave.pregSource = 0;
+					slave.pregWeek = 0;
+					slave.pregKnown = 0;
+				}).addValue("Contraceptives", -1, () => {
+					slave.pregType = 0;
+					slave.belly = 0;
+					slave.bellyPreg = 0;
+					slave.pregSource = 0;
+					slave.pregWeek = 0;
+					slave.pregKnown = 0;
+				}).addValue("Barren", -2, () => {
+					slave.pregType = 0;
+					slave.belly = 0;
+					slave.bellyPreg = 0;
+					slave.pregSource = 0;
+					slave.pregWeek = 0;
+					slave.pregKnown = 0;
+				});
+				options.addOption("Births", "birthsTotal", slave.counter).showTextBox().addComment(`How many times ${he} has already given birth, not necessarily while owned by you.`);
+			}
+
+			if (V.PC.dick > 0 && slave.preg > 0) {
+				options.addOption("Father of child", "pregSource", slave)
+					.addValueList([["My child", -1], ["Not me", 0]]);
+			}
+		}
+	}
+
+	if (V.seeDicks !== 0 || V.makeDicks === 1) {
+		options.addOption("Penis", "dick", slave)
+			.addValue("None", 0, () => {
+				slave.balls = 0;
+				slave.pubertyXY = 0;
+				slave.pubertyAgeXY = V.potencyAge;
+			})
+			.addValue("Tiny", 1, () => slave.clit = 0)
+			.addValue("Small", 2, () => slave.clit = 0)
+			.addValue("Normal", 3, () => slave.clit = 0)
+			.addValue("Large", 4, () => slave.clit = 0)
+			.addValue("Massive", 5, () => slave.clit = 0);
+
+		if (slave.dick > 0) {
+			option = options.addOption("Foreskin", "foreskin", slave);
+			if (V.seeCircumcision === 1) {
+				option.addValue("Circumcised", 0);
+			} else if (slave.foreskin === 0) {
+				slave.foreskin = 3;
+			}
+			option.addValueList([["Tiny", 1], ["Small", 2], ["Normal", 3], ["Large", 4], ["Massive", 5]]);
+		}
+
+		options.addOption("Testicles", "balls", slave)
+			.addValue("None", 0, () => {
+				slave.pubertyXY = 0;
+				slave.pubertyAgeXY = V.potencyAge;
+				slave.scrotum = 0;
+			}).addValueList([["Vestigial", 1], ["Small", 2], ["Normal", 3], ["Large", 4], ["Massive", 5]]);
+
+		options.addOption("Age of Male Puberty", "pubertyAgeXY", slave).showTextBox();
+
+		if (slave.balls > 0) {
+			options.addOption("Ballsack", "scrotum", slave)
+				.addValueList([["None", 0], ["Tiny", 1], ["Small", 2], ["Normal", 3], ["Large", 4], ["Massive", 5]]);
+
+			options.addOption("Male Puberty", "pubertyXY", slave)
+				.addValue("Prepubescent", 0, () => slave.pubertyAgeXY = V.potencyAge)
+				.addValue("Postpubescent", 1);
+		}
+	}
+
+	options.addOption("Prostate", "prostate", slave)
+		.addValueList([
+			["No prostate", 0],
+			["Has a prostate", 1]
+		]);
+
+	const optionLeft = options.addOption("Left eye", "vision", slave.eye.left);
+	const optionRight = options.addOption("Right eye", "vision", slave.eye.right);
+	optionLeft.addValueList([["Normal", 2], ["Nearsighted", 1]]);
+	optionRight.addValueList([["Normal", 2], ["Nearsighted", 1]]);
+	if (V.seeExtreme === 1) {
+		optionLeft.addValue("Blind", 0);
+		optionRight.addValue("Blind", 0);
+	} else {
+		if (slave.eye.left.vision === 0) {
+			slave.eye.left.vision = 2;
+		}
+		if (slave.eye.right.vision === 0) {
+			slave.eye.right.vision = 2;
+		}
+	}
+	option = options.addOption("Natural eye color", "origColor", slave.eye);
+	for (const color of App.Medicine.Modification.eyeColor.map(color => color.value)) {
+		option.addValue(capFirstChar(color), color);
+	}
+	option.pulldown();
+
+	option = options.addOption("Hearing", "hears", slave);
+	option.addValueList([["Normal", 0], ["Hard of hearing", -1]]);
+	if (V.seeExtreme === 1) {
+		option.addValue("Deaf", -2);
+	} else if (slave.hears === 0) {
+		slave.hears = 2;
+	}
+
+	if (V.seeExtreme === 1) {
+		options.addOption("Smell ability", "smells", slave)
+			.addValueList([["Normal", 0], ["None", -1]]);
+
+		options.addOption("Taste ability", "tastes", slave)
+			.addValueList([["Normal", 0], ["None", -1]]);
+
+		State.temporary.LA = hasLeftArm(slave);
+		options.addOption("Left arm", "LA", State.temporary)
+			.addValue("Healthy", true, () => slave.arm.left = new App.Entity.LimbState())
+			.addValue("Amputated", false, () => slave.arm.left = null);
+
+		State.temporary.RA = hasRightArm(slave);
+		options.addOption("Right arm", "RA", State.temporary)
+			.addValue("Healthy", true, () => slave.arm.right = new App.Entity.LimbState())
+			.addValue("Amputated", false, () => slave.arm.right = null);
+
+		State.temporary.LL = hasLeftLeg(slave);
+		options.addOption("Left leg", "LL", State.temporary)
+			.addValue("Healthy", true, () => slave.leg.left = new App.Entity.LimbState())
+			.addValue("Amputated", false, () => slave.leg.left = null);
+
+		State.temporary.RL = hasRightLeg(slave);
+		options.addOption("Right leg", "RL", State.temporary)
+			.addValue("Healthy", true, () => slave.leg.right = new App.Entity.LimbState())
+			.addValue("Amputated", false, () => slave.leg.right = null);
+	}
+
+	el.append(options.render());
+	return el;
+};
+
+App.StartingGirls.profile = function(slave) {
+	const el = new DocumentFragment();
+	let options = new App.UI.OptionsGroup();
+	let r;
+	let option;
+	const {His} = getPronouns(slave);
+
+	options.addOption("Birth name", "birthName", slave).showTextBox();
+	options.addOption("Slave name", "slaveName", slave).showTextBox();
+	options.addOption("Birth surname", "birthSurname", slave).showTextBox();
+	options.addOption("Slave surname", "slaveSurname", slave).showTextBox();
+
+	option = options.addOption("Career", "career", slave).showTextBox();
+	let careers;
+	let text;
 	if (V.AgePenalty === 1) {
 		if (slave.actualAge < 16) {
-			text = "Very young careers: ";
-			pullDown = render(App.Data.Careers.General.veryYoung);
+			text = "Very young careers";
+			careers = App.Data.Careers.General.veryYoung;
 		} else if (slave.actualAge <= 24) {
-			text = "Young careers: ";
-			pullDown = render(App.Data.Careers.General.young);
+			text = "Young careers";
+			careers = App.Utils.alphabetizeIterable(App.Data.Careers.General.young);
 		} else if (slave.intelligenceImplant >= 15) {
-			text = "Educated careers: ";
-			pullDown = render(App.Data.Careers.General.educated);
+			text = "Educated careers";
+			careers = App.Utils.alphabetizeIterable(App.Data.Careers.General.educated);
 		} else {
-			text = "Uneducated careers: ";
-			pullDown = render(App.Data.Careers.General.uneducated);
+			text = "Uneducated careers";
+			careers = App.Utils.alphabetizeIterable(App.Data.Careers.General.uneducated);
 		}
 	} else {
 		if (slave.actualAge < 16) {
-			text = "Very young careers: ";
-			pullDown = render(App.Data.Careers.General.veryYoung);
+			text = "Very young careers";
+			careers = App.Utils.alphabetizeIterable(App.Data.Careers.General.veryYoung);
 		} else if (slave.intelligenceImplant >= 15) {
-			text = "Educated careers: ";
-			pullDown = render(App.Data.Careers.General.educated);
+			text = "Educated careers";
+			careers = App.Utils.alphabetizeIterable(App.Data.Careers.General.educated);
 		} else if (slave.actualAge <= 24) {
-			text = "Young careers: ";
-			pullDown = render(App.Data.Careers.General.young);
+			text = "Young careers";
+			careers = App.Utils.alphabetizeIterable(App.Data.Careers.General.young);
+		} else {
+			text = "Uneducated careers";
+			careers = App.Utils.alphabetizeIterable(App.Data.Careers.General.uneducated);
+		}
+	}
+	for (const career of careers) {
+		option.addValue(capFirstChar(career), career);
+	}
+	option.addComment(text).pulldown();
+
+	options.addOption("Legal status", "indenture", slave)
+		.addValue("Slave", -1, () => slave.indentureRestrictions = 0)
+		.addRange(52, 0, ">=", "Indentured Servant");
+	if (slave.indenture > -1) {
+		options.addOption("Remaining weeks", "indenture", slave).showTextBox();
+
+		options.addOption("Indenture restrictions", "indentureRestrictions", slave)
+			.addValueList([["None", 0], ["Protective", 1], ["Restrictive", 2]]);
+	}
+
+	options.addOption("Age", "actualAge", slave).showTextBox()
+		.customButton("Resync characteristics to age", () => resyncSlaveToAge(slave), "")
+		.customButton("Resync only height to age", () => slave.height = Height.random(slave), "")
+		.addComment("It is recommended to resync if you change age significantly");
+
+	options.addOption("Birth week", "birthWeek", slave).showTextBox();
+
+	options.addOption("Genes", "genes", slave)
+		.addValue("XX (Female)", "XX", () => {
+			slave.dick = 0;
+			slave.balls = 0;
+			slave.clit = 0;
+			slave.pubertyXY = 0;
+			slave.pubertyAgeXY = V.potencyAge;
+			slave.pubertyXX = (slave.pubertyAgeXX < slave.actualAge ? 1 : 0);
+			slave.vagina = Math.max(0, slave.vagina);
+			slave.boobs = Math.max(500, slave.boobs);
+			slave.balls = 0;
+			slave.scrotum = 0;
+			slave.prostate = 0;
+			slave.shoulders = either(-2, -1, 0);
+			slave.hips = either(-2, -1, 0);
+		}).addValue("XY (Male)", "XY", () => {
+			slave.dick = 3;
+			slave.vagina = -1;
+			WombFlush(slave);
+			slave.belly = 0;
+			slave.bellyPreg = 0;
+			slave.pubertyXY = (slave.pubertyAgeXY < slave.actualAge ? 1 : 0);
+			slave.pubertyXX = 0;
+			slave.pubertyAgeXX = V.fertilityAge;
+			slave.ovaries = 0;
+			slave.boobs = 0;
+			slave.balls = 3;
+			slave.scrotum = 3;
+			slave.prostate = 1;
+			slave.shoulders = either(0, 1, 2);
+			slave.hips = either(0, 1, 2);
+		});
+
+	option = options.addOption("Prestige", "prestige", slave)
+		.addValueList([["None", 0], ["Locally known", 1], ["Regionally famous", 2], ["World renowned", 3]]);
+	if (slave.prestige > 0) {
+		r = [];
+		r.push("Starting slaves incur an extreme cost penalty for prestige. This slave's");
+		if (slave.actualAge >= 25) {
+			if (slave.actualAge > 35) {
+				r.push(" advanced");
+			}
+			r.push(" age decreases the penalty.");
 		} else {
-			text = "Uneducated careers: ";
-			pullDown = render(App.Data.Careers.General.uneducated);
+			r.push(" young age requires paying the full penalty.");
 		}
+		option.addComment(`<span class=warning>${r.join(" ")}</span>`);
 	}
-	function render(options) {
-		let select = document.createElement("select");
-		select.classList.add("rajs-list");
 
-		for (const opt of options) {
-			let el = document.createElement("option");
-			el.textContent = capFirstChar(opt);
-			el.value = opt;
-			if (slave.career === opt) {
-				el.selected = true;
+	options.addOption(`${His} nationality is`, "nationality", slave).showTextBox()
+		.addValueList(App.Data.misc.baseNationalities)
+		.pulldown();
+
+
+	if (V.seeRace === 1) {
+		options.addOption(`${His} ethnicity is`, "race", slave).showTextBox().pulldown()
+			.addValueList([["White", "white"], ["Asian", "asian"], ["Latina", "latina"], ["Middle Eastern", "middle eastern"],
+				["Black", "black"], ["Semitic", "semitic"], ["Southern European", "southern european"], ["Indo-Aryan", "indo-aryan"],
+				["Amerindian", "amerindian"], ["Pacific Islander", "pacific islander"], ["Malay", "malay"], ["Mixed Race", "mixed race"]]);
+	}
+
+	el.append(options.render());
+	App.UI.DOM.appendNewElement("h3", el, "Optional customizations");
+	options = new App.UI.OptionsGroup();
+
+	options.addOption("Origin story", "origin", slave).showTextBox({large: true}).addComment("Use complete, capitalized and punctuated sentences.");
+
+	options.addOption("Origin override", "originOverride", V)
+		.addValue("Enable", 1).on()
+		.addValue("Disable", 0).off()
+		.addComment("Prevent Starting Girls from overwriting custom origin and tattoo with its defaults.");
+
+	if (slave.prestige) {
+		options.addOption("Prestige description", "prestigeDesc", V).showTextBox().addComment("Use complete, capitalized and punctuated sentences.");
+	}
+	options.addOption("Description", "desc", slave.custom).showTextBox().addComment("Use complete, capitalized and punctuated sentences.");
+	options.addOption("Label", "label", slave.custom).showTextBox().addComment("Use a short phrase");
+
+
+	el.append(options.render());
+	return el;
+};
+
+App.StartingGirls.mental = function(slave) {
+	const el = new DocumentFragment();
+	const options = new App.UI.OptionsGroup();
+	let option;
+	let r;
+
+	options.addOption("Intelligence", "intelligence", slave)
+		.addValueList([["Moronic", -100], ["Very stupid", -60], ["Stupid", -30], ["Average", 0], ["Smart", 30], ["Very smart", 60], ["Brilliant", 100]]);
+
+	options.addOption("Education", "intelligenceImplant", slave)
+		.addValueList([["Uneducated", 0], ["Educated", 15], ["Well educated", 30]]);
+
+	option = options.addOption("Devotion", "devotion", slave).showTextBox()
+		.addRange(-100, -95, "<", "Utterly hateful")
+		.addRange(-70, -50, "<", "Hateful")
+		.addRange(-35, -20, "<", "Resistant")
+		.addRange(0, 20, "<", "Ambivalent")
+		.addRange(35, 50, "<", "Accepting")
+		.addRange(70, 95, "<", "Devoted")
+		.addRange(100, 95, ">=", "Worshipful");
+	if (slave.devotion > 20) {
+		r = [];
+		r.push("Starting slaves incur");
+		if (slave.devotion > 50) {
+			r.push("severe cost penalty at very high");
+		} else {
+			r.push("an additional cost penalty at high");
+		}
+		r.push("levels of devotion. This slave's");
+		if (slave.actualAge >= 25) {
+			if (slave.actualAge > 35) {
+				r.push("advanced");
 			}
-			select.appendChild(el);
+			r.push("age decreases the penalty.");
+		} else {
+			r.push("young age requires paying the full penalty.");
 		}
-		select.onchange = () => {
-			slave.career = select.options[select.selectedIndex].value;
-			jQuery("#career-textbox").empty().append(
-				App.UI.DOM.makeTextBox(
-					slave.career,
-					v => {
-						slave.career = v;
-					},
-					false,
-				)
-			);
-		};
+		option.addComment(`<span class=warning>${r.join(" ")}</span>`);
+	}
+
+	options.addOption("Trust", "trust", slave).showTextBox()
+		.addRange(-100, -95, "<", "Abjectly terrified")
+		.addRange(-70, -50, "<", "Terrified")
+		.addRange(-35, -20, "<", "Frightened")
+		.addRange(0, 20, "<", "Fearful")
+		.addRange(35, 50, "<", "Careful")
+		.addRange(70, 95, "<", "Trusting")
+		.addRange(100, 95, ">=", "Absolute trust");
+
 
-		return select;
+
+	if (slave.fetishKnown === 0) {
+		options.addOption("Fetish", "fetishKnown", slave)
+			.addValueList([["Unknown", 0], ["Known", 1]]);
+	} else {
+		option = options.addOption("Fetish", "fetish", slave)
+			.addValue("Unknown", "", () => {
+				slave.fetish = either("boobs", "buttslut", "cumslut", "dom", "humiliation", "masochist", "pregnancy", "sadist",
+					"submissive", "none", "none", "none", "none", "none", "none", "none", "none", "none", "none");
+				slave.fetishKnown = 0;
+			}).addValueList([["None", "none"], ["Sub", "submissive"], ["Dom", "dom"], ["Cumslut", "cumslut"], ["Humiliation", "humiliation"],
+				["Buttslut", "buttslut"], ["Breasts", "boobs"], ["Pregnancy", "pregnancy"], ["Sadism", "sadist"], ["Masochism", "masochist"]]);
+		if (V.seeExtreme === 1) {
+			option.addValue("Mindbroken", "mindbroken", () => {
+				slave.fetishStrength = 10;
+				slave.sexualFlaw = "none";
+				slave.sexualQuirk = "none";
+				slave.behavioralFlaw = "none";
+				slave.behavioralQuirk = "none";
+			});
+		}
+
+		if (slave.fetish !== "none" && slave.fetish !== "mindbroken") {
+			options.addOption("Fetish strength", "fetishStrength", slave)
+				.addRange(15, 30, "<=", "Very Low")
+				.addRange(45, 60, "<=", "Low")
+				.addRange(75, 85, "<=", "Normal")
+				.addRange(90, 95, "<=", "High")
+				.addRange(100, 95, ">", "Extremely High");
+		}
 	}
-	el.append(text);
-	el.append(pullDown);
+
+	options.addOption("Sexuality", "attrKnown", slave)
+		.addValue("Known", 1, () => {
+			slave.attrXX = random(0, 100);
+			slave.attrXY = random(0, 100);
+			slave.energy = random(1, 90);
+		}).on()
+		.addValue("Unknown", 0).off();
+	if (slave.attrKnown === 1) {
+		options.addOption("Attraction to men", "attrXY", slave)
+			.addRange(0, 5, "<=", "Disgusted").off()
+			.addRange(10, 15, "<=", "Turned off").off()
+			.addRange(25, 35, "<=", "Not attracted").off()
+			.addRange(50, 65, "<=", "Indifferent").neutral()
+			.addRange(75, 85, "<=", "Attracted").on()
+			.addRange(90, 95, "<=", "Aroused").on()
+			.addRange(100, 95, ">", "Passionate").on();
+		options.addOption("Attraction to women", "attrXX", slave)
+			.addRange(0, 5, "<=", "Disgusted").off()
+			.addRange(10, 15, "<=", "Turned off").off()
+			.addRange(25, 35, "<=", "Not attracted").off()
+			.addRange(50, 65, "<=", "Indifferent").neutral()
+			.addRange(75, 85, "<=", "Attracted").on()
+			.addRange(90, 95, "<=", "Aroused").on()
+			.addRange(100, 95, ">", "Passionate").on();
+
+		options.addOption("Sex drive", "energy", slave)
+			.addRange(5, 10, "<=", "Frigid").off()
+			.addRange(25, 40, "<=", "Poor").off()
+			.addRange(45, 60, "<=", "Average").neutral()
+			.addRange(65, 80, "<=", "Powerful").on()
+			.addRange(85, 99, "<=", "Sex addict").on()
+			.addRange(100, 99, ">", "Nympho").on();
+	}
+
+	if (slave.fetish !== "mindbroken") {
+		options.addOption("Behavioral Flaw", "behavioralFlaw", slave)
+			.addValueList([["None", "none"], ["Arrogant", "arrogant"], ["Bitchy", "bitchy"], ["Odd", "odd"], ["Hates Men", "hates men"],
+				["Hates Women", "hates women"], ["Anorexic", "anorexic"], ["Gluttonous", "gluttonous"], ["Devout", "devout"],
+				["Liberated", "liberated"]]);
+
+		options.addOption("Behavioral Quirk", "behavioralQuirk", slave)
+			.addValueList([["None", "none"], ["Confident", "confident"], ["Cutting", "cutting"], ["Funny", "funny"],
+				["Adores Men", "adores men"], ["Adores Women", "adores women"], ["Insecure", "insecure"], ["Fitness", "fitness"],
+				["Sinful", "sinful"], ["Advocate", "advocate"]]);
+
+		options.addOption("Sexual Flaw", "sexualFlaw", slave)
+			.addValueList([["None", "none"], ["Hates Oral", "hates oral"], ["Hates Anal", "hates anal"],
+				["Hates Penetration", "hates penetration"], ["Repressed", "repressed"], ["Shamefast", "shamefast"], ["Apathetic", "apathetic"],
+				["Crude", "crude"], ["Judgemental", "judgemental"], ["Sexually idealistic", "idealistic"]]);
+
+		options.addOption("Sexual Quirk", "sexualQuirk", slave)
+			.addValueList([["None", "none"], ["Oral", "gagfuck queen"], ["Anal", "painal queen"], ["Penetration", "strugglefuck queen"],
+				["Perverted", "perverted"], ["Tease", "tease"], ["Caring", "caring"], ["Unflinching", "unflinching"], ["Size queen", "size queen"],
+				["Romantic", "romantic"]]);
+	}
+
+	el.append(options.render());
+
 	return el;
 };
diff --git a/src/npc/startingGirls/startingGirls.tw b/src/npc/startingGirls/startingGirls.tw
index f5de17245bde04d6ca7bde4e2a0a2f24545375f9..6dc4e30a17bbc6c267dfbcebb163fd38ab8faefa 100644
--- a/src/npc/startingGirls/startingGirls.tw
+++ b/src/npc/startingGirls/startingGirls.tw
@@ -1,5 +1,7 @@
 :: Starting Girls [nobr]
 
+/* Lots of long lists here that will benefit from conversion to switch statements when turned to JS. */
+
 <style>
 .active {
 	background-color: grey;
@@ -12,8 +14,16 @@
 		<<if ($PC.dick != 0) && ($PC.vagina != -1) && ($seeDicks != 0 || $makeDicks == 1)>>
 			Since you have both a penis and a vagina yourself, you've obviously had access to a source of advanced surgery and organ farming. @@.springgreen;Slaves get a smaller cost increase here for having both penises and vaginas, and for having both testicles and ovaries.@@
 		<</if>>
-		<<if $PC.career == "slaver">>
-			Since you personally saw to the capture, breaking and or training of these slaves, @@.springgreen;they cost half of what they normally would have here.@@
+		<<if $PC.career == "slaver" || $PC.career == "slave overseer" || $PC.career == "slave tender">>
+			Since you
+			<<if $PC.career == "slaver">>
+				personally saw to the capture, breaking and or training of
+			<<elseif $PC.career == "slave overseer">>
+				managed the slave pits that processed
+			<<elseif $PC.career == "slave tender">>
+				helped train
+			<</if>>
+			these slaves, @@.springgreen;they cost half of what they normally would have here.@@
 		<</if>>
 	<</if>>
 	<br>Current cash reserves can be found on the far left sidebar.
@@ -183,197 +193,20 @@
 	<</if>>
 <</if>>
 /* this block makes starting girls actually apply the slave origins, mostly since it just hates you and everything you do */
-<<if $originOverride == 0>>
-	<<if $PC.career == "capitalist">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "To solidify an investment in hermaphrodite self-fertility, you took part in a test successful test trial. Nine months later your $daughter was born.">>
-			<<set $activeSlave.custom.tattoo = "$He has a famous corporate logo tattooed on the nape of $his neck.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "Sometimes it pays off to use your body in business deals, and other times you end up burdened with child. $He is the result of the latter.">>
-			<<set $activeSlave.custom.tattoo = "$He has a famous corporate logo tattooed on the nape of $his neck.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "To seal a business deal, a client asked you to knock her up. $He is the end result of that fling.">>
-			<<set $activeSlave.custom.tattoo = "$He has a famous corporate logo tattooed on the nape of $his neck.">>
-		<<else>>
-			<<set $activeSlave.origin = "You acquired $him in the last stages of your career as a successful venture capitalist.">>
-			<<set $activeSlave.custom.tattoo = "$He has a famous corporate logo tattooed on the nape of $his neck.">>
-		<</if>>
-	<<elseif $PC.career == "mercenary">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "Drugs and alcohol can be a potent mix; the night that followed it can sometimes be hard to remember. Needless to say, once your belly began swelling with $him, you had to temporarily switch to a desk job for your mercenary group.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "Drugs and alcohol can be a potent mix; the night that followed it can sometimes be hard to remember. Needless to say, once your belly began swelling with $him, you had to temporarily switch to a desk job for your mercenary group.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "A trip to a brothel after a mission resulted in an unexpected surprise years later.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.">>
-		<<else>>
-			<<set $activeSlave.origin = "You acquired $him in the last stages of your career as a noted private military contractor.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.">>
-		<</if>>
-	<<elseif $PC.career == "slaver">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "You never thought you would be capable of impregnating yourself, but years of pleasuring yourself with yourself after missions managed to create $him.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a private military company's coat of arms on the nape of $his neck.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "A fresh capture once overpowered you and had his way with you. You kept $him as a painful reminder to never lower your guard again.">>
-			<<set $activeSlave.custom.tattoo = "$He has your tiny slaving emblem tattooed behind $his left ear.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "Your slaving troop kept several girls as fucktoys; you sired $him in your favorite.">>
-			<<set $activeSlave.custom.tattoo = "$He has your tiny slaving emblem tattooed behind $his left ear.">>
-		<<else>>
-			<<set $activeSlave.origin = "You enslaved $him personally during the last stages of your slaving career.">>
-			<<set $activeSlave.custom.tattoo = "$He has your tiny slaving emblem tattooed behind $his left ear.">>
-		<</if>>
-	<<elseif $PC.career == "engineer">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "You sired $him in yourself after an arcology owner, impressed by your work, rewarded you with a night you'll never forget.">>
-			<<set $activeSlave.custom.tattoo = "$He has the geometric symbol of your old arcology engineering firm laser tattooed into the nape of $his neck.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "You conceived $him after a male arcology owner, impressed by your work, rewarded you with a night you'll never forget.">>
-			<<set $activeSlave.custom.tattoo = "$He has the geometric symbol of your old arcology engineering firm laser tattooed into the nape of $his neck.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "You sired $him after a female arcology owner, impressed by your work, rewarded you with a night you'll never forget.">>
-			<<set $activeSlave.custom.tattoo = "$He has the geometric symbol of your old arcology engineering firm laser tattooed into the nape of $his neck.">>
-		<<else>>
-			<<set $activeSlave.origin = "You received $him as a gift from an arcology owner impressed by your work.">>
-			<<set $activeSlave.custom.tattoo = "$He has the geometric symbol of your old arcology engineering firm laser tattooed into the nape of $his neck.">>
-		<</if>>
-	<<elseif $PC.career == "escort">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "A client paid you a large sum of credits to prove you could literally fuck yourself. $He is the result of that lucrative night.">>
-			<<set $activeSlave.custom.tattoo = "$He has your custom emblem tattooed on $his left breast.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "$He was the result of unprotected sex with a client. He paid you quite well to enjoy your body as you grew heavy with his child.">>
-			<<set $activeSlave.custom.tattoo = "$He has the number of times $his father came in you while you were pregnant with $him tattooed down $his back.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was the result of unprotected sex with a client. $His mother tracked you down years after $his birth to force $him upon you.">>
-			<<set $activeSlave.custom.tattoo = "$He has your name angrily tattooed on $his right shoulder.">>
-		<<else>>
-			<<set $activeSlave.origin = "$He was a fellow escort you were popular with.">>
-			<<set $activeSlave.custom.tattoo = "$He has your custom emblem tattooed on $his left breast. $He got the tattoo after starring in a porno with you.">>
-		<</if>>
-		<<if $activeSlave.preg > 0>>
-			<<if $activeSlave.pregSource != -1>>
-				<<set $activeSlave.pregSource = -5>>
-			<</if>>
-		<</if>>
-	<<elseif $PC.career == "gang">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was the result of a night of hard drugs and unprotected sex after a big score. It took quite a bit of alcohol to come to terms with drunkenly knocking yourself up.">>
-			<<set $activeSlave.custom.tattoo = "$He has your former gang's sign tattooed on $his neck.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "$He was the result of a night of hard drugs and unprotected sex after a big score.">>
-			<<set $activeSlave.custom.tattoo = "$He has your former gang's sign tattooed on $his neck.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was born from one of your sex toys you knocked up.">>
-			<<set $activeSlave.custom.tattoo = "$He has your former gang's sign tattooed on $his neck.">>
-		<<else>>
-			<<set $activeSlave.origin = "You captured $him during your transition to the arcology">>
-			<<set $activeSlave.custom.tattoo = "$He has your former gang's sign tattooed on $his neck.">>
-		<</if>>
-	<<elseif $PC.career == "servant">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "Your late Master took pleasure in using his servants in creative ways. He inseminated you with your own sperm, and nine months later, your $daughter was born.">>
-			<<set $activeSlave.custom.tattoo = "$He has your Master's brand on $his left breast.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "$He was another of your late Master's servants. $He spent nine months in your womb, courtesy of your Master.">>
-			<<set $activeSlave.custom.tattoo = "$He has your Master's brand on $his left breast.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was another of your late Master's servants. Your Master permitted you to knock up $his mother.">>
-			<<set $activeSlave.custom.tattoo = "$He has your Master's brand on $his left breast.">>
-		<<elseif $PC.vagina != -1>>
-			<<set $activeSlave.origin = "$He was another of your late Master's servants. $He helped you give birth to his child.">>
-			<<set $activeSlave.custom.tattoo = "$He has your Master's brand on $his left breast.">>
-		<<else>>
-			<<set $activeSlave.origin = "$He was another of your late Master's servants.">>
-			<<set $activeSlave.custom.tattoo = "$He has your Master's brand on $his left breast.">>
-		<</if>>
-		<<if $activeSlave.preg > 0>>
-			<<if $activeSlave.pregSource != -1>>
-				<<set $activeSlave.pregSource = -3>>
-			<</if>>
-		<</if>>
-	<<elseif $PC.career == "medicine">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was conceived after a successful experiment in hermaphrodite self-reproduction.">>
-			<<set $activeSlave.custom.tattoo = "$He has your personal symbol tattooed on the back of $his neck: it's invisible to the naked eye, but shows up starkly on medical imaging.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "$He was conceived after a botched birth control experiment early in your career.">>
-			<<set $activeSlave.custom.tattoo = "$He has your personal symbol tattooed on the back of $his neck: it's invisible to the naked eye, but shows up starkly on medical imaging.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He is the product of an affair with a cute nurse who assisted you in more ways than one.">>
-			<<set $activeSlave.custom.tattoo = "$He has your personal symbol tattooed on the back of $his neck: it's invisible to the naked eye, but shows up starkly on medical imaging.">>
-		<<else>>
-			<<set $activeSlave.origin = "You kept $him after $his owner failed to pay your bill for performing surgery on $him.">>
-			<<set $activeSlave.custom.tattoo = "$He has your personal symbol tattooed on the back of $his neck: it's invisible to the naked eye, but shows up starkly on medical imaging.">>
-		<</if>>
-	<<elseif $PC.career == "celebrity">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was conceived after a night of partying and a drunken bet. $He nearly killed your career.">>
-			<<set $activeSlave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "$He was conceived after a night of partying and a torn condom. $He nearly killed your career.">>
-			<<set $activeSlave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was conceived after a night of partying and a torn condom.">>
-			<<set $activeSlave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck.">>
-		<<else>>
-			<<set $activeSlave.origin = "$He was one of your groupies during your celebrity career.">>
-			<<set $activeSlave.custom.tattoo = "$He has your signature, surrounded by hearts, tattooed on the back of $his neck. $He got the tattoo when $he was still free.">>
-		<</if>>
-	<<elseif $PC.career == "wealth">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "You bet your body on a sure hand, only to lose. It turns out you could fuck yourself, and not only that, get yourself pregnant.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a losing hand of cards on the nape of $his neck.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "You bet your body on a sure hand, only to lose. Nine months later, your $daughter was born.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a losing hand of cards on the nape of $his neck.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "You won a sexual fling with $his mother after winning at cards, a gamble that ultimately burdened you.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a poor hand of cards on the nape of $his neck.">>
-		<<else>>
-			<<set $activeSlave.origin = "You won $him at cards, a memento from your life as one of the idle rich before you became an arcology owner.">>
-			<<set $activeSlave.custom.tattoo = "$He has a small tattoo of a winning hand of cards on the nape of $his neck.">>
-		<</if>>
-	<<elseif $PC.career == "BlackHat">>
-		<<if $activeSlave.mother == -1 && $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was the result of a night of hard celebration after a big score under the glow of monitors and the calming hum of 750 RPM fans. It took quite a bit of alcohol to come to terms with drunkenly knocking yourself up.">>
-			<<set $activeSlave.custom.tattoo = "$He has your former digital calling card tattooed on $his neck.">>
-		<<elseif $activeSlave.mother == -1>>
-			<<set $activeSlave.origin = "$He was the result of an intruder brute forcing your firewall, overloading your pleasure sensors, and allowing a corrupted packet to slip by. With a quick wipe of your RAM and cache with some powerful liquor, you have no idea who planted $him in your womb.">>
-			<<set $activeSlave.custom.tattoo = "$He has your former digital calling card tattooed on $his neck.">>
-		<<elseif $activeSlave.father == -1>>
-			<<set $activeSlave.origin = "$He was born out of a trade for secure data access. Nine months later, your $daughter was born.">>
-			<<set $activeSlave.custom.tattoo = "$He has your former digital calling card tattooed on $his neck.">>
-		<<else>>
-			<<set $activeSlave.origin = "$He was a case officer you captured after going dark.">>
-			<<set $activeSlave.custom.tattoo = "$He has your former digital calling card tattooed on $his neck.">>
-		<</if>>
-	<<else>>
-		<<set $activeSlave.origin = "You won $him at cards, a memento from your life as one of the idle rich before you became an arcology owner.">>
-		<<set $activeSlave.custom.tattoo = "$He has the silhouette of an arcology tattooed on the nape of $his neck.">>
-	<</if>>
-	<<if $activeSlave.fetish == "mindbroken">>
-		<<if !isAmputee($activeSlave)>>
-			<<set $activeSlave.origin = "You brought $him into the arcology mindbroken, little more than a walking collection of fuckable holes.">>
-		<<else>>
-			<<set $activeSlave.origin = "You brought $him into the arcology mindbroken, little more than a human onahole.">>
-		<</if>>
-	<</if>>
+<<if $originOverride != 1>>
+	<<run App.StartingGirls.applyPlayerOrigin($activeSlave)>>
 <</if>>
 
 <h2>You are customizing this slave:</h2> <<includeDOM App.Desc.longSlave(V.activeSlave, {market: "generic"})>>
 
 <div class="tab-bar">
-	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Overview')" id="tab Overview">Overview</button>
+	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'profile')" id="tab profile">Profile</button>
 	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Physical')" id="tab Physical">Physical</button>
 	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Mental')" id="tab Mental">Mental</button>
 	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Skills')" id="tab Skills">Skills</button>
 	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Family', App.StartingGirls.uncommittedFamilyTree(V.activeSlave))" id="tab Family">Family</button>
 	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'body-mods')" id="tab body-mods">Body Mods</button>
-	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'Customization')" id="tab Customization">Customization</button>
+	<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'salon')" id="tab salon">Salon</button>
 	<<if $cash >= _slaveCost>>
 		<button class="tab-links" onclick="App.UI.tabBar.openTab(event, 'assignRemove')" id="tab assignRemove">Finalize</button>
 	<<else>>
@@ -383,607 +216,21 @@
 
 <<run App.Utils.setLocalPronouns($activeSlave)>>
 
-<div id="Overview" class="tab-content">
+<div id="profile" class="tab-content">
 	<div class="content">
-
-	<<set _options = new App.UI.OptionsGroup()>>
-
-	<<set _option = _options.addOption("Devotion", "devotion", $activeSlave).showTextBox()
-	.addRange(-100, -95, "<", "Utterly hateful")
-	.addRange(-70, -50, "<", "Hateful")
-	.addRange(-35, -20, "<", "Resistant")
-	.addRange(0, 20, "<", "Ambivalent")
-	.addRange(35, 50, "<", "Accepting")
-	.addRange(70, 95, "<", "Devoted")
-	.addRange(100, 95, ">=", "Worshipful")>>
-	<<if $activeSlave.devotion > 20>>
-		<<set _comment = "Starting slaves incur">>
-		<<if $activeSlave.devotion > 50>>
-			<<run _comment += " severe cost penalty at very high">>
-		<<else>>
-			<<run _comment += " an additional cost penalty at high">>
-		<</if>>
-		<<run _comment += " levels of devotion. This slave's">>
-		<<if $activeSlave.actualAge >= 25>>
-			<<if $activeSlave.actualAge > 35>>advanced	<</if>>
-			<<run _comment += " age decreases the penalty.">>
-		<<else>>
-			<<run _comment += " young age requires paying the full penalty.">>
-		<</if>>
-		<<run _option.addComment(`<span class=warning>${_comment}</span>`)>>
-	<</if>>
-
-	<<run _options.addOption("Trust", "trust", $activeSlave).showTextBox()
-	.addRange(-100, -95, "<", "Abjectly terrified")
-	.addRange(-70, -50, "<", "Terrified")
-	.addRange(-35, -20, "<", "Frightened")
-	.addRange(0, 20, "<", "Fearful")
-	.addRange(35, 50, "<", "Careful")
-	.addRange(70, 95, "<", "Trusting")
-	.addRange(100, 95, ">=", "Absolute trust")>>
-
-	<<run _options.addOption("Legal status", "indenture", $activeSlave)
-	.addValue("Slave", -1, () => V.activeSlave.indentureRestrictions = 0)
-	.addRange(52, 0, ">=", "Indentured Servant")>>
-	<<if $activeSlave.indenture > -1>>
-		<<run _options.addOption("Remaining weeks", "indenture", $activeSlave).showTextBox()>>
-
-		<<run _options.addOption("Indenture restrictions", "indentureRestrictions", $activeSlave)
-		.addValueList([["None", 0], ["Protective", 1], ["Restrictive", 2]])>>
-	<</if>>
-
-	<<run _options.addOption("Age", "actualAge", $activeSlave).showTextBox()
-	.customButton("Resync characteristics to age", () => resyncSlaveToAge(V.activeSlave))
-	.customButton("Resync only height to age", () => V.activeSlave.height = Height.random(V.activeSlave))
-	.addComment("It is recommended to resync if you change age significantly")>>
-
-	<<run _options.addOption("Birth week", "birthWeek", $activeSlave).showTextBox()>>
-
-	<<run _options.addOption("Genes", "genes", $activeSlave)
-	.addValue("XX (Female)", "XX", () => {
-		V.activeSlave.dick = 0;
-		V.activeSlave.balls = 0;
-		V.activeSlave.clit = 0;
-		V.activeSlave.pubertyXY = 0;
-		V.activeSlave.pubertyAgeXY = V.potencyAge;
-		V.activeSlave.pubertyXX = (V.activeSlave.pubertyAgeXX < V.activeSlave.actualAge ? 1 : 0);
-		V.activeSlave.vagina = Math.max(0, V.activeSlave.vagina);
-		V.activeSlave.boobs = Math.max(500, V.activeSlave.boobs);
-		V.activeSlave.balls = 0;
-		V.activeSlave.scrotum = 0;
-		V.activeSlave.prostate = 0;
-		V.activeSlave.shoulders = either(-2,-1,0);
-		V.activeSlave.hips = either(-2,-1,0);
-	}).addValue("XY (Male)", "XY", () => {
-		V.activeSlave.dick = 3;
-		V.activeSlave.vagina = -1;
-		WombFlush(V.activeSlave);
-		V.activeSlave.belly = 0;
-		V.activeSlave.bellyPreg = 0;
-		V.activeSlave.pubertyXY = (V.activeSlave.pubertyAgeXY < V.activeSlave.actualAge ? 1 : 0);
-		V.activeSlave.pubertyXX = 0;
-		V.activeSlave.pubertyAgeXX = V.fertilityAge;
-		V.activeSlave.ovaries = 0;
-		V.activeSlave.boobs = 0;
-		V.activeSlave.balls = 3;
-		V.activeSlave.scrotum = 3;
-		V.activeSlave.prostate = 1;
-		V.activeSlave.shoulders = either(0,1,2);
-		V.activeSlave.hips = either(0,1,2);
-	})>>
-
-	<<run _options.addOption("Condition", "condition", $activeSlave.health)
-	.addValueList([["Unhealthy", -40], ["Healthy", 0], ["Very healthy", 40], ["Extremely healthy", 80]])>>
-
-	<<set _option = _options.addOption("Prestige", "prestige", $activeSlave)
-	.addValueList([["None", 0], ["Locally known", 1], ["Regionally famous", 2], ["World renowned", 3]])>>
-	<<if $activeSlave.prestige > 0>>
-		<<set _comment = "Starting slaves incur an extreme cost penalty for prestige. This slave's">>
-		<<if $activeSlave.actualAge >= 25>>
-			<<if $activeSlave.actualAge > 35>>
-				<<set _comment += " advanced">>
-			<</if>>
-			<<set _comment += " age decreases the penalty.">>
-		<<else>>
-			<<set _comment += " young age requires paying the full penalty.">>
-		<</if>>
-		<<run _option.addComment(`<span class=warning>${_comment}</span>`)>>
-	<</if>>
-
-	<<run _options.addOption("$His nationality is", "nationality", $activeSlave).showTextBox()
-	.addValueList(Object.keys(App.Data.SlaveSummary.short.nationality))>>
-
-	<<if $seeRace == 1>>
-		<<run _options.addOption("$His ethnicity is", "race", $activeSlave).showTextBox()
-		.addValueList([["White", "white"], ["Asian", "asian"], ["Latina", "latina"], ["Middle Eastern", "middle eastern"],
-			["Black", "black"], ["Semitic", "semitic"], ["Southern European", "southern european"], ["Indo-Aryan", "indo-aryan"],
-			["Amerindian", "amerindian"], ["Pacific Islander", "pacific islander"], ["Malay", "malay"], ["Mixed Race", "mixed race"]])>>
-	<</if>>
-
-	<<run _options.addOption("$His skin color is", "origSkin", $activeSlave).showTextBox()
-	.addValueList([["Pure White", "pure white"], ["Ivory", "ivory"], ["White", "white"], ["Extremely Pale", "extremely pale"],
-			["Very Pale", "very pale"], ["Pale", "pale"], ["Extremely Fair", "extremely fair"], ["Very Fair", "very fair"],
-			["Fair", "fair"], ["Light", "light"], ["Light Olive", "light olive"], ["Tan", "tan"], ["Olive", "olive"], ["Bronze", "bronze"],
-			["Dark Olive", "dark olive"], ["Dark", "dark"], ["Light Beige", "light beige"], ["Beige", "beige"],
-			["Dark Beige", "dark beige"], ["Light Brown", "light brown"], ["Brown", "brown"], ["Dark Brown", "dark brown"],
-			["Black", "black"], ["Ebony", "ebony"], ["Pure Black", "pure black"]])>>
-
-	<<run _options.addOption("Intelligence", "intelligence", $activeSlave)
-	.addValueList([["Moronic", -100], ["Very stupid", -60], ["Stupid", -30], ["Average", 0], ["Smart", 30], ["Very smart", 60], ["Brilliant", 100]])>>
-
-	<<run _options.addOption("Education", "intelligenceImplant", $activeSlave)
-	.addValueList([["Uneducated", 0], ["Educated", 15], ["Well educated", 30]])>>
-
-	<<includeDOM _options.render()>>
+		<<includeDOM App.StartingGirls.profile($activeSlave)>>
 	</div>
 </div>
 
 <div id="Physical" class="tab-content">
 	<div class="content">
-
-	<<set _options = new App.UI.OptionsGroup()>>
-
-	<<run _options.addOption(`Height: ${heightToEitherUnit($activeSlave.height)}`, "height", $activeSlave).showTextBox("cm")
-	.addRange(145, 150, "<", "Petite")
-	.addRange(155, 160, "<", "Short")
-	.addRange(165, 170, "<", "Average")
-	.addRange(180, 185, "<", "Tall")
-	.addRange(190, 185, ">=", "Very tall")>>
-	<<set _option = _options.addOption(`Average height for a ${$activeSlave.actualAge} year old """is ${heightToEitherUnit(Math.round(Height.mean(V.activeSlave)))}"""`)
-	.customButton("Make average", () => resyncSlaveHight($activeSlave))>>
-	<<if $cheatMode === 1>>
-		<<run _option.customButton("Make dwarf", () => V.activeSlave.height = Height.random(V.activeSlave, {limitMult:	[-4, -1], spread: 0.15}))
-		.customButton("Make giant", () => V.activeSlave.height = Height.random(V.activeSlave, {limitMult:	[3, 10], spread: 0.15}))>>
-	<</if>>
-
-	<<run _options.addOption("Weight", "weight", $activeSlave)
-	.addRange(-100, -95, "<", "Emaciated")
-	.addRange(-50, -30, "<", "Skinny")
-	.addRange(-20, -10, "<", "Thin")
-	.addRange(0, 10, "<", "Average")
-	.addRange(20, 30, "<", "Plush")
-	.addRange(50, 95, "<", "Chubby")
-	.addRange(100, 130, "<", "Fat")
-	.addRange(140, 160, "<", "Obese")
-	.addRange(180, 190, "<", "Super obese")
-	.addRange(200, 190, ">=", "Dangerously obese")>>
-
-	<<run _options.addOption("Muscles", "muscles", $activeSlave)
-	.addRange(-100, -96, "<", "Frail")
-	.addRange(-66, -51, "<", "Very weak")
-	.addRange(-41, -6, "<", "Weak")
-	.addRange(0, 5, "<", "Normal")
-	.addRange(20, 30, "<", "Toned")
-	.addRange(40, 50, "<", "Well built")
-	.addRange(65, 95, "<", "Quite muscular")
-	.addRange(100, 95, ">=", "Ripped")>>
-
-	<<run _options.addOption("Waist", "waist", $activeSlave)
-	.addRange(-100, -95, "<", "	Absurd")
-	.addRange(-55, -40, "<", "Hourglass")
-	.addRange(-25, -15, "<", "Feminine")
-	.addRange(0, 10, "<", "Average")
-	.addRange(15, 40, "<", "Unattractive")
-	.addRange(55, 95, "<", "Ugly")
-	.addRange(100, 10, ">=", "Masculine")>>
-
-	<<set _option = _options.addOption("Facial appearance", "faceShape", $activeSlave)
-	.addValue("Normal", "normal")>>
-	<<if $seeDicks !== 0>>
-		<<run _option.addValue("Masculine", "masculine")>>
-	<</if>>
-	<<run _option.addValueList([["Androgynous", "androgynous"], ["Cute", "cute"], ["Sensual", "sensual"], ["Exotic", "exotic"]])>>
-
-	<<run _options.addOption("Facial attractiveness", "face", $activeSlave)
-	.addRange(-100, -95, "<", "Very ugly")
-	.addRange(-55, -40, "<", "Ugly")
-	.addRange(-15, -10, "<", "Unattractive")
-	.addRange(0, 10, "<", "Average")
-	.addRange(15, 40, "<", "Attractive")
-	.addRange(55, 95, "<", "Beautiful")
-	.addRange(100, 95, ">=", "Very beautiful")>>
-
-	<<set _option = _options.addOption("Lips", "lips", $activeSlave)
-	.addRange(5, 10, "<", "Thin")
-	.addRange(15, 20, "<", "Normal")
-	.addRange(25, 40, "<", "Pretty")
-	.addRange(55, 70, "<", "Plush")>>
-	<<if $seeExtreme == 1>>
-		<<run _option.addRange(85, 95, "<", "Huge")
-			.addRange(100, 95, ">=", "Facepussy")>>
-	<<else>>
-		<<run _option.addRange(85, 70, ">=", "Huge")>>
-	<</if>>
-
-	<<run _options.addOption("Voice", "voice", $activeSlave)
-	.addValueList([["Mute", 0], ["Deep", 1], ["Normal", 2], ["High", 3]])>>
-
-	<<if $activeSlave.voice !== 0>>
-		<<run _options.addOption("$language", "accent", $activeSlave)
-		.addValueList([["Unaccented", 0], [`Pretty ${aNational($activeSlave.nationality)} accent`, 1],
-		[`Thick ${aNational($activeSlave.nationality)} accent`, 2], ["Not fluent", 3]])>>
-	<</if>>
-
-	<<set _option = _options.addOption("Teeth", "teeth", $activeSlave)
-	.addValueList([["Crooked", "crooked"], ["Gapped", "gapped"], ["Braces", "straightening braces"]])>>
-	<<if $activeSlave.physicalAge >= 12>>
-		<<if $activeSlave.teeth == "baby" || $activeSlave.teeth == "mixed">>
-			<<set $activeSlave.teeth = "normal">>
-		<</if>>
-		<<run _option.addValue("Straight", "normal")>>
-	<<elseif $activeSlave.physicalAge >= 6>>
-		<<if $activeSlave.teeth == "baby" || $activeSlave.teeth == "normal" || $activeSlave.teeth == "">>
-			<<set $activeSlave.teeth = "mixed">>
-		<</if>>
-		<<run _option.addValue("Mixed adult & child", "mixed")>>
-	<<else>>
-		<<if $activeSlave.teeth == "mixed" || $activeSlave.teeth == "normal" || $activeSlave.teeth == "">>
-			<<set $activeSlave.teeth = "mixed">>
-		<</if>>
-		<<run _option.addValue("Baby", "baby")>>
-	<</if>>
-
-	<<run _options.addOption("Breasts", "boobs", $activeSlave).showTextBox("CCs")
-	.addRange(200, 200, "<=", "Flat (AA-cup)")
-	.addRange(300, 300, "<=", "Small (A-cup)")
-	.addRange(400, 400, "<=", "Medium (B-cup)")
-	.addRange(500, 500, "<=", "Healthy (C-cup)")
-	.addRange(800, 800, "<=", "Large (DD-cup)")
-	.addRange(1200, 1200, "<=", "Very Large (G-cup)")
-	.addRange(2050, 2050, "<=", "Huge (K-cup)")
-	.addRange(3950, 3950, "<=", "Massive (Q-cup)")
-	.addRange(6000, 6000, "<=", "Monstrous")
-	.addRange(8000, 6000, ">", "Science Experiment")>>
-
-	<<run _options.addOption("Lactation", "lactation", $activeSlave)
-	.addValue("Artificial", 2, () => V.activeSlave.lactationDuration = 2)
-	.addValue("Natural", 1, () => V.activeSlave.lactationDuration = 2)
-	.addValue("None", 0)>>
-
-	<<run _options.addOption("Nipples", "nipples", $activeSlave)
-	.addValueList([["Tiny", "tiny"], ["Cute", "cute"], ["Puffy", "puffy"], ["Partially Inverted", "partially inverted"], ["Inverted", "inverted"], ["Huge", "huge"]])>>
-
-	<<run _options.addOption("Areolae", "areolae", $activeSlave)
-	.addValueList([["Normal", 0], ["Large", 1], ["Wide", 2], ["Huge", 3], ["Massive", 4]])>>
-
-	<<run _options.addOption("Shoulders", "shoulders", $activeSlave)
-	.addValueList([["Very narrow", -2], ["Narrow", -1], ["Feminine", 0], ["Broad", 1], ["Very broad", 2]])>>
-
-	<<run _options.addOption("Hips", "hips", $activeSlave)
-	.addValueList([["Very narrow", -2], ["Narrow", -1], ["Normal", 0], ["Broad", 1], ["Very broad", 2]])>>
-
-	<<run _options.addOption("Butt", "butt", $activeSlave)
-	.addValueList([["Flat", 0], ["Small", 1], ["Plump", 2], ["Big", 3], ["Huge", 4], ["Enormous", 5], ["Gigantic", 6], ["Massive", 7]])>>
-
-	<<run _options.addOption("Anus", "anus", $activeSlave)
-	.addValueList([["Virgin", 0], ["Normal", 1], ["Veteran", 2], ["Gaping", 3]])>>
-
-	<<run _options.addOption("Vagina", "vagina", $activeSlave)
-	.addValue("No vagina", -1, () => {
-		V.activeSlave.preg = 0;
-		WombFlush(V.activeSlave);
-		V.activeSlave.belly = 0;
-		V.activeSlave.bellyPreg = 0;
-		V.activeSlave.pubertyXX = 0;
-		V.activeSlave.pubertyAgeXX = V.fertilityAge;
-		V.activeSlave.ovaries = 0;
-	}).addValue("Virgin", 0, () => {
-		V.activeSlave.preg = -1;
-		V.activeSlave.belly = 0;
-		V.activeSlave.bellyPreg = 0;
-		V.activeSlave.ovaries = 1
-	}).addValue("Normal", 1, () => {
-		V.activeSlave.preg = -1;
-		V.activeSlave.belly = 0;
-		V.activeSlave.bellyPreg = 0;
-		V.activeSlave.ovaries = 1
-	}).addValue("Veteran", 2, () => {
-		V.activeSlave.preg = -1;
-		V.activeSlave.belly = 0;
-		V.activeSlave.bellyPreg = 0;
-		V.activeSlave.ovaries = 1
-	}).addValue("Gaping", 3, () => {
-		V.activeSlave.preg = -1;
-		V.activeSlave.belly = 0;
-		V.activeSlave.bellyPreg = 0;
-		V.activeSlave.ovaries = 1
-	})>>
-
-	<<if $activeSlave.vagina > -1>>
-		<<if $activeSlave.dick === 0>>
-			<<run _options.addOption("Clit", "clit", $activeSlave)
-			.addValueList([["Normal", 0], ["Large", 1], ["Huge", 2]])>>
-		<</if>>
-
-		<<run _options.addOption("Labia", "labia", $activeSlave)
-		.addValueList([["Normal", 0], ["Large", 1], ["Huge", 2], ["Huge Dangling", 3]])>>
-
-		<<run _options.addOption("Vaginal wetness", "vaginaLube", $activeSlave)
-		.addValueList([["Dry", 0], ["Normal", 1], ["Excessive", 2]])>>
-
-		<<if $seePreg !== 0>>
-			/* This is only shown if slave has vagina */
-			<<run _options.addOption("Puberty", "pubertyXX", $activeSlave)
-			.addValue("Prepubescent", 0, () => {
-				V.activeSlave.pubertyAgeXX = V.fertilityAge;
-				V.activeSlave.belly = 0;
-				V.activeSlave.bellyPreg = 0;
-				WombFlush(V.activeSlave)
-			}).addValue("Postpubescent", 1)>>
-
-			<<run _options.addOption("Age of puberty", "pubertyAgeXX", $activeSlave).showTextBox()>>
-
-			<<if $activeSlave.pubertyXX === 1>>
-				<<set _option = _options.addOption("Pregnancy", "preg", $activeSlave)>>
-				<<if $seeHyperPreg === 1 && $cheatMode === 1>>
-					<<run _option.addValue("Bursting at the seams", 43, () => {
-						V.activeSlave.pregType = 150;
-						V.activeSlave.pregWeek = 43;
-						V.activeSlave.pregKnown = 1;
-						V.activeSlave.belly = 2700000;
-						V.activeSlave.bellyPreg = 2700000;
-						V.activeSlave.pubertyXX = 1;
-					})>>
-					<<if $activeSlave.preg === 43>>
-						<<run _option.addComment("Extreme hyper pregnancy!")>>
-					<</if>>
-				<</if>>
-				<<run _option.addValue("Completely Filled", 42, () => {
-					V.activeSlave.pregType = 8;
-					V.activeSlave.pregWeek = 42;
-					V.activeSlave.pregKnown = 1;
-					V.activeSlave.belly = 120000;
-					V.activeSlave.bellyPreg = 120000;
-					V.activeSlave.pubertyXX = 1;
-				}).addValue("Ready to drop", 40, () => {
-					V.activeSlave.pregType = 1;
-					V.activeSlave.pregWeek = 40;
-					V.activeSlave.pregKnown = 1;
-					V.activeSlave.belly = 15000;
-					V.activeSlave.bellyPreg = 15000;
-					V.activeSlave.pubertyXX = 1;
-				}).addValue("Advanced", 34, () => {
-					V.activeSlave.pregType = 1;
-					V.activeSlave.pregWeek = 34;
-					V.activeSlave.pregKnown = 1;
-					V.activeSlave.belly = 10000;
-					V.activeSlave.bellyPreg = 10000;
-					V.activeSlave.pubertyXX = 1;
-				}).addValue("Showing", 27, () => {
-					V.activeSlave.pregType = 1;
-					V.activeSlave.pregWeek = 27;
-					V.activeSlave.pregKnown = 1;
-					V.activeSlave.belly = 5000;
-					V.activeSlave.bellyPreg = 5000;
-					V.activeSlave.pubertyXX = 1;
-				}).addValue("Early", 12, () => {
-					V.activeSlave.pregType = 1;
-					V.activeSlave.pregWeek = 12;
-					V.activeSlave.pregKnown = 1;
-					V.activeSlave.belly = 100;
-					V.activeSlave.bellyPreg = 100;
-					V.activeSlave.pubertyXX = 1;
-				}).addValue("None", 0, () => {
-					V.activeSlave.pregType = 0;
-					V.activeSlave.belly = 0;
-					V.activeSlave.bellyPreg = 0;
-					V.activeSlave.pregSource = 0;
-					V.activeSlave.pregWeek = 0;
-					V.activeSlave.pregKnown = 0;
-				}).addValue("Contraceptives", -1, () => {
-					V.activeSlave.pregType = 0;
-					V.activeSlave.belly = 0;
-					V.activeSlave.bellyPreg = 0;
-					V.activeSlave.pregSource = 0;
-					V.activeSlave.pregWeek = 0;
-					V.activeSlave.pregKnown = 0;
-				}).addValue("Barren", -2, () => {
-					V.activeSlave.pregType = 0;
-					V.activeSlave.belly = 0;
-					V.activeSlave.bellyPreg = 0;
-					V.activeSlave.pregSource = 0;
-					V.activeSlave.pregWeek = 0;
-					V.activeSlave.pregKnown = 0;
-				})>>
-			<</if>>
-
-			<<if $PC.dick > 0 && $activeSlave.preg > 0>>
-				<<run _options.addOption("Father of child", "pregSource", $activeSlave)
-				.addValueList([["My child", -1], ["Not me", 0]])>>
-			<</if>>
-		<</if>>
-	<</if>>
-
-	<<if $seeDicks !== 0 || $makeDicks === 1>>
-		<<run _options.addOption("Penis", "dick", $activeSlave)
-		.addValue("None", 0, () => {
-			V.activeSlave.balls = 0;
-			V.activeSlave.pubertyXY = 0;
-			V.activeSlave.pubertyAgeXY = V.potencyAge;
-		}).addValue("Tiny", 1, () => {V.activeSlave.clit = 0})
-		.addValue("Small", 2, () => {V.activeSlave.clit = 0})
-		.addValue("Normal", 3, () => {V.activeSlave.clit = 0})
-		.addValue("Large", 4, () => {V.activeSlave.clit = 0})
-		.addValue("Massive", 5, () => {V.activeSlave.clit = 0})>>
-
-		<<if $activeSlave.dick > 0>>
-			<<set _option = _options.addOption("Foreskin", "foreskin", $activeSlave)>>
-			<<if $seeCircumcision === 1>>
-				<<run _option.addValue("Circumcised", 0)>>
-			<<elseif $activeSlave.foreskin === 0>>
-				<<set $activeSlave.foreskin = 3>>
-			<</if>>
-			<<run _option.addValueList([["Tiny", 1], ["Small", 2], ["Normal", 3], ["Large", 4], ["Massive", 5]])>>
-		<</if>>
-
-		<<run _options.addOption("Testicles", "balls", $activeSlave)
-		.addValue("None", 0, () => {
-			V.activeSlave.pubertyXY = 0;
-			V.activeSlave.pubertyAgeXY = V.potencyAge;
-			V.activeSlave.scrotum = 0;
-		}).addValueList([["Vestigial", 1], ["Small", 2], ["Normal", 3], ["Large", 4], ["Massive", 5]])>>
-
-		<<run _options.addOption("Age of Male Puberty", "pubertyAgeXY", $activeSlave).showTextBox()>>
-
-		<<if $activeSlave.balls > 0>>
-			<<run _options.addOption("Ballsack", "scrotum", $activeSlave)
-			.addValueList([["None", 0], ["Tiny", 1], ["Small", 2], ["Normal", 3], ["Large", 4], ["Massive", 5]])>>
-
-			<<run _options.addOption("Male Puberty", "pubertyXY", $activeSlave)
-			.addValue("Prepubescent", 0, () => {V.activeSlave.pubertyAgeXY = V.potencyAge})
-			.addValue("Postpubescent", 1)>>
-		<</if>>
-	<</if>>
-
-	<<run _options.addOption("Prostate", "prostate", $activeSlave)
-	.addValueList([["No prostate", 0], ["Has a prostate", 1]])>>
-
-	<<set _optionLeft = _options.addOption("Left eye", "vision", $activeSlave.eye.left)>>
-	<<set _optionRight = _options.addOption("Right eye", "vision", $activeSlave.eye.right)>>
-	<<run _optionLeft.addValueList([["Normal", 2], ["Nearsighted", 1]]), _optionRight.addValueList([["Normal", 2], ["Nearsighted", 1]])>>
-	<<if $seeExtreme === 1>>
-		<<run _optionLeft.addValue("Blind", 0),  _optionRight.addValue("Blind", 0)>>
-	<<else>>
-		<<if $activeSlave.eye.left.vision === 0>>
-			<<set $activeSlave.eye.left.vision = 2>>
-		<</if>>
-		<<if $activeSlave.eye.right.vision === 0>>
-			<<set $activeSlave.eye.right.vision = 2>>
-		<</if>>
-	<</if>>
-
-	<<set _option = _options.addOption("Hearing", "hears", $activeSlave)>>
-	<<run _option.addValueList([["Normal", 0], ["Hard of hearing", -1]])>>
-	<<if $seeExtreme == 1>>
-		<<run _option.addValue("Deaf", -2)>>
-	<<elseif $activeSlave.hears === 0>>
-		<<set $activeSlave.hears = 2>>
-	<</if>>
-
-
-	<<if $seeExtreme == 1>>
-		<<run _options.addOption("Smell ability", "smells", $activeSlave)
-		.addValueList([["Normal", 0], ["None", -1]])>>
-
-		<<run _options.addOption("Taste ability", "tastes", $activeSlave)
-		.addValueList([["Normal", 0], ["None", -1]])>>
-
-		<<set _LA = hasLeftArm($activeSlave)>>
-		<<run _options.addOption("Left arm", "LA", State.temporary)
-		.addValue("Healthy", true, () => V.activeSlave.arm.left = new App.Entity.LimbState())
-		.addValue("Amputated", false, () => V.activeSlave.arm.left = null)>>
-
-		<<set _RA = hasRightArm($activeSlave)>>
-		<<run _options.addOption("Right arm", "RA", State.temporary)
-		.addValue("Healthy", true, () => V.activeSlave.arm.right = new App.Entity.LimbState())
-		.addValue("Amputated", false, () => V.activeSlave.arm.right = null)>>
-
-		<<set _LL = hasLeftLeg($activeSlave)>>
-		<<run _options.addOption("Left leg", "LL", State.temporary)
-		.addValue("Healthy", true, () => V.activeSlave.leg.left = new App.Entity.LimbState())
-		.addValue("Amputated", false, () => V.activeSlave.leg.left = null)>>
-
-		<<set _RL = hasRightLeg($activeSlave)>>
-		<<run _options.addOption("Right leg", "RL", State.temporary)
-		.addValue("Healthy", true, () => V.activeSlave.leg.right = new App.Entity.LimbState())
-		.addValue("Amputated", false, () => V.activeSlave.leg.right = null)>>
-	<</if>>
-
-	<<includeDOM _options.render()>>
+		<<includeDOM App.StartingGirls.physical($activeSlave)>>
 	</div>
 </div>
 
 <div id="Mental" class="tab-content">
 	<div class="content">
-
-	<<set _options = new App.UI.OptionsGroup()>>
-	<<if $activeSlave.fetishKnown === 0>>
-		<<run _options.addOption("Fetish", "fetishKnown", $activeSlave)
-		.addValueList([["Unknown", 0], ["Known", 1]])>>
-	<<else>>
-		<<set _option = _options.addOption("Fetish", "fetish", $activeSlave)
-		.addValue("Unknown", "", () => {
-			V.activeSlave.fetish = either("boobs", "buttslut", "cumslut", "dom", "humiliation", "masochist", "pregnancy", "sadist",
-				"submissive", "none", "none", "none", "none", "none", "none", "none", "none", "none", "none");
-			V.activeSlave.fetishKnown = 0
-		}).addValueList([["None", "none"], ["Sub", "submissive"], ["Dom", "dom"], ["Cumslut", "cumslut"], ["Humiliation", "humiliation"],
-		["Buttslut", "buttslut"], ["Breasts", "boobs"], ["Pregnancy", "pregnancy"], ["Sadism", "sadist"], ["Masochism", "masochist"]])>>
-		<<if $seeExtreme === 1>>
-			<<run _option.addValue("Mindbroken", "mindbroken", () => {
-				V.activeSlave.fetishStrength = 10;
-				V.activeSlave.sexualFlaw = "none";
-				V.activeSlave.sexualQuirk = "none";
-				V.activeSlave.behavioralFlaw = "none";
-				V.activeSlave.behavioralQuirk = "none";
-			})>>
-		<</if>>
-
-		<<if $activeSlave.fetish !== "none" && $activeSlave.fetish !== "mindbroken">>
-			<<run _options.addOption("Fetish strength", "fetishStrength", $activeSlave)
-			.addRange(15, 30, "<=", "Very Low")
-			.addRange(45, 60, "<=", "Low")
-			.addRange(75, 85, "<=", "Normal")
-			.addRange(90, 95, "<=", "High")
-			.addRange(100, 95, ">", "Extremely High")>>
-		<</if>>
-	<</if>>
-
-	<<run _options.addOption("Sexuality", "attrKnown", $activeSlave)
-	.addValue("Unknown", 0).addValue("Known", 1, () => {
-		V.activeSlave.attrXX = random(0, 100);
-		V.activeSlave.attrXY = random(0, 100);
-		V.activeSlave.energy = random(1, 90);
-	})>>
-	<<if $activeSlave.attrKnown === 1>>
-		<<run _options.addOption("Attraction to men", "attrXY", $activeSlave)
-		.addRange(0, 5, "<=", "Disgusted").off()
-		.addRange(10, 15, "<=", "Turned off").off()
-		.addRange(25, 35, "<=", "Not attracted").off()
-		.addRange(50, 65, "<=", "Indifferent").neutral()
-		.addRange(75, 85, "<=", "Attracted").on()
-		.addRange(90, 95, "<=", "Aroused").on()
-		.addRange(100, 95, ">", "Passionate").on()>>
-		<<run _options.addOption("Attraction to women", "attrXX", $activeSlave)
-		.addRange(0, 5, "<=", "Disgusted").off()
-		.addRange(10, 15, "<=", "Turned off").off()
-		.addRange(25, 35, "<=", "Not attracted").off()
-		.addRange(50, 65, "<=", "Indifferent").neutral()
-		.addRange(75, 85, "<=", "Attracted").on()
-		.addRange(90, 95, "<=", "Aroused").on()
-		.addRange(100, 95, ">", "Passionate").on()>>
-
-		<<run _options.addOption("Sex drive", "energy", $activeSlave)
-		.addRange(5, 10, "<=", "Frigid").off()
-		.addRange(25, 40, "<=", "Poor").off()
-		.addRange(45, 60, "<=", "Average").neutral()
-		.addRange(65, 80, "<=", "Powerful").on()
-		.addRange(85, 99, "<=", "Sex addict").on()
-		.addRange(100, 99, ">", "Nympho").on()>>
-	<</if>>
-
-	<<if $activeSlave.fetish !== "mindbroken">>
-		<<run _options.addOption("Behavioral Flaw", "behavioralFlaw", $activeSlave)
-		.addValueList([["None", "none"], ["Arrogant", "arrogant"], ["Bitchy", "bitchy"], ["Odd", "odd"], ["Hates Men", "hates men"],
-		["Hates Women", "hates women"], ["Anorexic", "anorexic"], ["Gluttonous", "gluttonous"], ["Devout", "devout"],
-		["Liberated", "liberated"]])>>
-
-		<<run _options.addOption("Behavioral Quirk", "behavioralQuirk", $activeSlave)
-		.addValueList([["None", "none"], ["Confident", "confident"], ["Cutting", "cutting"], ["Funny", "funny"],
-		["Adores Men", "adores men"], ["Adores Women", "adores women"], ["Insecure", "insecure"], ["Fitness", "fitness"],
-		["Sinful", "sinful"], ["Advocate", "advocate"]])>>
-
-		<<run _options.addOption("Sexual Flaw", "sexualFlaw", $activeSlave)
-		.addValueList([["None", "none"], ["Hates Oral", "hates oral"], ["Hates Anal", "hates anal"],
-		["Hates Penetration", "hates penetration"], ["Repressed", "repressed"], ["Shamefast", "shamefast"], ["Apathetic", "apathetic"],
-		["Crude", "crude"], ["Judgemental", "judgemental"], ["Sexually idealistic", "idealistic"]])>>
-
-		<<run _options.addOption("Sexual Quirk", "sexualQuirk", $activeSlave)
-		.addValueList([["None", "none"], ["Oral", "gagfuck queen"], ["Anal", "painal queen"], ["Penetration", "strugglefuck queen"],
-		["Perverted", "perverted"], ["Tease", "tease"], ["Caring", "caring"], ["Unflinching", "unflinching"], ["Size queen", "size queen"],
-		["Romantic", "romantic"]])>>
-	<</if>>
-
-	<<includeDOM _options.render()>>
+		<<includeDOM App.StartingGirls.mental($activeSlave)>>
 	</div>
 </div>
 
@@ -1061,7 +308,7 @@
 
 <div id="Family" class="tab-content">
 	<div class="content">
-	<<editFamily>>
+		<<includeDOM App.Intro.editFamily($activeSlave)>>
 	</div>
 </div>
 
@@ -1071,118 +318,9 @@
 	</div>
 </div>
 
-<div id="Customization" class="tab-content">
+<div id="salon" class="tab-content">
 	<div class="content">
-
-	''Birth name:'' <<textbox "$activeSlave.birthName" $activeSlave.birthName "Starting Girls">>
-	| ''Slave name:'' <<textbox "$activeSlave.slaveName" $activeSlave.slaveName "Starting Girls">>
-	<br>''Birth surname:'' <<textbox "$activeSlave.birthSurname" $activeSlave.birthSurname "Starting Girls">>
-	| ''Slave surname:'' <<textbox "$activeSlave.slaveSurname" $activeSlave.slaveSurname "Starting Girls">>
-	<br>''Career:'' <span id="career-textbox"><<textbox "$activeSlave.career" $activeSlave.career "Starting Girls">></span>
-	<span id="careers"></span>
-	<script>jQuery('#careers').empty().append(App.StartingGirls.career(V.activeSlave));</script>
-	<br>''Hair color:'' <<textbox "$activeSlave.origHColor" $activeSlave.origHColor "Starting Girls">> //This will also set eyebrow, pubic, and underarm hair color.//
-	<br>''Hair Style:'' <<textbox "$activeSlave.hStyle" $activeSlave.hStyle "Starting Girls">>
-	<br>''Hair Length:'' <<textbox "$activeSlave.hLength" $activeSlave.hLength "Starting Girls">>
-	<br>''Eye color:'' <<textbox "$activeSlave.eye.origColor" $activeSlave.eye.origColor "Starting Girls">>
-	<<if def $pupil_temp>>
-		<<set $activeSlave.eye.left.pupil = $pupil_temp, $activeSlave.eye.right.pupil = $pupil_temp, delete $pupil_temp>>
-	<</if>>
-	<br>''Pupil shape:'' <<textbox "$pupil_temp" $activeSlave.eye.left.pupil "Starting Girls">>
-	<<if def $sclerae_temp>>
-		<<set $activeSlave.eye.left.sclera = $sclerae_temp, $activeSlave.eye.right.sclera = $sclerae_temp, delete $sclerae_temp>>
-	<</if>>
-	<br>''Sclera color:'' <<textbox "$sclerae_temp" $activeSlave.eye.left.sclera "Starting Girls">>
-	<br>Custom tattoo: <<textbox "$activeSlave.custom.tattoo" $activeSlave.custom.tattoo "Starting Girls">> //Use complete, capitalized and punctuated sentences.//
-	<br>Custom origin story: <<textbox "$activeSlave.origin" $activeSlave.origin "Starting Girls">> //Use complete, capitalized and punctuated sentences.//
-	<br>Origin override:
-	<<if $originOverride == 0>>
-		@@.red;Disabled@@ [[Enable|Starting Girls][$originOverride = 1]] //Enabling will keep your custom origin and tattoo from being overwritten by Starting Girls.//
-	<<else>>
-		@@.green;Enabled@@ [[Disable|Starting Girls][$originOverride = 0]] //Disabling will allow Starting Girls to overwrite origins and tattoos with its defaults.//
-	<</if>>
-	<<if $activeSlave.prestige>>
-		<br>Reason for prestigiousness: <<textbox "$activeSlave.prestigeDesc" $activeSlave.prestigeDesc>> //Use complete, capitalized and punctuated sentences.//
-	<</if>>
-	<br>Custom description: <<textbox "$activeSlave.custom.desc" $activeSlave.custom.desc "Starting Girls">> //Use complete, capitalized and punctuated sentences.//
-	<br>Custom label: <<textbox "$activeSlave.custom.label" $activeSlave.custom.label "Starting Girls">> //Use a short phrase.//
-
-	<br><br>
-	''Eyebrow hair style:'' $activeSlave.eyebrowHStyle.
-	[[Natural|Starting Girls][$activeSlave.eyebrowHStyle = "natural"]]
-	| [[Curved|Starting Girls][$activeSlave.eyebrowHStyle = "curved"]]
-	| [[Elongated|Starting Girls][$activeSlave.eyebrowHStyle = "elongated"]]
-	| [[High-Arched|Starting Girls][$activeSlave.eyebrowHStyle = "high-arched"]]
-	| [[Rounded|Starting Girls][$activeSlave.eyebrowHStyle = "rounded"]]
-	| [[Shaved|Starting Girls][$activeSlave.eyebrowHStyle = "shaved"]]
-	| [[Shortened|Starting Girls][$activeSlave.eyebrowHStyle = "shortened"]]
-	| [[Slanted Inwards|Starting Girls][$activeSlave.eyebrowHStyle = "slanted inwards"]]
-	| [[Slanted Outwards|Starting Girls][$activeSlave.eyebrowHStyle = "slanted outwards"]]
-	| [[Straight|Starting Girls][$activeSlave.eyebrowHStyle = "straight"]]
-
-	<br>
-	''Eyebrow hair maintenance:'' $activeSlave.eyebrowFullness
-	[[Natural|Starting Girls][$activeSlave.eyebrowFullness = "natural"]]
-	| [[Bushy|Starting Girls][$activeSlave.eyebrowFullness = "bushy"]]
-	| [[Thick|Starting Girls][$activeSlave.eyebrowFullness = "thick"]]
-	| [[Tapered|Starting Girls][$activeSlave.eyebrowFullness = "tapered"]]
-	| [[Threaded|Starting Girls][$activeSlave.eyebrowFullness = "threaded"]]
-	| [[Thin|Starting Girls][$activeSlave.eyebrowFullness = "thin"]]
-	| [[Pencil-Thin|Starting Girls][$activeSlave.eyebrowFullness = "pencil-thin"]]
-
-	<br><br>
-	''Pubic hair maintenance:'' $activeSlave.pubicHStyle.
-	[[Waxed|Starting Girls][$activeSlave.pubicHStyle = "waxed"]]
-	| [[Naturally hairless|Starting Girls][$activeSlave.pubicHStyle = "hairless"]]
-	| [[Landing strip|Starting Girls][$activeSlave.pubicHStyle = "in a strip"]]
-	| [[Neat|Starting Girls][$activeSlave.pubicHStyle = "neat"]]
-	| [[Bushy in the front|Starting Girls][$activeSlave.pubicHStyle = "bushy in the front and neat in the rear"]]
-	| [[Bushy|Starting Girls][$activeSlave.pubicHStyle = "bushy"]]
-	| [[Very Bushy|Starting Girls][$activeSlave.pubicHStyle = "very bushy"]]
-
-	<br><br>
-	''Under arm hair maintenance:'' $activeSlave.underArmHStyle.
-	[[Waxed|Starting Girls][$activeSlave.underArmHStyle = "waxed"]]
-	| [[Naturally hairless|Starting Girls][$activeSlave.underArmHStyle = "hairless"]]
-	| [[Shaved|Starting Girls][$activeSlave.underArmHStyle = "shaved"]]
-	| [[Neat|Starting Girls][$activeSlave.underArmHStyle = "neat"]]
-	| [[Bushy|Starting Girls][$activeSlave.underArmHStyle = "bushy"]]
-
-	<br><br>
-	''Natural skin distinctiveness:'' $activeSlave.markings.
-	[[None|Starting Girls][$activeSlave.markings = "none"]]
-	| [[Freckles|Starting Girls][$activeSlave.markings = "freckles"]]
-	| [[Heavily freckled|Starting Girls][$activeSlave.markings = "heavily freckled"]]
-	| [[Beauty mark|Starting Girls][$activeSlave.markings = "beauty mark"]]
-	| [[Birthmark|Starting Girls][$activeSlave.markings = "birthmark"]]
-
-	<<if $activeSlave.anus > 0>>
-		<br><br>
-		''External appearance of anus:''
-		<<if $activeSlave.analArea <= $activeSlave.anus>>
-			Recently stretched to current size.
-		<<elseif $activeSlave.analArea - $activeSlave.anus == 1>>
-			Used to current size.
-		<<else>>
-			Very broad.
-		<</if>>
-		[[Recently stretched|Starting Girls][$activeSlave.analArea = $activeSlave.anus]]
-		| [[Used to current size|Starting Girls][$activeSlave.analArea = $activeSlave.anus+1]]
-		| [[Very broad|Starting Girls][$activeSlave.analArea = $activeSlave.anus+2]]
-	<</if>>
-
-	<br><br>
-	''Natural breast shape:'' $activeSlave.boobShape.
-	[[Normal|Starting Girls][$activeSlave.boobShape = "normal"]]
-	| [[Perky|Starting Girls][$activeSlave.boobShape = "perky"]]
-	| [[Torpedo-shaped|Starting Girls][$activeSlave.boobShape = "torpedo-shaped"]]
-	| [[Wide-set|Starting Girls][$activeSlave.boobShape = "wide-set"]]
-	| [[Downward-facing|Starting Girls][$activeSlave.boobShape = "downward-facing"]]
-	| [[Saggy|Starting Girls][$activeSlave.boobShape = "saggy"]]
-
-	<br><br>
-	''Births:'' <<textbox "$activeSlave.counter.birthsTotal" $activeSlave.counter.birthsTotal "Starting Girls">> //How many times $he has already given birth, not necessarily while owned by you.//
-
+		<<includeDOM App.UI.salon($activeSlave, true)>>
 	</div>
 </div>
 
@@ -1190,7 +328,7 @@
 	<div class="content">
 
 	<<if $cash >= _slaveCost>>
-		<<if $PC.career != "engineer">>
+		<<if $PC.career != "engineer" && $PC.career != "construction" && $PC.career != "worksite helper">>
 			<div class="indent">
 				<<link "Add this slave">>
 					<<set $applyCareerBonus = 1>>
@@ -1198,25 +336,29 @@
 				<</link>>
 				<span class="note">
 					This will apply your @@.springgreen;career bonus@@ to $him:
-					<<if $PC.career == "capitalist">>
+					<<if $PC.career == "capitalist" || $PC.career == "entrepreneur" || $PC.career == "business kid">>
 						one free level of @@.cyan;prostitution skill.@@
-					<<elseif $PC.career == "mercenary">>
-						@@.mediumaquamarine;+10 trust.@@
-					<<elseif $PC.career == "slaver">>
+					<<elseif $PC.career == "mercenary" || $PC.career == "recruit" || $PC.career == "child soldier">>
+						<<if $activeSlave.devotion > 20>>
+							@@.mediumaquamarine;+10 trust.@@
+						<<else>>
+							@@.gold;+10 fear.@@
+						<</if>>
+					<<elseif $PC.career == "slaver" || $PC.career == "slave overseer" || $PC.career == "slave tender">>
 						@@.hotpink;+10 devotion.@@
-					<<elseif $PC.career == "medicine">>
+					<<elseif $PC.career == "medicine" || $PC.career == "medical assistant" || $PC.career == "nurse">>
 						free @@.lime;basic implants.@@
-					<<elseif $PC.career == "celebrity">>
+					<<elseif $PC.career == "celebrity" || $PC.career == "rising star" || $PC.career == "child star">>
 						one free level of @@.cyan;entertainment skill.@@
-					<<elseif $PC.career == "escort">>
+					<<elseif $PC.career == "escort" || $PC.career == "prostitute" || $PC.career == "child prostitute">>
 						two free levels of @@.cyan;sex skills,@@ one free level of @@.cyan;prostitution skill,@@ and one free level of @@.cyan;entertainment skill.@@
-					<<elseif $PC.career == "servant">>
+					<<elseif $PC.career == "servant" || $PC.career == "handmaiden" || $PC.career == "child servant">>
 						@@.mediumaquamarine;+10 trust@@ and @@.hotpink;+10 devotion.@@
-					<<elseif $PC.career == "gang">>
+					<<elseif $PC.career == "gang" || $PC.career == "hoodlum" || $PC.career == "street urchin">>
 						@@.green;+5 health@@ and one free level of @@.cyan;combat skill.@@
-					<<elseif $PC.career == "wealth">>
+					<<elseif $PC.career == "wealth" || $PC.career == "trust fund" || $PC.career == "rich kid">>
 						two free levels of @@.cyan;sex skills.@@
-					<<elseif $PC.career == "BlackHat">>
+					<<elseif $PC.career == "BlackHat" || $PC.career == "hacker" || $PC.career == "script kiddy">>
 						one free level of @@.cyan;intelligence.@@
 					<<else>>
 						@@.hotpink;+10 devotion,@@ one free level of @@.cyan;prostitution skill@@ and @@.cyan;entertainment skill,@@ and two free levels of @@.cyan;sex skills.@@
@@ -1224,7 +366,7 @@
 				</span>
 			</div>
 		<</if>>
-		<<set _text = $PC.career != "engineer" ? "Add this slave without career bonus" : "Add this slave">>
+		<<set _text = ($PC.career != "engineer" && $PC.career != "construction" && $PC.career != "worksite helper") ? "Add this slave without career bonus" : "Add this slave">>
 		<div class="indent">
 			<<link _text>>
 				<<set $applyCareerBonus = 0>>
diff --git a/src/personalAssistant/assistantAppearance.js b/src/personalAssistant/assistantAppearance.js
index 85fb656c8f6b6c637a6dc8e83a01cbf792de461b..84629d1a8c5ccaf5af86c69d62c95f69040f0ea5 100644
--- a/src/personalAssistant/assistantAppearance.js
+++ b/src/personalAssistant/assistantAppearance.js
@@ -1804,3 +1804,72 @@ globalThis.PersonalAssistantAppearance = function() {
 		return fsAppearance[V.assistant.appearance][V.assistant.fsAppearance];
 	}
 };
+
+globalThis.assistantFS = function() {
+	const el = new DocumentFragment();
+	for (const FS of App.Data.Assistant.appearanceForFS.keys()) {
+		if (V.arcologies[0][FS] !== "unset") {
+			const linkArray = [];
+			const div = document.createElement("div");
+			div.append(App.Data.FutureSociety.records[FS].noun, " likes: ");
+
+			for (const appearance of App.Data.Assistant.appearanceForFS.get(FS)) {
+				if (App.Data.Assistant.appearances.get(appearance).requirements) {
+					if (V.assistant.appearance === appearance) {
+						linkArray.push(
+							App.UI.DOM.disabledLink(
+								capFirstChar(appearance),
+								["Currently Selected"]
+							)
+						);
+					} else {
+						linkArray.push(
+							App.UI.DOM.link(
+								capFirstChar(appearance),
+								() => {
+									V.assistant.appearance = appearance;
+									App.UI.reload();
+								}
+							)
+						);
+					}
+				}
+			}
+
+			for (let i = 0; i < linkArray.length; i++) {
+				div.append(linkArray[i]);
+				if (i === linkArray.length - 2) {
+					div.append(" and ");
+				} else if (i === linkArray.length - 1) {
+					div.append(".");
+				} else {
+					div.append(", ");
+				}
+			}
+			el.append(div);
+		}
+	}
+	return el;
+};
+
+globalThis.availableAssistantAppearances = function() {
+	const el = document.createElement("div");
+	const {hisA} = getPronouns(assistant.pronouns().main).appendSuffix('A');
+	el.append(`Select ${hisA} appearance: `);
+	const select = App.UI.DOM.appendNewElement("select", el);
+	for (const [appearance, obj] of App.Data.Assistant.appearances) {
+		if (obj.requirements) {
+			const option = App.UI.DOM.appendNewElement("option", select, capFirstChar(appearance));
+			option.value = appearance;
+			if (V.assistant.appearance === appearance) {
+				option.selected = true;
+			}
+		}
+	}
+	select.onchange = () => {
+		const O = select.options[select.selectedIndex];
+		V.assistant.appearance = O.value;
+		App.UI.reload();
+	};
+	return el;
+};
diff --git a/src/personalAssistant/assistantData.js b/src/personalAssistant/assistantData.js
new file mode 100644
index 0000000000000000000000000000000000000000..a2879afa6d0ad09b80b327ec01266c479a78d469
--- /dev/null
+++ b/src/personalAssistant/assistantData.js
@@ -0,0 +1,69 @@
+App.Data.Assistant = {};
+/**
+ * Assistant appearances mapped to the FS that love seeing her look like she do.
+ * @type {Map<FC.FutureSociety, Array>}
+ */
+App.Data.Assistant.appearanceForFS = new Map([
+	["FSSupremacist", ["amazon", "monstergirl", "succubus"]],
+	["FSSubjugationist", ["amazon", "businesswoman", "imp"]],
+	["FSGenderRadicalist", ["incubus", "monstergirl", "shemale", "succubus", "witch"]],
+	["FSGenderFundamentalist", ["angel", "cherub", "fairy", "goddess", "hypergoddess", "loli", "preggololi", "pregnant fairy", "schoolgirl", "succubus", "witch"]],
+	["FSDegradationist", ["businesswoman", "imp", "incubus", "monstergirl", "preggololi", "succubus"]],
+	["FSPaternalist", ["angel", "cherub", "fairy", "goddess", "hypergoddess", "loli", "preggololi", "pregnant fairy", "schoolgirl"]],
+	["FSBodyPurist", ["amazon", "angel", "fairy", "goddess", "incubus", "loli", "pregnant fairy", "succubus", "witch"]],
+	["FSTransformationFetishist", ["businesswoman", "ERROR_1606_APPEARANCE_FILE_CORRUPT", "incubus", "shemale", "succubus", "witch"]],
+	["FSYouthPreferentialist", ["angel", "cherub", "imp", "loli", "preggololi", "schoolgirl", "shemale", "succubus", "witch"]],
+	["FSMaturityPreferentialist", ["angel", "businesswoman", "goddess", "incubus", "succubus", "witch"]],
+	["FSSlimnessEnthusiast", ["cherub", "imp", "loli", "schoolgirl", "shemale", "succubus", "witch"]],
+	["FSAssetExpansionist", ["businesswoman", "hypergoddess", "incubus", "shemale", "succubus", "witch"]],
+	["FSPastoralist", ["goddess", "hypergoddess", "incubus", "shemale", "succubus", "witch"]],
+	["FSPhysicalIdealist", ["amazon", "incubus", "shemale", "succubus", "witch"]],
+	["FSHedonisticDecadence", ["goddess", "hypergoddess", "imp", "incubus", "preggololi", "succubus", "witch"]],
+	["FSChattelReligionist", ["angel", "cherub", "goddess", "imp", "incubus", "monstergirl", "succubus", "witch"]],
+	["FSNull", []],
+	["FSRomanRevivalist", ["amazon", "businesswoman", "incubus", "succubus"]],
+	["FSNeoImperialist", ["amazon", "businesswoman", "incubus", "shemale", "angel"]],
+	["FSEgyptianRevivalist", ["goddess", "incubus", "monstergirl", "succubus"]],
+	["FSEdoRevivalist", ["amazon", "incubus", "kitsunegirl", "loli", "monstergirl", "succubus"]],
+	["FSArabianRevivalist", ["businesswoman", "incubus", "schoolgirl", "succubus"]],
+	["FSChineseRevivalist", ["incubus", "monstergirl", "schoolgirl", "succubus"]],
+	["FSAztecRevivalist", ["amazon", "businesswoman", "incubus", "succubus"]],
+	["FSRepopulationFocus", ["goddess", "hypergoddess", "preggololi", "pregnant fairy", "succubus", "witch"]],
+	["FSRestart", ["angel", "businesswoman", "goddess", "incubus", "loli", "schoolgirl", "succubus", "witch"]],
+	["FSIntellectualDependency", ["shemale", "succubus", "witch"]],
+	["FSSlaveProfessionalism", ["angel", "businesswoman", "incubus", "goddess", "schoolgirl", "succubus"]],
+	["FSPetiteAdmiration", ["cherub", "fairy", "imp", "incubus", "loli", "preggololi", "pregnant fairy", "schoolgirl", "succubus", "witch"]],
+	["FSStatuesqueGlorification", ["amazon", "goddess", "incubus", "succubus", "witch"]]
+]);
+
+App.Data.Assistant.appearances = new Map([
+	["normal", {get requirements() { return true; }}],
+	["monstergirl", {get requirements() { return (V.seeDicks > 0); }}],
+	["shemale", {get requirements() { return V.seeDicks > 0; }}],
+	["amazon", {get requirements() { return true; }}],
+	["businesswoman", {get requirements() { return true; }}],
+	["goddess", {get requirements() { return (V.seePreg !== 0); }}],
+	["hypergoddess", {get requirements() { return (V.seePreg !== 0 && V.seeHyperPreg !== 0); }}],
+	["schoolgirl", {get requirements() { return true; }}],
+	["loli", {get requirements() { return (V.minimumSlaveAge < 13); }}],
+	["preggololi", {get requirements() { return (V.seePreg !== 0 && V.minimumSlaveAge < 13); }}],
+	["fairy", {get requirements() { return true; }}],
+	["pregnant fairy", {get requirements() { return (V.seePreg !== 0); }}],
+
+	// Extra
+	["slimegirl", {get requirements() { return (V.assistant.Extra1 === 1); }}],
+	["cowgirl", {get requirements() { return (V.assistant.Extra1 === 1); }}],
+	["harpygirl", {get requirements() { return (V.assistant.Extra1 === 1); }}],
+	["kitsunegirl", {get requirements() { return (V.assistant.Extra1 === 1); }}],
+	["lamiagirl", {get requirements() { return (V.assistant.Extra1 === 1); }}],
+	["spidergirl", {get requirements() { return (V.assistant.Extra1 === 1); }}],
+
+	// Extra 2
+	["angel", {get requirements() { return (V.assistant.Extra2 === 1); }}],
+	["cherub", {get requirements() { return (V.assistant.Extra2 === 1); }}],
+	["incubus", {get requirements() { return (V.assistant.Extra2 === 1 && V.seeDicks); }}],
+	["succubus", {get requirements() { return (V.assistant.Extra2 === 1); }}],
+	["imp", {get requirements() { return (V.assistant.Extra2 === 1); }}],
+	["witch", {get requirements() { return (V.assistant.Extra2 === 1); }}],
+	["ERROR_1606_APPEARANCE_FILE_CORRUPT", {get requirements() { return (V.assistant.Extra2 === 1); }}],
+]);
diff --git a/src/personalAssistant/assistantOptions.tw b/src/personalAssistant/assistantOptions.tw
index 8ed1c0231b2dd8748f33ef93d4cc3891eea400ef..e2edad8a9214f5764959e4bb070dcb249dee3885 100644
--- a/src/personalAssistant/assistantOptions.tw
+++ b/src/personalAssistant/assistantOptions.tw
@@ -116,831 +116,23 @@ Seated at your desk, you glance at the visual representation of
 
 <div id="appearance" class="tab-content">
 <div class="content">
-	_HeA is currently using the ''$assistant.appearance'' avatar, which <<set _seed = []>>
-	<<if $policies.publicPA == 1>>
-		<<switch $assistant.appearance>>
-		<<case "businesswoman">>
-			<<if $arcologies[0].FSSubjugationist != "unset">> <<set _seed.push($arcologies[0].FSSubjugationistRace + " subjugation")>> <</if>>
-			<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
-			<<if $arcologies[0].FSTransformationFetishist != "unset">> <<set _seed.push("transformation fetishism")>> <</if>>
-			<<if $arcologies[0].FSMaturityPreferentialist != "unset">> <<set _seed.push("maturity preferentialism")>> <</if>>
-			<<if $arcologies[0].FSAssetExpansionist != "unset">> <<set _seed.push("asset expansionism")>> <</if>>
-			<<if $arcologies[0].FSSlaveProfessionalism != "unset">> <<set _seed.push("slave professionalism")>> <</if>>
-			<<if $arcologies[0].FSRomanRevivalist != "unset">> <<set _seed.push("Roman revivalism")>> <</if>>
-			<<if $arcologies[0].FSNeoImperialist != "unset">> <<set _seed.push("Neo-Imperialism")>> <</if>>
-			<<if $arcologies[0].FSArabianRevivalist != "unset">> <<set _seed.push("Arabian revivalism")>> <</if>>
-			<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
-		<<case "goddess">>
-			<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-			<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-			<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-			<<if $arcologies[0].FSMaturityPreferentialist != "unset">> <<set _seed.push("maturity preferentialism")>> <</if>>
-			<<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>>
-			<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
-			<<if $arcologies[0].FSSlaveProfessionalism != "unset">> <<set _seed.push("slave professionalism")>> <</if>>
-			<<if $arcologies[0].FSStatuesqueGlorification != "unset">> <<set _seed.push("statuesque glorification")>> <</if>>
-			<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
-			<<if $arcologies[0].FSAztecRevivalist != "unset">> <<set _seed.push("Aztec revivalism")>> <</if>>
-			<<if $arcologies[0].FSEgyptianRevivalist != "unset">> <<set _seed.push("Egyptian revivalism")>> <</if>>
-			<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
-			<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
-		<<case "amazon">>
-			<<if $arcologies[0].FSSupremacist != "unset">> <<set _seed.push($arcologies[0].FSSupremacistRace + " supremacy")>> <</if>>
-			<<if $arcologies[0].FSSubjugationist != "unset">> <<set _seed.push($arcologies[0].FSSubjugationistRace + " subjugation")>> <</if>>
-			<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-			<<if $arcologies[0].FSPhysicalIdealist != "unset">> <<set _seed.push("physical idealism")>> <</if>>
-			<<if $arcologies[0].FSStatuesqueGlorification != "unset">> <<set _seed.push("statuesque glorification")>> <</if>>
-			<<if $arcologies[0].FSRomanRevivalist != "unset">> <<set _seed.push("Roman revivalism")>> <</if>>
-			<<if $arcologies[0].FSNeoImperialist != "unset">> <<set _seed.push("Neo-Imperialism")>> <</if>>
-			<<if $arcologies[0].FSAztecRevivalist != "unset">> <<set _seed.push("Aztec revivalism")>> <</if>>
-			<<if $arcologies[0].FSEdoRevivalist != "unset">> <<set _seed.push("Edo revivalism")>> <</if>>
-		<<case "schoolgirl">>
-			<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-			<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-			<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-			<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
-			<<if $arcologies[0].FSSlaveProfessionalism != "unset">> <<set _seed.push("slave professionalism")>> <</if>>
-			<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-			<<if $arcologies[0].FSArabianRevivalist != "unset">> <<set _seed.push("Arabian revivalism")>> <</if>>
-			<<if $arcologies[0].FSChineseRevivalist != "unset">> <<set _seed.push("Chinese revivalism")>> <</if>>
-			<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
-		<<case "monstergirl">>
-			<<if $arcologies[0].FSSupremacist != "unset">> <<set _seed.push($arcologies[0].FSSupremacistRace + " supremacy")>> <</if>>
-			<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
-			<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
-			<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
-			<<if $arcologies[0].FSEgyptianRevivalist != "unset">> <<set _seed.push("Egyptian revivalism")>> <</if>>
-			<<if $arcologies[0].FSEdoRevivalist != "unset">> <<set _seed.push("Edo revivalism")>> <</if>>
-			<<if $arcologies[0].FSChineseRevivalist != "unset">> <<set _seed.push("Chinese revivalism")>> <</if>>
-		<<case "shemale">>
-			<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
-			<<if $arcologies[0].FSTransformationFetishist != "unset">> <<set _seed.push("transformation fetishism")>> <</if>>
-			<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-			<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
-			<<if $arcologies[0].FSAssetExpansionist != "unset">> <<set _seed.push("asset expansionism")>> <</if>>
-			<<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>>
-			<<if $arcologies[0].FSPhysicalIdealist != "unset">> <<set _seed.push("physical idealism")>> <</if>>
-			<<if $arcologies[0].FSIntellectualDependency != "unset">> <<set _seed.push("intellectual dependency")>> <</if>>
-		<<case "hypergoddess">>
-			<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-			<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-			<<if $arcologies[0].FSAssetExpansionist != "unset">> <<set _seed.push("asset expansionism")>> <</if>>
-			<<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>>
-			<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
-			<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
-		<<case "loli">>
-			<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-			<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-			<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-			<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-			<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
-			<<if $arcologies[0].FSEdoRevivalist != "unset">> <<set _seed.push("Edo revivalism")>> <</if>>
-			<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
-			<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-		<<case "preggololi">>
-			<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-			<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-			<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
-			<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-			<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
-			<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
-			<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-		<<case "fairy">>
-			<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-			<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-			<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-			<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-		<<case "pregnant fairy">>
-			<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-			<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-			<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-			<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
-			<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-		<<case "angel">>
-			<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
-			<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-			<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-			<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-			<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-			<<if $arcologies[0].FSMaturityPreferentialist != "unset">> <<set _seed.push("maturity preferentialism")>> <</if>>
-			<<if $arcologies[0].FSSlaveProfessionalism != "unset">> <<set _seed.push("slave professionalism")>> <</if>>
-			<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
-		<<case "cherub">>
-			<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-			<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-			<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-			<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
-			<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-			<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
-		<<case "incubus">>
-			<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
-			<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
-			<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
-			<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-			<<if $arcologies[0].FSTransformationFetishist != "unset">> <<set _seed.push("transformation fetishism")>> <</if>>
-			<<if $arcologies[0].FSMaturityPreferentialist != "unset">> <<set _seed.push("maturity preferentialism")>> <</if>>
-			<<if $arcologies[0].FSAssetExpansionist != "unset">> <<set _seed.push("asset expansionism")>> <</if>>
-			<<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>>
-			<<if $arcologies[0].FSPhysicalIdealist != "unset">> <<set _seed.push("physical idealism")>> <</if>>
-			<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
-			<<if $arcologies[0].FSSlaveProfessionalism != "unset">> <<set _seed.push("slave professionalism")>> <</if>>
-			<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-			<<if $arcologies[0].FSStatuesqueGlorification != "unset">> <<set _seed.push("statuesque glorification")>> <</if>>
-			<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
-			<<if $arcologies[0].FSRomanRevivalist != "unset">> <<set _seed.push("Roman revivalism")>> <</if>>
-			<<if $arcologies[0].FSNeoImperialist != "unset">> <<set _seed.push("Neo-Imperialism")>> <</if>>
-			<<if $arcologies[0].FSAztecRevivalist != "unset">> <<set _seed.push("Aztec revivalism")>> <</if>>
-			<<if $arcologies[0].FSEgyptianRevivalist != "unset">> <<set _seed.push("Egyptian revivalism")>> <</if>>
-			<<if $arcologies[0].FSEdoRevivalist != "unset">> <<set _seed.push("Edo revivalism")>> <</if>>
-			<<if $arcologies[0].FSArabianRevivalist != "unset">> <<set _seed.push("Arabian revivalism")>> <</if>>
-			<<if $arcologies[0].FSChineseRevivalist != "unset">> <<set _seed.push("Chinese revivalism")>> <</if>>
-		<<case "succubus">>
-			<<if $arcologies[0].FSSupremacist != "unset">> <<set _seed.push($arcologies[0].FSSupremacistRace + " supremacy")>> <</if>>
-			<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
-			<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
-			<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
-			<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-			<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
-			<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-			<<if $arcologies[0].FSTransformationFetishist != "unset">> <<set _seed.push("transformation fetishism")>> <</if>>
-			<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-			<<if $arcologies[0].FSMaturityPreferentialist != "unset">> <<set _seed.push("maturity preferentialism")>> <</if>>
-			<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
-			<<if $arcologies[0].FSAssetExpansionist != "unset">> <<set _seed.push("asset expansionism")>> <</if>>
-			<<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>>
-			<<if $arcologies[0].FSPhysicalIdealist != "unset">> <<set _seed.push("physical idealism")>> <</if>>
-			<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
-			<<if $arcologies[0].FSIntellectualDependency != "unset">> <<set _seed.push("intellectual dependency")>> <</if>>
-			<<if $arcologies[0].FSSlaveProfessionalism != "unset">> <<set _seed.push("slave professionalism")>> <</if>>
-			<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-			<<if $arcologies[0].FSStatuesqueGlorification != "unset">> <<set _seed.push("statuesque glorification")>> <</if>>
-			<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
-			<<if $arcologies[0].FSRomanRevivalist != "unset">> <<set _seed.push("Roman revivalism")>> <</if>>
-			<<if $arcologies[0].FSNeoImperialist != "unset">> <<set _seed.push("Neo-Imperialism")>> <</if>>
-			<<if $arcologies[0].FSAztecRevivalist != "unset">> <<set _seed.push("Aztec revivalism")>> <</if>>
-			<<if $arcologies[0].FSEgyptianRevivalist != "unset">> <<set _seed.push("Egyptian revivalism")>> <</if>>
-			<<if $arcologies[0].FSEdoRevivalist != "unset">> <<set _seed.push("Edo revivalism")>> <</if>>
-			<<if $arcologies[0].FSArabianRevivalist != "unset">> <<set _seed.push("Arabian revivalism")>> <</if>>
-			<<if $arcologies[0].FSChineseRevivalist != "unset">> <<set _seed.push("Chinese revivalism")>> <</if>>
-		<<case "imp">>
-			<<if $arcologies[0].FSSubjugationist != "unset">> <<set _seed.push($arcologies[0].FSSubjugationistRace + " subjugation")>> <</if>>
-			<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
-			<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-			<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
-			<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
-			<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
-			<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-		<<case "witch">>
-			<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
-			<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
-			<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
-			<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-			<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-			<<if $arcologies[0].FSTransformationFetishist != "unset">> <<set _seed.push("transformation fetishism")>> <</if>>
-			<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-			<<if $arcologies[0].FSMaturityPreferentialist != "unset">> <<set _seed.push("maturity preferentialism")>> <</if>>
-			<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
-			<<if $arcologies[0].FSAssetExpansionist != "unset">> <<set _seed.push("asset expansionism")>> <</if>>
-			<<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>>
-			<<if $arcologies[0].FSPhysicalIdealist != "unset">> <<set _seed.push("physical idealism")>> <</if>>
-			<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
-			<<if $arcologies[0].FSIntellectualDependency != "unset">> <<set _seed.push("intellectual dependency")>> <</if>>
-			<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-			<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
-		<<case "ERROR_1606_APPEARANCE_FILE_CORRUPT">>
-			<<if $arcologies[0].FSTransformationFetishist != "unset">> <<set _seed.push("transformation fetishism")>> <</if>>
-		<</switch>>
-		<<if _seed.length > 0>>
-			<<set _desc = "">>
-			<<for _i = 0; _i < _seed.length; _i++>>
-				<<set _desc = (_desc + _seed[_i])>>
-				<<if (_i < _seed.length-2)>>
-					<<set _desc = (_desc + ", ")>>
-				<<elseif (_seed.length > 2) && (_i == _seed.length-2)>>
-					<<set _desc = (_desc + ", and ")>>
-				<<elseif (_seed.length == 2) && (_i == 0)>>
-					<<set _desc = (_desc + " and ")>>
-				<</if>>
-			<</for>>
-			 bolsters _desc.
-		<<else>>
-			has no impact on public opinion.
-		<</if>>
-	<<elseif $policies.publicPA == 0>>
-		has no impact on public opinion.
-	<</if>>
-	<br>
+	<<includeDOM availableAssistantAppearances()>>
 
-	<<if $assistant.appearance != "normal">> [[Normal|Personal assistant options][$assistant.appearance = "normal"]]
-		<br>
-	<</if>>
-	<<if $assistant.appearance != "businesswoman">> [[Businesswoman|Personal assistant options][$assistant.appearance = "businesswoman"]]
-		<<if $policies.publicPA == 1>>
-			<<set _seed = []>>
-			<<if $arcologies[0].FSSubjugationist != "unset">> <<set _seed.push($arcologies[0].FSSubjugationistRace + " subjugation")>> <</if>>
-			<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
-			<<if $arcologies[0].FSTransformationFetishist != "unset">> <<set _seed.push("transformation fetishism")>> <</if>>
-			<<if $arcologies[0].FSMaturityPreferentialist != "unset">> <<set _seed.push("maturity preferentialism")>> <</if>>
-			<<if $arcologies[0].FSAssetExpansionist != "unset">> <<set _seed.push("asset expansionism")>> <</if>>
-			<<if $arcologies[0].FSRomanRevivalist != "unset">> <<set _seed.push("Roman revivalism")>> <</if>>
-			<<if $arcologies[0].FSNeoImperialist != "unset">> <<set _seed.push("Neo-Imperialism")>> <</if>>
-			<<if $arcologies[0].FSAztecRevivalist != "unset">> <<set _seed.push("Aztec revivalism")>> <</if>>
-			<<if $arcologies[0].FSArabianRevivalist != "unset">> <<set _seed.push("Arabian revivalism")>> <</if>>
-			<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
-			<<if $arcologies[0].FSSlaveProfessionalism != "unset">> <<set _seed.push("slave professionalism")>> <</if>>
-			<<if _seed.length > 0>>
-				<<set _desc = "">>
-				<<for _i = 0; _i < _seed.length; _i++>>
-					<<set _desc = (_desc + _seed[_i])>>
-					<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-					<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-					<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-					<</if>>
-				<</for>>
-				A good emblem for _desc
-			<</if>>
-		<</if>>
-		<br>
-	<</if>>
-	<<if $seePreg != 0>>
-		<<if $assistant.appearance != "goddess">> [[Goddess|Personal assistant options][$assistant.appearance = "goddess"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-				<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-				<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-				<<if $arcologies[0].FSMaturityPreferentialist != "unset">> <<set _seed.push("maturity preferentialism")>> <</if>>
-			<<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>>
-				<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
-				<<if $arcologies[0].FSEgyptianRevivalist != "unset">> <<set _seed.push("Egyptian revivalism")>> <</if>>
-				<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
-				<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
-				<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
-				<<if $arcologies[0].FSSlaveProfessionalism != "unset">> <<set _seed.push("slave professionalism")>> <</if>>
-				<<if $arcologies[0].FSStatuesqueGlorification != "unset">> <<set _seed.push("statuesque glorification")>> <</if>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-	<</if>>
-	<<if $assistant.appearance != "amazon">> [[Amazon|Personal assistant options][$assistant.appearance = "amazon"]]
-		<<if $policies.publicPA == 1>>
-			<<set _seed = []>>
-			<<if $arcologies[0].FSSupremacist != "unset">> <<set _seed.push($arcologies[0].FSSupremacistRace + " supremacy")>> <</if>>
-			<<if $arcologies[0].FSSubjugationist != "unset">> <<set _seed.push($arcologies[0].FSSubjugationistRace + " subjugation")>> <</if>>
-			<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-			<<if $arcologies[0].FSPhysicalIdealist != "unset">> <<set _seed.push("physical idealism")>> <</if>>
-			<<if $arcologies[0].FSRomanRevivalist != "unset">> <<set _seed.push("Roman revivalism")>> <</if>>
-			<<if $arcologies[0].FSNeoImperialist != "unset">> <<set _seed.push("Neo-Imperialism")>> <</if>>
-			<<if $arcologies[0].FSAztecRevivalist != "unset">> <<set _seed.push("Aztec revivalism")>> <</if>>
-			<<if $arcologies[0].FSEdoRevivalist != "unset">> <<set _seed.push("Edo revivalism")>> <</if>>
-			<<if $arcologies[0].FSStatuesqueGlorification != "unset">> <<set _seed.push("statuesque glorification")>> <</if>>
-			<<if _seed.length > 0>>
-				<<set _desc = "">>
-				<<for _i = 0; _i < _seed.length; _i++>>
-					<<set _desc = (_desc + _seed[_i])>>
-					<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-					<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-					<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-					<</if>>
-				<</for>>
-				A good emblem for _desc
-			<</if>>
-		<</if>>
-		<br>
-	<</if>>
-	<<if $assistant.appearance != "schoolgirl">> [[Schoolgirl|Personal assistant options][$assistant.appearance = "schoolgirl"]]
-		<<if $policies.publicPA == 1>>
-			<<set _seed = []>>
-			<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-			<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-			<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-			<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
-			<<if $arcologies[0].FSArabianRevivalist != "unset">> <<set _seed.push("Arabian revivalism")>> <</if>>
-			<<if $arcologies[0].FSChineseRevivalist != "unset">> <<set _seed.push("Chinese revivalism")>> <</if>>
-			<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
-			<<if $arcologies[0].FSSlaveProfessionalism != "unset">> <<set _seed.push("slave professionalism")>> <</if>>
-			<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-			<<if _seed.length > 0>>
-				<<set _desc = "">>
-				<<for _i = 0; _i < _seed.length; _i++>>
-					<<set _desc = (_desc + _seed[_i])>>
-					<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-					<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-					<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-					<</if>>
-				<</for>>
-				A good emblem for _desc
-			<</if>>
-		<</if>>
-		<br>
-	<</if>>
-	<<if $seeDicks != 0>>
-		<<if $assistant.appearance != "monstergirl">> [[Monstergirl|Personal assistant options][$assistant.appearance = "monstergirl"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if $arcologies[0].FSSupremacist != "unset">> <<set _seed.push($arcologies[0].FSSupremacistRace + " supremacy")>> <</if>>
-				<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
-				<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
-				<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
-				<<if $arcologies[0].FSEgyptianRevivalist != "unset">> <<set _seed.push("Egyptian revivalism")>> <</if>>
-				<<if $arcologies[0].FSEdoRevivalist != "unset">> <<set _seed.push("Edo revivalism")>> <</if>>
-				<<if $arcologies[0].FSChineseRevivalist != "unset">> <<set _seed.push("Chinese revivalism")>> <</if>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-		<<if $assistant.appearance != "shemale">> [[Shemale|Personal assistant options][$assistant.appearance = "shemale"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
-				<<if $arcologies[0].FSTransformationFetishist != "unset">> <<set _seed.push("transformation fetishism")>> <</if>>
-				<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-				<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
-				<<if $arcologies[0].FSAssetExpansionist != "unset">> <<set _seed.push("asset expansionism")>> <</if>>
-				<<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>>
-				<<if $arcologies[0].FSPhysicalIdealist != "unset">> <<set _seed.push("physical idealism")>> <</if>>
-				<<if $arcologies[0].FSIntellectualDependency != "unset">> <<set _seed.push("intellectual dependency")>> <</if>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-	<</if>>
-	<<if $seePreg != 0>>
-		<<if $assistant.appearance != "hypergoddess" && $seeHyperPreg == 1>> [[Hyper Goddess|Personal assistant options][$assistant.appearance = "hypergoddess"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-				<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-				<<if $arcologies[0].FSAssetExpansionist != "unset">> <<set _seed.push("asset expansionism")>> <</if>>
-				<<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>>
-				<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
-				<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-	<</if>>
-	<<if $assistant.appearance != "loli" && $minimumSlaveAge < 13>> [[Loli|Personal assistant options][$assistant.appearance = "loli"]]
-		<<if $policies.publicPA == 1>>
-			<<set _seed = []>>
-			<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-			<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-			<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-			<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-			<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
-			<<if $arcologies[0].FSEdoRevivalist != "unset">> <<set _seed.push("Edo revivalism")>> <</if>>
-			<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
-			<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-			<<if _seed.length > 0>>
-				<<set _desc = "">>
-				<<for _i = 0; _i < _seed.length; _i++>>
-					<<set _desc = (_desc + _seed[_i])>>
-					<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-					<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-					<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-					<</if>>
-				<</for>>
-				A good emblem for _desc
-			<</if>>
-		<</if>>
-		<br>
-	<</if>>
-	<<if $seePreg != 0>>
-		<<if $assistant.appearance != "preggololi" && $fertilityAge < 13 && $minimumSlaveAge < 13>> [[Preggololi|Personal assistant options][$assistant.appearance = "preggololi"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-				<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-				<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
-				<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-				<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
-				<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
-				<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-	<</if>>
-	<<if $assistant.appearance != "fairy">> [[Fairy|Personal assistant options][$assistant.appearance = "fairy"]]
-		<<if $policies.publicPA == 1>>
-			<<set _seed = []>>
-			<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-			<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-			<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-			<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-			<<if _seed.length > 0>>
-				<<set _desc = "">>
-				<<for _i = 0; _i < _seed.length; _i++>>
-					<<set _desc = (_desc + _seed[_i])>>
-					<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-					<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-					<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-					<</if>>
-				<</for>>
-				A good emblem for _desc
-			<</if>>
-		<</if>>
-		<br>
-	<</if>>
-	<<if $seePreg != 0>>
-		<<if $assistant.appearance != "pregnant fairy">> [[Pregnant Fairy|Personal assistant options][$assistant.appearance = "pregnant fairy"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-				<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-				<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-				<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
-				<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-	<</if>>
-	<<if def $assistant.Extra1>>
-		<<if $assistant.appearance != "slimegirl">> [[Slime Girl|Personal assistant options][$assistant.appearance = "slimegirl"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-		<<if $assistant.appearance != "cowgirl">> [[Cow Girl|Personal assistant options][$assistant.appearance = "cowgirl"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-		<<if $assistant.appearance != "harpygirl">> [[Harpy Girl|Personal assistant options][$assistant.appearance = "harpygirl"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-		<<if $assistant.appearance != "kitsunegirl">> [[Kitsune|Personal assistant options][$assistant.appearance = "kitsunegirl"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-		<<if $assistant.appearance != "lamiagirl">> [[Lamia|Personal assistant options][$assistant.appearance = "lamiagirl"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-		<<if $assistant.appearance != "spidergirl">> [[Spider Girl|Personal assistant options][$assistant.appearance = "spidergirl"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-	<</if>>
-	<<if def $assistant.Extra2>>
-		<<if $assistant.appearance != "angel">> [[Angel|Personal assistant options][$assistant.appearance = "angel"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
-				<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-				<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-				<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-				<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-				<<if $arcologies[0].FSMaturityPreferentialist != "unset">> <<set _seed.push("maturity preferentialism")>> <</if>>
-				<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
-				<<if $arcologies[0].FSSlaveProfessionalism != "unset">> <<set _seed.push("slave professionalism")>> <</if>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-		<<if $assistant.appearance != "cherub">> [[Cherub|Personal assistant options][$assistant.appearance = "cherub"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-				<<if $arcologies[0].FSPaternalist != "unset">> <<set _seed.push("paternalism")>> <</if>>
-				<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-				<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
-				<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
-				<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-		<<if $seeDicks != 0>>
-			<<if $assistant.appearance != "incubus">> [[Incubus|Personal assistant options][$assistant.appearance = "incubus"]]
-				<<if $policies.publicPA == 1>>
-					<<set _seed = []>>
-					<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
-					<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
-					<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
-					<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-					<<if $arcologies[0].FSTransformationFetishist != "unset">> <<set _seed.push("transformation fetishism")>> <</if>>
-					<<if $arcologies[0].FSMaturityPreferentialist != "unset">> <<set _seed.push("maturity preferentialism")>> <</if>>
-					<<if $arcologies[0].FSAssetExpansionist != "unset">> <<set _seed.push("asset expansionism")>> <</if>>
-					<<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>>
-					<<if $arcologies[0].FSPhysicalIdealist != "unset">> <<set _seed.push("physical idealism")>> <</if>>
-					<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
-					<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
-					<<if $arcologies[0].FSRomanRevivalist != "unset">> <<set _seed.push("Roman revivalism")>> <</if>>
-					<<if $arcologies[0].FSNeoImperialist != "unset">> <<set _seed.push("Neo-Imperialism")>> <</if>>
-					<<if $arcologies[0].FSAztecRevivalist != "unset">> <<set _seed.push("Aztec revivalism")>> <</if>>
-					<<if $arcologies[0].FSEgyptianRevivalist != "unset">> <<set _seed.push("Egyptian revivalism")>> <</if>>
-					<<if $arcologies[0].FSEdoRevivalist != "unset">> <<set _seed.push("Edo revivalism")>> <</if>>
-					<<if $arcologies[0].FSArabianRevivalist != "unset">> <<set _seed.push("Arabian revivalism")>> <</if>>
-					<<if $arcologies[0].FSChineseRevivalist != "unset">> <<set _seed.push("Chinese revivalism")>> <</if>>
-					<<if $arcologies[0].FSSlaveProfessionalism != "unset">> <<set _seed.push("slave professionalism")>> <</if>>
-					<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-					<<if $arcologies[0].FSStatuesqueGlorification != "unset">> <<set _seed.push("statuesque glorification")>> <</if>>
-					<<if _seed.length > 0>>
-						<<set _desc = "">>
-						<<for _i = 0; _i < _seed.length; _i++>>
-							<<set _desc = (_desc + _seed[_i])>>
-							<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-							<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-							<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-							<</if>>
-						<</for>>
-						A good emblem for _desc
-					<</if>>
-				<</if>>
-				<br>
-			<</if>>
-		<</if>>
-		<<if $assistant.appearance != "succubus">> [[Succubus|Personal assistant options][$assistant.appearance = "succubus"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if $arcologies[0].FSSupremacist != "unset">> <<set _seed.push($arcologies[0].FSSupremacistRace + " supremacy")>> <</if>>
-				<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
-				<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
-				<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
-				<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-				<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
-				<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-				<<if $arcologies[0].FSTransformationFetishist != "unset">> <<set _seed.push("transformation fetishism")>> <</if>>
-				<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-				<<if $arcologies[0].FSMaturityPreferentialist != "unset">> <<set _seed.push("maturity preferentialism")>> <</if>>
-				<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
-				<<if $arcologies[0].FSAssetExpansionist != "unset">> <<set _seed.push("asset expansionism")>> <</if>>
-				<<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>>
-				<<if $arcologies[0].FSPhysicalIdealist != "unset">> <<set _seed.push("physical idealism")>> <</if>>
-				<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
-				<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
-				<<if $arcologies[0].FSRomanRevivalist != "unset">> <<set _seed.push("Roman revivalism")>> <</if>>
-				<<if $arcologies[0].FSNeoImperialist != "unset">> <<set _seed.push("Neo-Imperialism")>> <</if>>
-				<<if $arcologies[0].FSAztecRevivalist != "unset">> <<set _seed.push("Aztec revivalism")>> <</if>>
-				<<if $arcologies[0].FSEgyptianRevivalist != "unset">> <<set _seed.push("Egyptian revivalism")>> <</if>>
-				<<if $arcologies[0].FSEdoRevivalist != "unset">> <<set _seed.push("Edo revivalism")>> <</if>>
-				<<if $arcologies[0].FSArabianRevivalist != "unset">> <<set _seed.push("Arabian revivalism")>> <</if>>
-				<<if $arcologies[0].FSChineseRevivalist != "unset">> <<set _seed.push("Chinese revivalism")>> <</if>>
-				<<if $arcologies[0].FSIntellectualDependency != "unset">> <<set _seed.push("intellectual dependency")>> <</if>>
-				<<if $arcologies[0].FSSlaveProfessionalism != "unset">> <<set _seed.push("slave professionalism")>> <</if>>
-				<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-				<<if $arcologies[0].FSStatuesqueGlorification != "unset">> <<set _seed.push("statuesque glorification")>> <</if>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-		<<if $assistant.appearance != "imp">> [[Imp|Personal assistant options][$assistant.appearance = "imp"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if $arcologies[0].FSSubjugationist != "unset">> <<set _seed.push($arcologies[0].FSSubjugationistRace + " subjugation")>> <</if>>
-				<<if $arcologies[0].FSDegradationist != "unset">> <<set _seed.push("degradationism")>> <</if>>
-				<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-				<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
-				<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
-				<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
-				<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-		<<if $assistant.appearance != "witch">> [[Bonus: Witch|Personal assistant options][$assistant.appearance = "witch"]]
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if $arcologies[0].FSRepopulationFocus != "unset">> <<set _seed.push("repopulationism")>> <</if>>
-				<<if $arcologies[0].FSRestart != "unset">> <<set _seed.push("eugenics")>> <</if>>
-				<<if $arcologies[0].FSGenderRadicalist != "unset">> <<set _seed.push("gender radicalism")>> <</if>>
-				<<if $arcologies[0].FSGenderFundamentalist != "unset">> <<set _seed.push("gender fundamentalism")>> <</if>>
-				<<if $arcologies[0].FSBodyPurist != "unset">> <<set _seed.push("body purism")>> <</if>>
-				<<if $arcologies[0].FSTransformationFetishist != "unset">> <<set _seed.push("transformation fetishism")>> <</if>>
-				<<if $arcologies[0].FSYouthPreferentialist != "unset">> <<set _seed.push("youth preferentialism")>> <</if>>
-				<<if $arcologies[0].FSMaturityPreferentialist != "unset">> <<set _seed.push("maturity preferentialism")>> <</if>>
-				<<if $arcologies[0].FSSlimnessEnthusiast != "unset">> <<set _seed.push("slimness enthusiasm")>> <</if>>
-				<<if $arcologies[0].FSAssetExpansionist != "unset">> <<set _seed.push("asset expansionism")>> <</if>>
-				<<if $arcologies[0].FSPastoralist != "unset">> <<set _seed.push("pastoralism")>> <</if>>
-				<<if $arcologies[0].FSPhysicalIdealist != "unset">> <<set _seed.push("physical idealism")>> <</if>>
-				<<if $arcologies[0].FSHedonisticDecadence != "unset">> <<set _seed.push("hedonistic decadence")>> <</if>>
-				<<if $arcologies[0].FSChattelReligionist != "unset">> <<set _seed.push("chattel religionism")>> <</if>>
-				<<if $arcologies[0].FSIntellectualDependency != "unset">> <<set _seed.push("intellectual dependency")>> <</if>>
-				<<if $arcologies[0].FSPetiteAdmiration != "unset">> <<set _seed.push("petite admiration")>> <</if>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
-		<<if $assistant.appearance != "ERROR_1606_APPEARANCE_FILE_CORRUPT">> @@.link;WARNING! File c@@[[o|Personal assistant options][$assistant.appearance = "ERROR_1606_APPEARANCE_FILE_CORRUPT"]]@@.link;rrupt!@@
-			<<if $policies.publicPA == 1>>
-				<<set _seed = []>>
-				<<if $arcologies[0].FSTransformationFetishist != "unset">> <<set _seed.push("transformation fetishism")>> <</if>>
-				<<if _seed.length > 0>>
-					<<set _desc = "">>
-					<<for _i = 0; _i < _seed.length; _i++>>
-						<<set _desc = (_desc + _seed[_i])>>
-						<<if (_i < _seed.length-2)>> <<set _desc = (_desc + ", ")>>
-						<<elseif (_seed.length > 2) && (_i == _seed.length-2)>> <<set _desc = (_desc + ", and ")>>
-						<<elseif (_seed.length == 2) && (_i == 0)>> <<set _desc = (_desc + " and ")>>
-						<</if>>
-					<</for>>
-					A good emblem for _desc
-				<</if>>
-			<</if>>
-			<br>
-		<</if>>
+	<<if $policies.publicPA == 1>>
+		//_HeA is currently part of your public image, so you may wish to select an appearance that complements your Future Societies://
+		<<includeDOM assistantFS()>>
 	<</if>>
 
- <h3>Downloadable Content (DLC):</h3>
+	<h3>Downloadable Content (DLC):</h3>
 	/*
- <<if ndef $assistant.Extra1>>
-		[[Purchase a set of monstergirl appearances|Assistant Events][$event = "", cashX(forceNeg(Math.trunc(10000*$upgradeMultiplier)), "capEx"), $assistant.Extra1 = 1]]
-		//Costs <<print cashFormat(Math.trunc(6000*$upgradeMultiplier))>>//
- <<else>>
-		You have downloaded a set of monstergirl appearances for your avatar.
- <</if>>
- */
- <<if ndef $assistant.Extra2>>
+	<<if ndef $assistant.Extra1>>
+			[[Purchase a set of monstergirl appearances|Assistant Events][$event = "", cashX(forceNeg(Math.trunc(10000*$upgradeMultiplier)), "capEx"), $assistant.Extra1 = 1]]
+			//Costs <<print cashFormat(Math.trunc(6000*$upgradeMultiplier))>>//
+	<<else>>
+			You have downloaded a set of monstergirl appearances for your avatar.
+	<</if>>
+	*/
+	<<if ndef $assistant.Extra2>>
 		<<set _text = $PC.skill.hacking < 75 ? "Purchase" : "Acquire">>
 		<<set _text += " a set of heaven and hell themed appearances">>
 		<<set _price = 10000 * $upgradeMultiplierArcology>>
@@ -952,12 +144,12 @@ Seated at your desk, you glance at the visual representation of
 			<</if>>
 			<<goto "Assistant Appearance Pack Two">>
 		<</link>> //<<if $PC.skill.hacking < 75>> Costs <<= num(_price)>> <<else>> Unencrypted files, ripe for the taking<</if>>//
- <<else>>
+	<<else>>
 		You have downloaded a set of heavenly and hellish appearances for your avatar.
- <</if>>
+	<</if>>
 
- /* Choose _hisA FS appearance */
- <<if (def $assistant.fsOptions) && $assistant.appearance != "normal">>
+	/* Choose _hisA FS appearance */
+	<<if (def $assistant.fsOptions) && $assistant.appearance != "normal">>
 		<h3>Society-specific setting:</h3>
 		_HeA can further refine _hisA avatar to match the arcology's social profile<<if $assistant.fsAppearance != "default">>; _hisA current variation shows ''$assistant.fsAppearance'' touches.<<else>>, though no details stand out right now.<</if>>
 		<br>
diff --git a/src/player/js/PlayerState.js b/src/player/js/PlayerState.js
index cd477ab41500ea2ed3ac0c3b22c217647a179f7b..63e88a47b9a08a7fe9b00c94b5d618821edf11b6 100644
--- a/src/player/js/PlayerState.js
+++ b/src/player/js/PlayerState.js
@@ -1974,7 +1974,8 @@ App.Entity.PlayerState = class PlayerState {
 		 *
 		 * 0: no; 1: yes, comforting; 2: yes, terrifying */
 		this.tankBaby = 0;
-		/** */
+		/** Are you a clone, and of whom?
+		 * @type {FC.Zeroable<string>} */
 		this.clone = 0;
 		/** */
 		this.geneMods = {
diff --git a/src/pregmod/breederProposal.tw b/src/pregmod/breederProposal.tw
index 587504983564d15c9aebf7a2119f28c8b8429413..79b110996f5a2cb88d971383f960d5430852c61c 100644
--- a/src/pregmod/breederProposal.tw
+++ b/src/pregmod/breederProposal.tw
@@ -10,15 +10,15 @@ Within the hour, you are called before <<if $eugenicsFullControl == 1>>what's le
 <<if $eugenicsFullControl == 1>>
 	"That sounds like an acceptable proposal. We'll draft the standards for breeding stock and notify you shortly."
 	<<set $propOutcome = 1>>
-	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+	<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 <<elseif $PC.pregSource == -1 || $PC.pregSource == -6>>
 	"Since you are doing your part and carrying an Elite child, we will gladly reward you by granting your proposal. We shall decide upon the standards for breeding stock and notify you shortly."
 	<<set $propOutcome = 1>>
-	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+	<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 <<elseif $PC.counter.birthElite > 0>>
 	"Since you have carried children for our cause, we will gladly reward you by granting your proposal. We shall decide upon the standards for breeding stock and notify you shortly."
 	<<set $propOutcome = 1>>
-	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+	<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 <<elseif $PC.dick == 0>>
 	<<if $failedElite > 50>>
 		"Do you really think you are in any position to make such a request? You, a fertile woman and member of the Elite, who has not taken even the slightest interest in carrying one of our children, dares to even suggest using slaves as breeding stock? Well?"
@@ -27,14 +27,14 @@ Within the hour, you are called before <<if $eugenicsFullControl == 1>>what's le
 		<<replace "#result">>
 			"Good choice, _girlP. A selection of eligible donors will be provided to you; take your pick and bear our children. Or use a test tube, if that's more to your tastes."
 			<<set $playerBred = 1, $propOutcome = 1>>
-			<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+			<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 		<</replace>>
 		<</link>>
 		<br><<link "Decline being used as a breeder and face the Societal Elites' wrath">>
 			<<replace "#result">>
 				"You'll regret this decision. We'll have our way one way or another."
 				<<set $failedElite += 275, $propOutcome = -1>>
-				<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+				<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 			<</replace>>
 		<</link>>
 		</span>
@@ -45,7 +45,7 @@ Within the hour, you are called before <<if $eugenicsFullControl == 1>>what's le
 			<<replace "#result">>
 				"Good choice, _girlP; your proposal is more important than your dignity after all, isn't it? A selection of eligible donors will be provided to you; take your pick and bear our children. Or use a test tube, if that's more to your tastes."
 				<<set $failedElite -= 50, $playerBred = 1, $propOutcome = 1>>
-				<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+				<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 			<</replace>>
 		<</link>>
 		<<if $failedElite <= 0>>
@@ -53,7 +53,7 @@ Within the hour, you are called before <<if $eugenicsFullControl == 1>>what's le
 				<<replace "#result">>
 					"Yes, you have done much to further our cause. We respect the 'balls' on you, despite your lack of them. Very well, we shall set the standards for what shall qualify as breeding stock and our standards will be delivered to you shortly."
 					<<set $propOutcome = 1>>
-					<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+					<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 				<</replace>>
 			<</link>>
 		<<else>>
@@ -61,7 +61,7 @@ Within the hour, you are called before <<if $eugenicsFullControl == 1>>what's le
 				<<replace "#result">>
 					"Then why waste our time? You disappoint us, but don't worry; you'll be laden with child soon enough."
 					<<set $propOutcome = -1>>
-					<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+					<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 				<</replace>>
 			<</link>>
 		<</if>>
@@ -75,14 +75,14 @@ Within the hour, you are called before <<if $eugenicsFullControl == 1>>what's le
 			<<replace "#result">>
 				"Your contributions will be appreciated. We shall convene to decide the qualifications for a slave to become a breeder. We will inform you of them when we send the list of eligible donors to breed you. Or send you a test tube, if that's more to your tastes."
 				<<set $failedElite -= 50, $playerBred = 1, $propOutcome = 1>>
-				<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+				<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 			<</replace>>
 		<</link>>
 		<br><<link "Decline being used as a breeder and withdraw your proposal">>
 			<<replace "#result">>
 				"Very well, if your masculinity is more valuable to you than your proposal, then so be it."
 				<<set $propOutcome = -1>>
-				<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+				<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 			<</replace>>
 		<</link>>
 		</span>
@@ -95,21 +95,21 @@ Within the hour, you are called before <<if $eugenicsFullControl == 1>>what's le
 			<<replace "#result">>
 				"Your contributions will be appreciated. We shall convene to decide the qualifications for a slave to become a breeder. We will inform you of them when we send the list of eligible donors to breed you. Or send you a test tube, if that's more to your tastes."
 				<<set $playerBred = 1, $propOutcome = 1>>
-				<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+				<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 			<</replace>>
 		<</link>>
 		<br><<link "Decline being used as a breeder">>
 			<<replace "#result">>
 				"Very well, if you wish to waste your gift, it is your prerogative. We shall convene to decide the qualifications for a slave to become a breeder and inform you upon completion."
 				<<set $propOutcome = 1>>
-				<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+				<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 			<</replace>>
 		<</link>>
 		</span>
 	<<else>>
 		"We have read your proposal and agree. However, we shall set the standards for what shall qualify as breeding stock, not you. Our standards will be delivered to you shortly."
 		<<set $propOutcome = 1>>
-		<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+		<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 	<</if>>
 <</if>>
 <br><br>
\ No newline at end of file
diff --git a/src/pregmod/eliteTakeOverFight.tw b/src/pregmod/eliteTakeOverFight.tw
index f79d64f85125438702896e1c88e62f948f5c570d..dde5002f02ac0f7d2d0a87bf7d852c7f8213d81e 100644
--- a/src/pregmod/eliteTakeOverFight.tw
+++ b/src/pregmod/eliteTakeOverFight.tw
@@ -34,7 +34,7 @@
 	<br>You send a quick message to <<print App.SF.SFC()>> about your situation, then you pick up the revolver and quickly take aim.
 	<<set $SpecialForcesMessageSent = 1>>
 <<case "enrage">>
-	<<if $PC.career != "wealth" && $PC.career != "engineer" && $PC.career != "medicine">>
+	<<if ["arcology owner", "wealth", "trust fund", "rich kid", "capitalist", "medicine", "medical assistant", "celebrity", "rising star", "BlackHat", "hacker", "escort", "prostitute", "child prostitute", "gang", "hoodlum"].includes($PC.career)>>
 		You know exactly what to say in order to enrage them.
 		<<set _EliteEnraged = 1>>
 	<<elseif random(0,100) > 50>>
diff --git a/src/pregmod/eliteTakeOverResult.tw b/src/pregmod/eliteTakeOverResult.tw
index 2aeb5002fcb9ff3cfa80a277f155d1d20b52df1c..7f3808229dc744aff6a4f62ec2646257e55154e6 100644
--- a/src/pregmod/eliteTakeOverResult.tw
+++ b/src/pregmod/eliteTakeOverResult.tw
@@ -1,6 +1,6 @@
 :: eliteTakeOverResult [nobr]
 
-<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 
 <<if _S.Bodyguard>>
 	<<setLocalPronouns _S.Bodyguard>>
@@ -117,95 +117,88 @@
 <<if $eliteFate >= 1>>
 	<<if $eliteVegetable == 1>>
 		<<set $eliteLeft-->>
-		<<set $activeSlaveOneTimeMinAge = 25>>
-		<<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>>
-		<<set $oneTimeDisableDisability = 1>>
 		<<if $arcologies[0].FSSupremacistLawME == 1>>
-			<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+			<<set _race = $arcologies[0].FSSupremacistRace>>
 		<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
 			<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-			<<set $fixedRace = _races.random()>>
+			<<set _race = _races.random()>>
 		<</if>>
 		<<if $seeDicks == 0>>
-			<<set $activeSlave = GenerateNewSlave("XX")>>
+			<<set _slave = GenerateNewSlave("XX", {minAge: 25, maxAge: $retirementAge-2, disableDisability: 1, race: _race})>>
 		<<elseif $seeDicks == 100>>
-			<<set $activeSlave = GenerateNewSlave("XY")>>
+			<<set _slave = GenerateNewSlave("XY", {minAge: 25, maxAge: $retirementAge-2, disableDisability: 1, race: _race})>>
 		<<elseif random(1,100) > 50>> /* 50% chance of getting girl or boy */
-			<<set $activeSlave = GenerateNewSlave("XX")>>
+			<<set _slave = GenerateNewSlave("XX", {minAge: 25, maxAge: $retirementAge-2, disableDisability: 1, race: _race})>>
 		<<else>>
-			<<set $activeSlave = GenerateNewSlave("XY")>>
+			<<set _slave = GenerateNewSlave("XY", {minAge: 25, maxAge: $retirementAge-2, disableDisability: 1, race: _race})>>
 		<</if>>
 		<<set _origin = "$He was a member of the Societal Elite, captured in their failed attempt at expressing their displeasure.">>
-		<<set $activeSlave.origin = _origin>>
-		<<set $activeSlave.career = "a well connected individual">>
-		<<set $activeSlave.prestige = either(2,2,3)>> /* 33% chance of getting level 3 prestige */
-		<<set $activeSlave.prestigeDesc = "$He was once considered influential in society, but now $he's the one getting fucked.">>
-		<<set $activeSlave.face = random(70,100)>>
-		<<set $activeSlave.devotion = random(-10,-20)>>
-		<<set $activeSlave.trust = random(-20,-30)>>
-		<<if $activeSlave.boobShape == "saggy" || $activeSlave.boobShape == "downward-facing">>
-			<<set $activeSlave.boobShape = either("perky", "torpedo-shaped", "wide-set")>>
+		<<set _slave.origin = _origin>>
+		<<set _slave.career = "a well connected individual">>
+		<<set _slave.prestige = either(2,2,3)>> /* 33% chance of getting level 3 prestige */
+		<<set _slave.prestigeDesc = "$He was once considered influential in society, but now $he's the one getting fucked.">>
+		<<set _slave.face = random(70,100)>>
+		<<set _slave.devotion = random(-10,-20)>>
+		<<set _slave.trust = random(-20,-30)>>
+		<<if _slave.boobShape == "saggy" || _slave.boobShape == "downward-facing">>
+			<<set _slave.boobShape = either("perky", "torpedo-shaped", "wide-set")>>
 		<</if>>
-		<<set $activeSlave.fetish = "mindbroken">>
-		<<set $activeSlave.pubicHStyle = "waxed">>
-		<<set $activeSlave.underArmHStyle = "waxed">>
-		<<set $activeSlave.anus = 0>>
-		<<set $activeSlave.weight = random(10,75)>>
-		<<set $activeSlave.intelligence = random(70,100)>>
-		<<set $activeSlave.intelligenceImplant = 30>>
-		<<set $activeSlave.skill.entertainment = 0>>
-		<<set $activeSlave.skill.whoring = 0>>
-		<<run setHealth($activeSlave, jsRandom(60, 75), 0, 0, 0, jsRandom(0, 20))>>
-		<<set $activeSlave.canRecruit = 0>>
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+		<<set _slave.fetish = "mindbroken">>
+		<<set _slave.pubicHStyle = "waxed">>
+		<<set _slave.underArmHStyle = "waxed">>
+		<<set _slave.anus = 0>>
+		<<set _slave.weight = random(10,75)>>
+		<<set _slave.intelligence = random(70,100)>>
+		<<set _slave.intelligenceImplant = 30>>
+		<<set _slave.skill.entertainment = 0>>
+		<<set _slave.skill.whoring = 0>>
+		<<run setHealth(_slave, jsRandom(60, 75), 0, 0, 0, jsRandom(0, 20))>>
+		<<set _slave.canRecruit = 0>>
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 	<</if>>
 	<<for _i = $eliteLeft; _i > 0; _i-->>
-		<<set $activeSlaveOneTimeMinAge = 25>>
-		<<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>>
-		<<set $oneTimeDisableDisability = 1>>
 		<<if $arcologies[0].FSSupremacistLawME == 1>>
-			<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
+			<<set _race = $arcologies[0].FSSupremacistRace>>
 		<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
 			<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-			<<set $fixedRace = _races.random()>>
+			<<set _race = _races.random()>>
 		<</if>>
 		<<if $seeDicks == 0>>
-			<<set $activeSlave = GenerateNewSlave("XX")>>
+			<<set _slave = GenerateNewSlave("XX", {minAge: 25, maxAge: $retirementAge-2,, race: _race})>>
 		<<elseif $seeDicks == 100>>
-			<<set $activeSlave = GenerateNewSlave("XY")>>
+			<<set _slave = GenerateNewSlave("XY", {minAge: 25, maxAge: $retirementAge-2,, race: _race})>>
 		<<elseif random(1,100) > 50>> /* 50% chance of getting girl or boy */
-			<<set $activeSlave = GenerateNewSlave("XX")>>
+			<<set _slave = GenerateNewSlave("XX", {minAge: 25, maxAge: $retirementAge-2,, race: _race})>>
 		<<else>>
-			<<set $activeSlave = GenerateNewSlave("XY")>>
+			<<set _slave = GenerateNewSlave("XY", {minAge: 25, maxAge: $retirementAge-2,, race: _race})>>
 		<</if>>
 		<<set _origin = "$He was a member of the Societal Elite, captured in their failed attempt at expressing their displeasure.">>
-		<<set $activeSlave.origin = _origin>>
-		<<set $activeSlave.career = "a well connected individual">>
-		<<set $activeSlave.prestige = either(2,2,3)>>
-		<<set $activeSlave.prestigeDesc = "$He was once considered influential in society, but now $he's the one getting fucked.">>
-		<<set $activeSlave.face = random(70,100)>>
-		<<set $activeSlave.devotion = random(-10,-20)>>
-		<<set $activeSlave.trust = random(-20,-30)>>
+		<<set _slave.origin = _origin>>
+		<<set _slave.career = "a well connected individual">>
+		<<set _slave.prestige = either(2,2,3)>>
+		<<set _slave.prestigeDesc = "$He was once considered influential in society, but now $he's the one getting fucked.">>
+		<<set _slave.face = random(70,100)>>
+		<<set _slave.devotion = random(-10,-20)>>
+		<<set _slave.trust = random(-20,-30)>>
 		<<if $eliteFate == 2 && random(1,100) >= 75>> /* 25% chance of getting mindbroken elites if they were abused */
-			<<set $activeSlave.fetish = "mindbroken">>
+			<<set _slave.fetish = "mindbroken">>
 		<</if>>
-		<<if $activeSlave.boobShape == "saggy" || $activeSlave.boobShape == "downward-facing">>
-			<<set $activeSlave.boobShape = either("perky", "torpedo-shaped", "wide-set")>>
+		<<if _slave.boobShape == "saggy" || _slave.boobShape == "downward-facing">>
+			<<set _slave.boobShape = either("perky", "torpedo-shaped", "wide-set")>>
 		<</if>>
-		<<set $activeSlave.pubicHStyle = "waxed">>
-		<<set $activeSlave.underArmHStyle = "waxed">>
-		<<set $activeSlave.anus = 0>>
-		<<set $activeSlave.weight = random(-30,75)>>
-		<<set $activeSlave.intelligence = random(0,60)>>
-		<<set $activeSlave.intelligenceImplant = 30>>
-		<<set $activeSlave.skill.entertainment = 0>>
-		<<set $activeSlave.skill.whoring = 0>>
-		<<run setHealth($activeSlave, jsRandom(60, 75), 0, 0, 0, jsRandom(0, 20))>>
-		<<set $activeSlave.canRecruit = 0>>
-		<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy")>>
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+		<<set _slave.pubicHStyle = "waxed">>
+		<<set _slave.underArmHStyle = "waxed">>
+		<<set _slave.anus = 0>>
+		<<set _slave.weight = random(-30,75)>>
+		<<set _slave.intelligence = random(0,60)>>
+		<<set _slave.intelligenceImplant = 30>>
+		<<set _slave.skill.entertainment = 0>>
+		<<set _slave.skill.whoring = 0>>
+		<<run setHealth(_slave, jsRandom(60, 75), 0, 0, 0, jsRandom(0, 20))>>
+		<<set _slave.canRecruit = 0>>
+		<<set _slave.behavioralFlaw = either("arrogant", "bitchy")>>
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 	<</for>>
 <</if>>
 
-/* clean up */
-<<set $failedElite = 0, $eugenicsFullControl = 1>>
+<<set $failedElite = 0, $eugenicsFullControl = 1>> /* clean up */
\ No newline at end of file
diff --git a/src/pregmod/reTheSirenStrikesBack.tw b/src/pregmod/reTheSirenStrikesBack.tw
index d24052023a2850211a38cba1599517e3eadabe48..ae115669010f6bbe99556d01ab1c4fd83517c0d6 100644
--- a/src/pregmod/reTheSirenStrikesBack.tw
+++ b/src/pregmod/reTheSirenStrikesBack.tw
@@ -10,42 +10,42 @@
 <<else>>
 	<<set _minAge = 30>>
 <</if>>
-<<set $activeSlave = GenerateNewSlave(null, {minAge: _minAge, maxAge: 40, ageOverridesPedoMode: 1, disableDisability: 1})>>
-<<set $activeSlave.origin = "$He was brought to you to pay for what $he did to one of your slaves.">>
-<<set $activeSlave.career = "a producer">>
-<<set $activeSlave.devotion = random(-70,30)>>
-<<set $activeSlave.trust = random(-100,-70)>>
-<<run setHealth($activeSlave, jsRandom(-20, 20), Math.max(normalRandInt(0, 2), 0), Math.max(normalRandInt(0, 2), 0), 0, jsRandom(0, 20))>>
-<<set $activeSlave.anus = 0>>
-<<if $activeSlave.vagina > -1>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.preg = -1>>
+<<set _slave = GenerateNewSlave(null, {minAge: _minAge, maxAge: 40, ageOverridesPedoMode: 1, disableDisability: 1})>>
+<<set _slave.origin = "$He was brought to you to pay for what $he did to one of your slaves.">>
+<<set _slave.career = "a producer">>
+<<set _slave.devotion = random(-70,30)>>
+<<set _slave.trust = random(-100,-70)>>
+<<run setHealth(_slave, jsRandom(-20, 20), Math.max(normalRandInt(0, 2), 0), Math.max(normalRandInt(0, 2), 0), 0, jsRandom(0, 20))>>
+<<set _slave.anus = 0>>
+<<if _slave.vagina > -1>>
+	<<set _slave.vagina = 1>>
+	<<set _slave.preg = -1>>
 <</if>>
-<<set $activeSlave.skill.vaginal = 0>>
-<<set $activeSlave.skill.oral = 0>>
-<<set $activeSlave.skill.anal = 0>>
-<<set $activeSlave.behavioralFlaw = "none">>
-<<set $activeSlave.hStyle = "neat">>
-<<set $activeSlave.pubicHStyle = "waxed">>
-<<set $activeSlave.underArmHStyle = "waxed">>
-<<set $activeSlave.intelligenceImplant = 30>>
-<<set $activeSlave.intelligence = 100>>
-<<set $activeSlave.prestige = 3>>
-<<set $activeSlave.prestigeDesc = "$He was a well known music producer infamous for constantly having musicians disappear on $his watch.">>
-<<set $activeSlave.accent = 1>>
-<<set $activeSlave.clothes = "nice business attire">>
+<<set _slave.skill.vaginal = 0>>
+<<set _slave.skill.oral = 0>>
+<<set _slave.skill.anal = 0>>
+<<set _slave.behavioralFlaw = "none">>
+<<set _slave.hStyle = "neat">>
+<<set _slave.pubicHStyle = "waxed">>
+<<set _slave.underArmHStyle = "waxed">>
+<<set _slave.intelligenceImplant = 30>>
+<<set _slave.intelligence = 100>>
+<<set _slave.prestige = 3>>
+<<set _slave.prestigeDesc = "$He was a well known music producer infamous for constantly having musicians disappear on $his watch.">>
+<<set _slave.accent = 1>>
+<<set _slave.clothes = "nice business attire">>
 
-<<setLocalPronouns $activeSlave 2>>
-<<run Enunciate($activeSlave)>>
-<<setSpokenLocalPronouns $activeSlave _ssb>>
+<<setLocalPronouns _slave 2>>
+<<run Enunciate(_slave)>>
+<<setSpokenLocalPronouns _slave _ssb>>
 
 <span id="art-frame">
 	/* 000-250-006 */
 	<<if $seeImages == 1>>
 		<<if $imageChoice == 1>>
-			<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+			<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 		<<else>>
-			<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+			<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 		<</if>>
 	<</if>>
 	/* 000-250-006 */
@@ -79,13 +79,13 @@ Several weeks have passed since you gained the musical prodigy and you couldn't
 		<<replace "#result">>
 		You decide to spare the coward from _his2 former subordinate's wrath and simply enslave _him2.
 		<br>
-		<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+		<<includeDOM App.UI.newSlaveIntro(_slave)>>
 		<</replace>>
 	<</link>>
 	<<if !isAmputee(_ssb)>>
 		<br><<link "Enslave _him2 and throw _him2 to _ssb.slaveName">>
-			<<set $activeSlave.clothes = "no clothing">>
-			<<run healthDamage($activeSlave, 20)>>
+			<<set _slave.clothes = "no clothing">>
+			<<run healthDamage(_slave, 20)>>
 			<<set _ssb.devotion += 2>>
 			<<set _ssb.trust += 2>>
 			<<replace "#art-frame">>
@@ -93,7 +93,7 @@ Several weeks have passed since you gained the musical prodigy and you couldn't
 				<<if $seeImages == 1>>
 					<div class="imageColumn">
 						<div class="imageRef medImg">
-							<<= SlaveArt($activeSlave, 2, 0)>>
+							<<= SlaveArt(_slave, 2, 0)>>
 						</div>
 						<div class="imageRef medImg">
 							<<= SlaveArt(_ssb, 2, 0)>>
@@ -117,7 +117,7 @@ Several weeks have passed since you gained the musical prodigy and you couldn't
 				<</if>>
 			<</if>>
 			<br>
-			<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+			<<includeDOM App.UI.newSlaveIntro(_slave)>>
 			<</replace>>
 		<</link>>
 	<</if>>
@@ -127,14 +127,14 @@ Several weeks have passed since you gained the musical prodigy and you couldn't
 	<br><br>
 	<span id="result">
 	<<link "Enslave _him2">>
-		<<set $activeSlave.clothes = "no clothing">>
+		<<set _slave.clothes = "no clothing">>
 		<<replace "#art-frame">>
 			/* 000-250-006 */
 			<<if $seeImages == 1>>
 				<<if $imageChoice == 1>>
-					<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+					<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 				<<else>>
-					<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+					<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 				<</if>>
 			<</if>>
 			/* 000-250-006 */
@@ -142,19 +142,19 @@ Several weeks have passed since you gained the musical prodigy and you couldn't
 		<<replace "#result">>
 		You spare the coward the pain and humiliation _he2 deserves and simply enslave _him2.
 		<br>
-		<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+		<<includeDOM App.UI.newSlaveIntro(_slave)>>
 		<</replace>>
 	<</link>>
 	<br><<link "Enslave _him2 and punish _him2 for their actions">>
-		<<set $activeSlave.clothes = "no clothing">>
-		<<run healthDamage($activeSlave, 20)>>
+		<<set _slave.clothes = "no clothing">>
+		<<run healthDamage(_slave, 20)>>
 		<<replace "#art-frame">>
 			/* 000-250-006 */
 			<<if $seeImages == 1>>
 				<<if $imageChoice == 1>>
-					<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+					<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 				<<else>>
-					<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+					<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 				<</if>>
 			<</if>>
 			/* 000-250-006 */
@@ -162,7 +162,7 @@ Several weeks have passed since you gained the musical prodigy and you couldn't
 		<<replace "#result">>
 		You decide the coward needs more punishment. You order a whip brought to you and give _him2 several lashes directly across _his2 exposed genitalia. _He2 cries out with each lash as _his2 nethers accumulate angry red welts, some even bleeding slightly. After the yelps stop, you feel enough punishment has been given for now and have the producer turned slave hauled to _his2 feet for a proper inspection.
 		<br>
-		<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+		<<includeDOM App.UI.newSlaveIntro(_slave)>>
 		<</replace>>
 	<</link>>
 	</span>
diff --git a/src/pregmod/seHuskSlaveDelivery.tw b/src/pregmod/seHuskSlaveDelivery.tw
index 9fbaf2ea3639a80a16aa77659afd4d9e7f7003e4..59a79704dd47a927e67d14874f6b0b11d46f4411 100644
--- a/src/pregmod/seHuskSlaveDelivery.tw
+++ b/src/pregmod/seHuskSlaveDelivery.tw
@@ -2,19 +2,17 @@
 
 <<set $huskSlaveOrdered = 0, $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $encyclopedia = "Enslaving People">>
 
-<<set $activeSlaveOneTimeMinAge = parseInt($huskSlave.age)>>
-<<set $activeSlaveOneTimeMaxAge = parseInt($huskSlave.age)>>
-<<set $one_time_age_overrides_pedo_mode = 1>>
+<<set _pram = {mature: 0, nationality: $huskSlave.nationality, minAge: $huskSlave.age, maxAge: $huskSlave.age, ageOverridesPedoMode: 1}>>
 <<if $huskSlave.race != "not important">>
-	<<set $fixedRace = $huskSlave.race>>
+	<<set _pram.race = $huskSlave.race>>
 <</if>>
 <<if $huskSlave.sex == 2>>
-	<<set _husk = GenerateNewSlave("XY", {mature: 0, nationality: $huskSlave.nationality})>>
+	<<set _husk = GenerateNewSlave("XY", _pram)>>
 	<<set _husk.boobs = 50>>
 	<<set _husk.boobsImplant = 0>>
 	<<set _husk.boobsImplantType = "none">>
 <<else>>
-	<<set _husk = GenerateNewSlave("XX", {mature: 0, nationality: $huskSlave.nationality})>>
+	<<set _husk = GenerateNewSlave("XX", _pram)>>
 <</if>>
 
 <<set _husk.slaveName = "Doll">>
diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw
index 60e715e18a99896249efbcc7b1b9e2fafacd3e87..09a3e01e4c6e38bbc5804698c73fc6ee4e7f7862 100644
--- a/src/uncategorized/RESS.tw
+++ b/src/uncategorized/RESS.tw
@@ -199,17 +199,21 @@ Finishing your work, you lean back for a well-deserved break. Your peace is quic
 		but you just have to reach for your trusty handgun to make the slave step back in fear.
 	<</if>>
 	<<set $mutinery = 0>>
-<<elseif ($PC.career == "mercenary")>>
+<<elseif ($PC.career == "street urchin")>>
+	but you slash at $him with your trusted knife, catching $him off guard and leaving a nasty gash. Before $he recovers $his senses, you make sure to have your knife to $his throat.
+	<<set $mutinery = 0>>
+	/* add scar somewhere */
+<<elseif ($PC.career == "mercenary" || $PC.career == "recruit")>>
 	<<if ($personalArms != 0)>>
 		but you quickly draw the weapon you always keep close at hand, forcing the slave to put $his hand<<if hasBothArms($activeSlave)>>s<</if>> on the back of $his head.
 	<<else>>
 		but you quickly grab $his arm, pull it towards you and lock it in $his back, pushing $him over the desk.
 	<</if>>
 	<<set $mutinery = 0>>
-<<elseif ($PC.career == "escort")>>
+<<elseif ($PC.career == "escort" || PC.career == "prostitute" || PC.career == "child prostitute")>>
 	but you simply give $him a kick to the groin; $he wouldn't be the first person to try this shit on you.
 	<<set $mutinery = 0>>
-<<elseif ($PC.career == "slaver") || $PC.skill.slaving >= 20>>
+<<elseif ($PC.career == "slaver" || $PC.career == "slave overseer") || $PC.skill.slaving >= 20>>
 	but you simply give $him a kick to the groin, a little trick you remember from your early days on how to deal with rebellious slaves.
 	<<set $mutinery = 0>>
 <<elseif ($PC.skill.warfare >= 20)>>
@@ -4548,7 +4552,7 @@ brought in to you. This time <<= App.UI.slaveDescriptionDialog($activeSlave)>> h
 			<<else>>
 				hypertrophied
 			<</if>>
-			dick inside your<<if $PC.career == "escort" || $PC.career == "servant">> expert<</if>> mouth. You diligently suck until you feel $him begin to tense up; this is your chance. You clamp down on $his cock while simultaneously punching $him in the balls. $He howls in pain, until you headbutt $him in the stomach and knock the wind out of $him. You quickly pull $him into an arm lock and force $him over your desk. Now that you have $him restrained, it's time $he learned $his place — after you've gotten the taste of the slut out of your mouth, that is.
+			dick inside your<<if $PC.career == "escort" || $PC.career == "prostitute" || $PC.career == "child prostitute" || $PC.career == "servant">> expert<</if>> mouth. You diligently suck until you feel $him begin to tense up; this is your chance. You clamp down on $his cock while simultaneously punching $him in the balls. $He howls in pain, until you headbutt $him in the stomach and knock the wind out of $him. You quickly pull $him into an arm lock and force $him over your desk. Now that you have $him restrained, it's time $he learned $his place — after you've gotten the taste of the slut out of your mouth, that is.
 			<<set $mutinery = 2>>
 
 			<br><br><span id="result2">
@@ -7474,7 +7478,7 @@ brought in to you. This time <<= App.UI.slaveDescriptionDialog($activeSlave)>> h
 		<<set $activeSlave.trust += 4>>
 	<</replace>>
 <</link>>
-<<if $HeadGirlID != $activeSlave.ID>>
+<<if $HeadGirlID != 0 && $HeadGirlID != $activeSlave.ID>>
 	<br><<link "Call your Head Girl in for double anal">>
 		<<setLocalPronouns _S.HeadGirl 2>>
 		<<replace "#result">>
diff --git a/src/uncategorized/RETS.tw b/src/uncategorized/RETS.tw
index 8e14c7f493a373586d9a3fe2fb04cc08358b5d88..9385414d4e09825bcead5ba8a45bd4c75455a3a4 100644
--- a/src/uncategorized/RETS.tw
+++ b/src/uncategorized/RETS.tw
@@ -111,10 +111,6 @@
 	<<set $subSlave = $slaves[$slaveIndices[$RERepressedAnalVirginSubIDs]]>>
 <</if>>
 
-<<case "top exhaustion">>
-
-<<set $subSlave = $slaves[$slaveIndices[$eventSlave.relationshipTarget]]>>
-
 <<case "cockmilk interception">>
 
 <<if Array.isArray($RECockmilkInterceptionIDs)>>
@@ -156,7 +152,7 @@
 <<set _clothesTemp2 = $subSlave.clothes>>
 <<switch $RETSevent>>
 	/*Some events start with the slave naked (any event that starts with the daily inspection, for example). Here we switch their clothing just for the image to load, then switch it back quickly so the player's choice is not messed up.*/
-	<<case "anal cowgirl" "boob collision" "cockmilk interception" "if you enjoy it" "incestuous nursing" "interslave begging" "repressed anal virgin" "shower force" "taste test" "top exhaustion">>
+	<<case "anal cowgirl" "boob collision" "cockmilk interception" "if you enjoy it" "incestuous nursing" "interslave begging" "repressed anal virgin" "shower force" "taste test">>
 		<<set $activeSlave.clothes = "no clothing">>
 		<<set $subSlave.clothes = "no clothing">>
 	<<case "date please">>
@@ -650,87 +646,6 @@ $activeSlave.slaveName coughs and looks doubtful, like $he's mulling over a ques
 <</if>>
 <<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
 
-<<case "top exhaustion">>
-
-<<if ($activeSlave.fetish != "buttslut") && ($eventSlave.vagina > 0) && canDoVaginal($activeSlave)>>
-	<<set _notVirgin = 1>>
-<<else>>
-	<<set _notVirgin = 0>>
-<</if>>
-<<set _belly = bellyAdjective($activeSlave)>>
-As you stroll past the best part of the slave living area one evening, you hear a lewd slap, slap, slap coming from the room <<= App.UI.slaveDescriptionDialog($activeSlave)>> and <<= contextualIntro($activeSlave, $subSlave, true)>> share. It's quite obvious what they're up to, but you look in anyway. $activeSlave.slaveName has clearly had a long day, and is tired, but $he's being a good <<if $activeSlave.relationship > 4>>$wife<<else>>lover<</if>> and letting $subSlave.slaveName use $his body. $activeSlave.slaveName is lying face-down on their bed, arms crossed under $his head, looking quite relaxed. $He has a couple of pillows tucked under $his hips to raise them so that $his <<if $activeSlave.relationship > 4>>_wife2<<else>>sweetheart<</if>> can fuck $him comfortably<<if $activeSlave.belly >= 5000>> and to give $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>belly<</if>> room beneath $him<</if>>. They've obviously been at this for a while. $subSlave.slaveName likes to top and is not gentle at it, and _he2's pounding $activeSlave.slaveName as hard as _he2 can. _He2's <<if $subSlave.muscles > 30>>a very strong girl, and _his2 muscles work noticeably<<elseif $subSlave.muscles > 5>>physically fit, but even so, _he2's showing signs of fatigue<<else>>not very fit, and _he2's gasping tiredly<</if>> as _he2 pistons <<if canPenetrate($subSlave)>>_his2 penis<<else>>the strap-on _he2's wearing<</if>> in and out of the <<if _notVirgin == 1>>asshole<<else>>pussy<</if>> beneath _him2.
-
-<br><br>
-
-For $his part, $activeSlave.slaveName is playing an utterly passive role. $He even has $his eyes closed, though $he's obviously conscious; $he's smiling<<if ($activeSlave.fetish == "buttslut")>>, and the shameless $desc buttslut loves being treated like this<</if>>. <<set _notVirgin = 0>>
-<<if _notVirgin == 1>>
-	<<if $activeSlave.anus > 2>>
-		$His welcoming asspussy can take this all night.
-	<<elseif $activeSlave.anus > 1>>
-		<<if canPenetrate($subSlave)>>
-			<<if $subSlave.dick > 4>>
-				$His lover's cock is big enough that it sometimes bothers even $his experienced anus, but $he was clearly fucked into a nice relaxed gape a while ago.
-			<<else>>
-				$He can take $his lover's modest cock easily.
-			<</if>>
-			<<if canImpreg($activeSlave, $subSlave)>>
-				<<= knockMeUp($activeSlave, 10, 1, $subSlave.ID, 1)>>
-			<</if>>
-		<<else>>
-			$His lover is using a formidable phallus, but $he was clearly fucked into a nice relaxed gape a while ago.
-		<</if>>
-	<<else>>
-		<<if canPenetrate($subSlave)>>
-			<<if $subSlave.dick > 2>>
-				$His lover's cock is big enough that it often causes $him some anal pain, but $his tight ass has clearly been worked in gradually tonight, and $he's taking it just fine.
-			<<else>>
-				$His lover's little dick is well suited to $his tight butt, and $he's taking $his anal pounding just fine.
-			<</if>>
-			<<if canImpreg($activeSlave, $subSlave)>>
-				<<= knockMeUp($activeSlave, 10, 1, $subSlave.ID, 1)>>
-			<</if>>
-		<<else>>
-			$His lover is using a formidable phallus, but $his tight ass has clearly been worked in gradually tonight, and $he's taking it just fine.
-		<</if>>
-	<</if>>
-<<else>>
-	<<if $activeSlave.vagina > 2>>
-		$His gaping cunt can take this all night.
-	<<elseif $activeSlave.vagina > 1>>
-		<<if canPenetrate($subSlave)>>
-			<<if $subSlave.dick > 4>>
-				$His lover's cock is big enough that it sometimes bothers even $his veteran pussy, but $he's relaxed and taking it easily.
-			<<else>>
-				$He can take $his lover's modest cock easily.
-			<</if>>
-			<<if canImpreg($activeSlave, $subSlave)>>
-				<<= knockMeUp($activeSlave, 10, 0, $subSlave.ID, 1)>>
-			<</if>>
-		<<else>>
-			$His lover is using a formidable phallus, but $he's relaxed and taking it easily.
-		<</if>>
-	<<else>>
-		<<if canPenetrate($subSlave)>>
-			<<if $subSlave.dick > 2>>
-				$His lover's cock is big enough that it often causes $him some pain, but $his tight little pussy has clearly been worked in gradually tonight, and $he's taking it just fine.
-			<<else>>
-				$His lover's little dick is well suited to $his tight little pussy, and $he's taking $his pounding just fine.
-			<</if>>
-			<<if canImpreg($activeSlave, $subSlave)>>
-				<<= knockMeUp($activeSlave, 10, 0, $subSlave.ID, 1)>>
-			<</if>>
-		<<else>>
-			$His lover is using a formidable phallus, but $his tight little pussy has clearly been worked in gradually tonight, and $he's taking it just fine.
-		<</if>>
-	<</if>>
-<</if>>
-Being the <<if $activeSlave.relationship > 4>>$wife<<else>>lover<</if>> of a lusty fucker like $subSlave.slaveName can be tiring, especially in addition to $his other duties. But despite the vigor, the sex looks quite loving. $activeSlave.slaveName goes on smiling comfortably as <<if $activeSlave.butt > 7>>$his enormous ass ripples<<elseif $activeSlave.butt > 4>>$his heavy ass jiggles<<else>>$his cute butt jiggles a bit<</if>> under each hard slap as $subSlave.slaveName brings _his2 hips down to penetrate $him fully, yet again.
-
-<br><br>
-<<set _belly = bellyAdjective($subSlave)>>
-
-Mere moments after you absorb this arresting scene, $subSlave.slaveName thrusts <<if canPenetrate($subSlave)>>_his2 cock<<else>>the strap-on<</if>> all the way inside $activeSlave.slaveName's <<if _notVirgin == 1>>ass<<else>>womanhood<</if>> and shudders, <<if canPenetrate($subSlave)>>filling it with _his2 cum<<else>>orgasming<</if>>. Then _he2 collapses, utterly spent. $activeSlave.slaveName <<if canPenetrate($subSlave)>>gasps at the sensation of the ejaculate shooting into $his body<<else>>smiles a little wider as $he feels $subSlave.slaveName's muscles tense with climax<</if>>, and then grunts a little as $subSlave.slaveName lies down on top of $him.<<if $subSlave.boobs > 5000>> The enormous weight of $his lover's boobs squashes $him.<</if>><<if $subSlave.belly >= 5000>> _His2 _belly <<if $subSlave.bellyPreg >= 3000>>pregnancy<<else>>belly<</if>> pushing into the small of $his back.<</if>> After a few seconds, $he wiggles $his hips a little as a wordless question. The sensation <<if canPenetrate($subSlave)>>against $subSlave.slaveName's softening, overstimulated member<<else>>is transmitted through the phallus and its harness to $subSlave.slaveName's overstimulated clit, and this<</if>> makes the exhausted slave on top quiver, eliciting a giggle from the slave underneath _him2. "I love you, $subSlave.slaveName," $he whispers, and receives a mumbled "I love you too" in breathy response, right next to $his ear.
-
 <<case "cockmilk interception">>
 
 <<run seX($subSlave, "oral", $activeSlave, "oral")>>
@@ -1637,87 +1552,6 @@ $he adds impishly. <<if canHear($subSlave)>>Hearing this<<else>>Realizing your p
 	<</replace>>
 <</link>> //This option will take anal virginity//
 
-<<case "top exhaustion">>
-
-<<link "They're not done yet">>
-	<<replace "#result">>
-	$subSlave.slaveName is out of it, and doesn't realize you're there. The first indication _he2 gets of your presence is the <<if $PC.dick != 0>>head of your penis<<else>>tip of your strap-on<</if>> <<if $subSlave.anus > 2>>sliding easily inside _his2 soft butthole<<elseif $subSlave.anus > 1>>pushing firmly up _his2 relaxed anus<<else>>penetrating _his2 tight little asshole<</if>>. _He2 groans, but greets you properly, slurring a little from sheer fatigue and overstimulation. Nevertheless, _he2 reaches clumsily around to spread _his2 cheeks for you. As you begin to fuck _his2 butt, your invading <<if $PC.dick != 0>>cock<<else>>phallus<</if>>
-	<<if canPenetrate($subSlave)>>
-		<<if $subSlave.prostate>>presses against _his2 prostate<<else>>stirs up _his2 insides<</if>>, forcing _him2 hard again.
-	<<else>>
-		and thrusting hips get _him2 moving again, too.
-	<</if>>
-	Beneath _him2, $activeSlave.slaveName shifts uncomfortably at the resumed sex and the extra weight. To relieve $him, you haul $his <<if $activeSlave.relationship > 4>>_wife2<<else>>lover<</if>> into a more upright position so _he2 can fuck and be fucked while straddling $activeSlave.slaveName's pressed-together thighs. You fuck $subSlave.slaveName just as hard as _he2 was fucking $activeSlave.slaveName, taking your pleasure from _him2 without mercy. Despite this, the sexed-out slave orgasms again.
-	<<if ($PC.dick != 0) && (canPenetrate($subSlave))>>Deciding to really fill $activeSlave.slaveName, you shove $subSlave.slaveName's quivering body off to one side without ceremony, shove yourself inside the $desc on the bottom, and add your cum to the two loads already inside $him.<<else>>You climax yourself, and then stand.<</if>>
-	Pleased, you head off to find more amusement, leaving the sex-stained slaves dozing in each other's arms, @@.hotpink;not thinking for a moment@@ about how profoundly sexual pleasure dominates their lives.
-	<<= VCheck.Simple($activeSlave, 1)>>
-	<<set $activeSlave.devotion += 4>>
-	<<if canPenetrate($subSlave)>>
-		<<if canImpreg($activeSlave, $subSlave)>>
-			<<= knockMeUp($activeSlave, 5, 1, $subSlave.ID, 1)>>
-		<</if>>
-		<<if canImpreg($activeSlave, $PC)>>
-			<<= knockMeUp($activeSlave, 5, 1, -1, 1)>>
-		<</if>>
-	<<else>>
-		<<if canImpreg($subSlave, $PC)>>
-			<<= knockMeUp($subSlave, 5, 1, -1, 1)>>
-		<</if>>
-	<</if>>
-	<<set $subSlave.devotion += 4>>
-	<<run seX($subSlave, "anal", $PC, "penetrative")>>
-	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
-	<</replace>>
-<</link>>
-<br><<link "Rinse off with them">>
-	<<replace "#result">>
-	You announce that they definitely need to rinse off before bed. They both start with surprise and then greet you as best they can, though $subSlave.slaveName groans a little at having to get up so soon after exhausting _himself2 and then climaxing. Giggling, $activeSlave.slaveName heaves _him2 to _his2 feet, and between the two of you, you get _him2 to the showers. _He2's really spent; _his2 legs are wobbly, and _he2 slithers down to crouch under the warm water as soon as _he2 can. Uncoordinated, _he2 fumbles for the soap and washes _his2 sore body, only vaguely noticing the sex going on mere <<if $showInches == 2>>inches<<else>>centimeters<</if>> over _his2 head. Since $activeSlave.slaveName was being such a good $girl and looking after $his <<if $activeSlave.relationship > 4>>_wife2's<<else>>lover's<</if>> needs, you take $him in the way $he likes it best,
-	<<switch $activeSlave.fetish>>
-	<<case "submissive">>
-		holding the submissive $desc up against the shower wall and giving $him a second reaming.
-		<<= VCheck.Simple($activeSlave, 1)>>
-	<<case "cumslut">>
-		giving the cumslut a soapy massage as $he <<if $PC.dick != 0>>sucks your cock<<if $PC.vagina != -1>> and <</if>><</if>><<if $PC.vagina != -1>>eats you out<</if>>.
-		<<set $activeSlave.counter.oral += 1>>
-		<<set $oralTotal += 1>>
-	<<case "humiliation">>
-		holding the humiliation slut up against the shower wall so passing slaves can see $him get fucked.
-		<<= VCheck.Simple($activeSlave, 1)>>
-	<<case "buttslut">>
-		holding the submissive $desc up against the shower wall and giving $him a second anal reaming.
-		<<= VCheck.Anal($activeSlave, 1)>>
-	<<case "boobs">>
-		fucking the boob fetishist from behind so you can play with $his nipples,
-		<<= VCheck.Simple($activeSlave, 1)>>
-	<<case "pregnancy">>
-		<<if $activeSlave.bellyPreg >= 1500>>
-			massaging the pregnant slut's belly as you fuck $him.
-		<<elseif $activeSlave.belly >= 1500>>
-			massaging the slut's belly as you fuck $him.
-		<<else>>
-			pushing the impregnation slut into a corner and pretending you're knocking $him up.
-		<</if>>
-		<<= VCheck.Simple($activeSlave, 1)>>
-	<<case "dom" "sadist">>
-		holding the sexually aggressive $desc against the wall so $he can push $himself back against you.
-		<<= VCheck.Simple($activeSlave, 1)>>
-	<<case "masochist">>
-		pushing the pain slut into a corner and spanking $him while you fuck $him.
-		<<= VCheck.Simple($activeSlave, 1)>>
-	<<default>>
-		pushing the vanilla $girl's back against the wall and kissing $him lovingly.
-		<<= VCheck.Simple($activeSlave, 1)>>
-	<</switch>>
-	As $activeSlave.slaveName orgasms in your arms, you feel $subSlave.slaveName hug your thighs lightly before starting to <<if $PC.dick != 0>>blow you<<else>>lick your pussy<</if>> _himself2. Afterward, you bring the tired pair back to their bed and get them tucked in. They @@.mediumaquamarine;find the gesture comforting,@@ and are asleep in an instant.
-	<<= VCheck.Simple($activeSlave, 1)>>
-	<<set $activeSlave.trust += 4>>
-	<<set $subSlave.trust += 4>>
-	<<run actX($subSlave, "oral")>>
-	<<run actX($subSlave, "penetrative")>>
-	<<set $slaves[$slaveIndices[$subSlave.ID]] = $subSlave>>
-	<</replace>>
-<</link>>
-
 <<case "cockmilk interception">>
 
 <<link "Step in for the stimulator">>
diff --git a/src/uncategorized/REroyalblood.tw b/src/uncategorized/REroyalblood.tw
index 49464db70e2647b9c15d744ed3942a0becbe8d2f..fcbdb4e4f1bfee3543865b129748c94c14f6697d 100644
--- a/src/uncategorized/REroyalblood.tw
+++ b/src/uncategorized/REroyalblood.tw
@@ -3,43 +3,40 @@
 <<set $nextButton = "Continue", $nextLink = "RIE Eligibility Check", $returnTo = "RIE Eligibility Check">>
 
 /*princess*/
-<<set $activeSlaveOneTimeMinAge = 16>>
-<<set $activeSlaveOneTimeMaxAge = 19>>
-<<set $oneTimeDisableDisability = 1>>
-<<set $activeSlave = GenerateNewSlave("XX")>>
-<<set $activeSlave.career = "a princess">>
+<<set _slave = GenerateNewSlave("XX", {minAge: 16, maxAge: 19, disableDisability: 1})>>
+<<set _slave.career = "a princess">>
 <<if $realRoyalties == 1>>
-	<<set $activeSlave.nationality = setup.royalNationalities.random()>>
-	<<run nationalityToRace($activeSlave)>>
+	<<set _slave.nationality = setup.royalNationalities.random()>>
+	<<run nationalityToRace(_slave)>>
 <</if>>
-<<set $activeSlave.prestige = 2>>
-<<set $activeSlave.prestigeDesc = "$He was the princess of an ancient kingdom.">>
-<<set $activeSlave.devotion = random(-80,-60)>>
-<<set $activeSlave.trust = random(-50,-60)>>
-<<set $activeSlave.face = random(25,100)>>
-<<set $activeSlave.boobs = either(100, 200, 300)>>
-<<set $activeSlave.vagina = 0>>
-<<set $activeSlave.ovaries = 1>>
-<<set $activeSlave.preg = -1>>
-<<set $activeSlave.pubicHStyle = "waxed">>
-<<set $activeSlave.underArmHStyle = "waxed">>
-<<set $activeSlave.hips = 0>>
-<<set $activeSlave.butt = random(1,2)>>
-<<set $activeSlave.dick = 0>>
-<<set $activeSlave.foreskin = 0>>
-<<set $activeSlave.balls = 0>>
-<<set $activeSlave.anus = 0>>
-<<set $activeSlave.weight = 0>>
-<<set $activeSlave.intelligence = random(15,100)>>
-<<set $activeSlave.intelligenceImplant = 15>>
-<<set $activeSlave.skill.entertainment = 45>>
-<<set $activeSlave.skill.anal = 0>>
-<<set $activeSlave.skill.oral = 0>>
-<<set $activeSlave.skill.whoring = 0>>
-<<set $activeSlave.canRecruit = 0>>
-<<run setHealth($activeSlave, jsRandom(30, 60), 0, 0, 0, 0)>>
-<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy")>>
-<<set _princess = clone($activeSlave)>>
+<<set _slave.prestige = 2>>
+<<set _slave.prestigeDesc = "$He was the princess of an ancient kingdom.">>
+<<set _slave.devotion = random(-80,-60)>>
+<<set _slave.trust = random(-50,-60)>>
+<<set _slave.face = random(25,100)>>
+<<set _slave.boobs = either(100, 200, 300)>>
+<<set _slave.vagina = 0>>
+<<set _slave.ovaries = 1>>
+<<set _slave.preg = -1>>
+<<set _slave.pubicHStyle = "waxed">>
+<<set _slave.underArmHStyle = "waxed">>
+<<set _slave.hips = 0>>
+<<set _slave.butt = random(1,2)>>
+<<set _slave.dick = 0>>
+<<set _slave.foreskin = 0>>
+<<set _slave.balls = 0>>
+<<set _slave.anus = 0>>
+<<set _slave.weight = 0>>
+<<set _slave.intelligence = random(15,100)>>
+<<set _slave.intelligenceImplant = 15>>
+<<set _slave.skill.entertainment = 45>>
+<<set _slave.skill.anal = 0>>
+<<set _slave.skill.oral = 0>>
+<<set _slave.skill.whoring = 0>>
+<<set _slave.canRecruit = 0>>
+<<run setHealth(_slave, jsRandom(30, 60), 0, 0, 0, 0)>>
+<<set _slave.behavioralFlaw = either("arrogant", "bitchy")>>
+<<set _princess = clone(_slave)>>
 <<setLocalPronouns _princess>>
 <<if $realRoyalties == 1>>
 	<<if _princess.nationality == "Japanese">>
@@ -124,113 +121,113 @@
 <</if>>
 /*prince*/
 <<if $seeDicks > 0>>
-	<<set $activeSlave.ID = generateSlaveID()>>
-	<<set $activeSlave.birthWeek += Math.floor(Math.random() * 52)>>
-	<<if $activeSlave.birthWeek >= 52>>
-		<<set $activeSlave.birthWeek -= 52>>
-		<<set $activeSlave.actualAge += 1>>
+	<<set _slave.ID = generateSlaveID()>>
+	<<set _slave.birthWeek += Math.floor(Math.random() * 52)>>
+	<<if _slave.birthWeek >= 52>>
+		<<set _slave.birthWeek -= 52>>
+		<<set _slave.actualAge += 1>>
 	<</if>>
-	<<set $activeSlave.actualAge = $activeSlave.actualAge+1>>
-	<<set $activeSlave.visualAge = $activeSlave.actualAge>>
-	<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
-	<<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
-	<<set $activeSlave.genes = "XY">>
-	<<run nationalityToName($activeSlave)>>
-	<<set $activeSlave.birthSurname = _princess.birthSurname, $activeSlave.slaveSurname = _princess.birthSurname>>
-	<<set $activeSlave.career = "a prince">>
-	<<set $activeSlave.prestige = 2>>
-	<<set $activeSlave.prestigeDesc = "$He was the crown prince of an ancient kingdom.">>
-	<<set $activeSlave.devotion = random(-80,-60)>>
-	<<set $activeSlave.trust = random(-50,-60)>>
-	<<set $activeSlave.boobs = 150>>
-	<<set $activeSlave.butt = random(0,1)>>
-	<<set $activeSlave.vagina = -1>>
-	<<set $activeSlave.clit = 0>>
-	<<set $activeSlave.labia = 0>>
-	<<set $activeSlave.ovaries = 0>>
-	<<set $activeSlave.preg = 0>>
-	<<set $activeSlave.dick = random(3,5)>>
-	<<set $activeSlave.balls = random(2,4)>>
-	<<set $activeSlave.scrotum = $activeSlave.balls>>
-	<<set $activeSlave.prostate = 1>>
-	<<set $activeSlave.pubertyXX = 0>>
-	<<set $activeSlave.pubertyAgeXY = $potencyAge>>
-	<<if $activeSlave.physicalAge >= $activeSlave.pubertyAgeXY>>
-		<<set $activeSlave.pubertyXY = 1>>
+	<<set _slave.actualAge = _slave.actualAge+1>>
+	<<set _slave.visualAge = _slave.actualAge>>
+	<<set _slave.physicalAge = _slave.actualAge>>
+	<<set _slave.ovaryAge = _slave.actualAge>>
+	<<set _slave.genes = "XY">>
+	<<run nationalityToName(_slave)>>
+	<<set _slave.birthSurname = _princess.birthSurname, _slave.slaveSurname = _princess.birthSurname>>
+	<<set _slave.career = "a prince">>
+	<<set _slave.prestige = 2>>
+	<<set _slave.prestigeDesc = "$He was the crown prince of an ancient kingdom.">>
+	<<set _slave.devotion = random(-80,-60)>>
+	<<set _slave.trust = random(-50,-60)>>
+	<<set _slave.boobs = 150>>
+	<<set _slave.butt = random(0,1)>>
+	<<set _slave.vagina = -1>>
+	<<set _slave.clit = 0>>
+	<<set _slave.labia = 0>>
+	<<set _slave.ovaries = 0>>
+	<<set _slave.preg = 0>>
+	<<set _slave.dick = random(3,5)>>
+	<<set _slave.balls = random(2,4)>>
+	<<set _slave.scrotum = _slave.balls>>
+	<<set _slave.prostate = 1>>
+	<<set _slave.pubertyXX = 0>>
+	<<set _slave.pubertyAgeXY = $potencyAge>>
+	<<if _slave.physicalAge >= _slave.pubertyAgeXY>>
+		<<set _slave.pubertyXY = 1>>
 	<<else>>
-		<<set $activeSlave.pubertyXY = 0>>
+		<<set _slave.pubertyXY = 0>>
 	<</if>>
-	<<set $activeSlave.anus = 0>>
-	<<set $activeSlave.weight = 0>>
-	<<set $activeSlave.muscles = 50>>
-	<<set $activeSlave.intelligence = random(15,100)>>
-	<<set $activeSlave.intelligenceImplant = 15>>
-	<<set $activeSlave.face = Math.clamp($activeSlave.face+20,-100,100)>>
-	<<set $activeSlave.faceImplant = 15>>
-	<<set $activeSlave.skill.anal = 0>>
-	<<set $activeSlave.skill.oral = 0>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.combat = 1>>
-	<<set $activeSlave.canRecruit = 0>>
-	<<run setHealth($activeSlave, jsRandom(30, 60), 0, 0, 0, 0)>>
-	<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy")>>
-	<<set _prince = clone($activeSlave)>>
+	<<set _slave.anus = 0>>
+	<<set _slave.weight = 0>>
+	<<set _slave.muscles = 50>>
+	<<set _slave.intelligence = random(15,100)>>
+	<<set _slave.intelligenceImplant = 15>>
+	<<set _slave.face = Math.clamp(_slave.face+20,-100,100)>>
+	<<set _slave.faceImplant = 15>>
+	<<set _slave.skill.anal = 0>>
+	<<set _slave.skill.oral = 0>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.combat = 1>>
+	<<set _slave.canRecruit = 0>>
+	<<run setHealth(_slave, jsRandom(30, 60), 0, 0, 0, 0)>>
+	<<set _slave.behavioralFlaw = either("arrogant", "bitchy")>>
+	<<set _prince = clone(_slave)>>
 	<<setLocalPronouns _prince 2>>
 <</if>>
 /*Queen*/
-<<set $activeSlave.ID = generateSlaveID()>>
-<<set $activeSlaveOneTimeMinAge = ($fertilityAge+$activeSlave.actualAge)>>
+<<set _slave.ID = generateSlaveID()>>
+<<set _slaveOneTimeMinAge = ($fertilityAge+_slave.actualAge)>>
 <<if $pedo_mode == 1>>
-	<<set $activeSlaveOneTimeMaxAge = 24>>
+	<<set _slaveOneTimeMaxAge = 24>>
 <<else>>
-	<<set $activeSlaveOneTimeMaxAge = 43>>
+	<<set _slaveOneTimeMaxAge = 43>>
 <</if>>
-<<set $activeSlave.actualAge = random($activeSlaveOneTimeMinAge,$activeSlaveOneTimeMaxAge)>>
-<<set $activeSlave.visualAge = $activeSlave.actualAge>>
-<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
-<<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
-<<set $activeSlave.genes = "XX">>
-<<run nationalityToName($activeSlave)>>
-<<set $activeSlave.birthSurname = _princess.birthSurname, $activeSlave.slaveSurname = _princess.birthSurname>>
-<<set $activeSlave.career = "a Queen">>
-<<set $activeSlave.prestige = 2>>
-<<set $activeSlave.prestigeDesc = "$He was the Queen of an ancient kingdom.">>
-<<set $activeSlave.face = random(25,100)>>
-<<set $activeSlave.faceImplant = 0>>
-<<set $activeSlave.devotion = random(10,20)>>
-<<set $activeSlave.trust = random(-20,-30)>>
-<<set $activeSlave.boobs = random(3,10)*100>>
-<<set $activeSlave.vagina = 2>>
-<<set $activeSlave.dick = 0>>
-<<set $activeSlave.foreskin = 0>>
-<<set $activeSlave.balls = 0>>
-<<set $activeSlave.scrotum = 0>>
-<<set $activeSlave.prostate = 0>>
-<<set $activeSlave.ovaries = 1>>
+<<set _slave.actualAge = random(_slaveOneTimeMinAge,_slaveOneTimeMaxAge)>>
+<<set _slave.visualAge = _slave.actualAge>>
+<<set _slave.physicalAge = _slave.actualAge>>
+<<set _slave.ovaryAge = _slave.actualAge>>
+<<set _slave.genes = "XX">>
+<<run nationalityToName(_slave)>>
+<<set _slave.birthSurname = _princess.birthSurname, _slave.slaveSurname = _princess.birthSurname>>
+<<set _slave.career = "a Queen">>
+<<set _slave.prestige = 2>>
+<<set _slave.prestigeDesc = "$He was the Queen of an ancient kingdom.">>
+<<set _slave.face = random(25,100)>>
+<<set _slave.faceImplant = 0>>
+<<set _slave.devotion = random(10,20)>>
+<<set _slave.trust = random(-20,-30)>>
+<<set _slave.boobs = random(3,10)*100>>
+<<set _slave.vagina = 2>>
+<<set _slave.dick = 0>>
+<<set _slave.foreskin = 0>>
+<<set _slave.balls = 0>>
+<<set _slave.scrotum = 0>>
+<<set _slave.prostate = 0>>
+<<set _slave.ovaries = 1>>
 <<if $seePreg != 0>>
-	<<set $activeSlave.preg = 7>>
-	<<set $activeSlave.pregType = 1>>
-	<<set $activeSlave.pregWeek = 7>>
-	<<set $activeSlave.pregKnown = 1>>
-	<<run SetBellySize($activeSlave)>>
+	<<set _slave.preg = 7>>
+	<<set _slave.pregType = 1>>
+	<<set _slave.pregWeek = 7>>
+	<<set _slave.pregKnown = 1>>
+	<<run SetBellySize(_slave)>>
 <</if>>
-<<set $activeSlave.pubicHStyle = "waxed">>
-<<set $activeSlave.shoulders = random(-1,1)>>
-<<set $activeSlave.hips = 1>>
-<<set $activeSlave.butt = random(2,4)>>
-<<set $activeSlave.anus = 0>>
-<<set $activeSlave.weight = 0>>
-<<set $activeSlave.intelligence = random(15,100)>>
-<<set $activeSlave.intelligenceImplant = 30>>
-<<set $activeSlave.skill.entertainment = 45>>
-<<set $activeSlave.skill.whoring = 0>>
-<<set $activeSlave.counter.birthsTotal = 2>>
-<<set $activeSlave.pubertyXX = 1>>
-<<set $activeSlave.pubertyXY = 0>>
-<<set $activeSlave.canRecruit = 0>>
-<<run setHealth($activeSlave, jsRandom(30, 60), 0, 0, 0, 0)>>
-<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy")>>
-<<set _queen = clone($activeSlave)>>
+<<set _slave.pubicHStyle = "waxed">>
+<<set _slave.shoulders = random(-1,1)>>
+<<set _slave.hips = 1>>
+<<set _slave.butt = random(2,4)>>
+<<set _slave.anus = 0>>
+<<set _slave.weight = 0>>
+<<set _slave.intelligence = random(15,100)>>
+<<set _slave.intelligenceImplant = 30>>
+<<set _slave.skill.entertainment = 45>>
+<<set _slave.skill.whoring = 0>>
+<<set _slave.counter.birthsTotal = 2>>
+<<set _slave.pubertyXX = 1>>
+<<set _slave.pubertyXY = 0>>
+<<set _slave.canRecruit = 0>>
+<<run setHealth(_slave, jsRandom(30, 60), 0, 0, 0, 0)>>
+<<set _slave.behavioralFlaw = either("arrogant", "bitchy")>>
+<<set _queen = clone(_slave)>>
 <<setLocalPronouns _queen 3>>
 
 <<setAssistantPronouns>>
@@ -272,8 +269,8 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<<set _princess.origin = "$He was a princess of a royal kingdom, till $his family was overthrown and $he was sold to you in exchange for aid.">>
 		<<run cashX(-50000, "slaveTransfer", _princess)>>
 		<<run repX(-2000, "event", _princess)>>
-		<<set $activeSlave = _princess>>
-		<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+		<<set _slave = _princess>>
+		<<includeDOM App.UI.newSlaveIntro(_slave)>>
 	<</replace>>
 <</link>> // You will need to utilize a portion of your reputation and <<print cashFormat(50000)>> to enslave $him.//
 <<else>>
@@ -289,9 +286,9 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<br><br>
 		<<set $arcologies[0].prosperity -= 15>>
 		<<set _princess.origin = "$He was a princess of a royal kingdom, till $his family was overthrown and $he was acquired by "+$SF.Lower+".">>
-		<<set $activeSlave = _princess>>
-		<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
-		<<run repX(-18000, "event", $activeSlave)>>
+		<<set _slave = _princess>>
+		<<includeDOM App.UI.newSlaveIntro(_slave)>>
+		<<run repX(-18000, "event", _slave)>>
 	<</replace>>
 <</link>> //You will be despised for this action, and trade will be greatly damaged.//
 <</if>>
@@ -305,8 +302,8 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 				<br><br>
 				<<set _prince.origin = "$He was the crown prince of a royal kingdom, till $his family was overthrown and $he was sold to you in exchange for aid.">>
 				<<run cashX(-35000, "slaveTransfer", _prince)>>
-				<<set $activeSlave = _prince>>
-				<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+				<<set _slave = _prince>>
+				<<includeDOM App.UI.newSlaveIntro(_slave)>>
 			<</replace>>
 		<</link>> // Purchasing the goods and hiring the VTOLs will cost about <<print cashFormat(35000)>>.//
 	<<else>>
@@ -323,10 +320,10 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 				When _he2 arrives in your penthouse, the former prince is beside _himself2 with rage. When _he2 is brought to be modified in the remote surgery, _he2 breaks free and attempts to fight _his2 way out of your penthouse. _His2 attempt at freedom is futile, however, and _he2 is soon overwhelmed by your guards and dragged back to the remote surgery. It doesn't take long for the valiant prince to become a new dickgirl, though _his2 submission to life as a slave is another question entirely.
 				<br><br>
 				<<set $arcologies[0].prosperity -= 15>>
-				<<run repX(-18000, "event", $activeSlave)>>
+				<<run repX(-18000, "event", _slave)>>
 				<<set _prince.origin = "$He was the crown prince of a royal kingdom, till $his family was overthrown and $he was acquired by "+$SF.Lower+".">>
-				<<set $activeSlave = _prince>>
-				<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+				<<set _slave = _prince>>
+				<<includeDOM App.UI.newSlaveIntro(_slave)>>
 			<</replace>>
 		<</link>> //You will be despised for this action, and trade will be greatly damaged.//
 	<</if>>
@@ -391,40 +388,40 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		When the ladies arrive at your penthouse, they seem almost relieved at the opulence of their new surroundings. Though they still retain much of their aristocratic arrogance, they each submit to biometric scanning with relative obedience. It seems likely that their obedience is borne out of a delusional rationalization that enslavement by one wealthy master is better than enslavement by the unwashed masses they once lorded over.
 		<br><br>
 		<<for $i = 0; $i < 3; $i++>>
-			<<set $activeSlaveOneTimeMinAge = 21>>
-			<<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>>
+			<<set _slaveOneTimeMinAge = 21>>
+			<<set _slaveOneTimeMaxAge = ($retirementAge-2)>>
 			<<set $oneTimeDisableDisability = 1>>
-			<<set $activeSlave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
+			<<set _slave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
 			<<set _origin = "$He was a member of the court in an ancient kingdom, till it was overthrown and $he was sold to you in exchange for credits.">>
-			<<set $activeSlave.origin = _origin>>
-			<<set $activeSlave.career = "a lady courtier">>
-			<<set $activeSlave.prestige = 1>>
-			<<set $activeSlave.prestigeDesc = "$He was once a lady of the court of an ancient kingdom.">>
-			<<set $activeSlave.face = random(25,76)>>
-			<<set $activeSlave.devotion = random(10,20)>>
-			<<set $activeSlave.trust = random(-20,-30)>>
-			<<set $activeSlave.boobs = random(3,10)*100>>
-			<<set $activeSlave.vagina = 1>>
-			<<set $activeSlave.dick = 0>>
-			<<set $activeSlave.foreskin = 0>>
-			<<set $activeSlave.balls = 0>>
-			<<set $activeSlave.ovaries = 1>>
-			<<set $activeSlave.pubicHStyle = "waxed">>
-			<<set $activeSlave.underArmHStyle = "waxed">>
-			<<set $activeSlave.shoulders = random(-1,1)>>
-			<<set $activeSlave.hips = 1>>
-			<<set $activeSlave.butt = 1>>
-			<<set $activeSlave.anus = 0>>
-			<<set $activeSlave.weight = 0>>
-			<<set $activeSlave.intelligence = random(-50,70)>>
-			<<set $activeSlave.intelligenceImplant = 15>>
-			<<set $activeSlave.skill.entertainment = 25>>
-			<<set $activeSlave.skill.whoring = 0>>
-			<<run setHealth($activeSlave, jsRandom(30, 60), 0, 0, 0, 0)>>
-			<<set $activeSlave.canRecruit = 0>>
-			<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy")>>
-			<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-			<<run cashX(-8333, "slaveTransfer", $activeSlave)>>
+			<<set _slave.origin = _origin>>
+			<<set _slave.career = "a lady courtier">>
+			<<set _slave.prestige = 1>>
+			<<set _slave.prestigeDesc = "$He was once a lady of the court of an ancient kingdom.">>
+			<<set _slave.face = random(25,76)>>
+			<<set _slave.devotion = random(10,20)>>
+			<<set _slave.trust = random(-20,-30)>>
+			<<set _slave.boobs = random(3,10)*100>>
+			<<set _slave.vagina = 1>>
+			<<set _slave.dick = 0>>
+			<<set _slave.foreskin = 0>>
+			<<set _slave.balls = 0>>
+			<<set _slave.ovaries = 1>>
+			<<set _slave.pubicHStyle = "waxed">>
+			<<set _slave.underArmHStyle = "waxed">>
+			<<set _slave.shoulders = random(-1,1)>>
+			<<set _slave.hips = 1>>
+			<<set _slave.butt = 1>>
+			<<set _slave.anus = 0>>
+			<<set _slave.weight = 0>>
+			<<set _slave.intelligence = random(-50,70)>>
+			<<set _slave.intelligenceImplant = 15>>
+			<<set _slave.skill.entertainment = 25>>
+			<<set _slave.skill.whoring = 0>>
+			<<run setHealth(_slave, jsRandom(30, 60), 0, 0, 0, 0)>>
+			<<set _slave.canRecruit = 0>>
+			<<set _slave.behavioralFlaw = either("arrogant", "bitchy")>>
+			<<run newSlave(_slave)>> /* skip New Slave Intro */
+			<<run cashX(-8333, "slaveTransfer", _slave)>>
 		<</for>>
 	<</replace>>
 <</link>> // It will cost about <<print cashFormat(25000)>> to enslave them.//
@@ -441,40 +438,40 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<br><br>
 		<<set $arcologies[0].prosperity -= 10>>
 		<<for $i = 0; $i < 3; $i++>>
-			<<set $activeSlaveOneTimeMinAge = 21>>
-			<<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>>
+			<<set _slaveOneTimeMinAge = 21>>
+			<<set _slaveOneTimeMaxAge = ($retirementAge-2)>>
 			<<set $oneTimeDisableDisability = 1>>
-			<<set $activeSlave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
+			<<set _slave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
 			<<set _origin = "$He was a member of the court in an ancient kingdom, till it was overthrown and $he was acquired by "+$SF.Lower+".">>
-			<<set $activeSlave.origin = _origin>>
-			<<set $activeSlave.career = "a lady courtier">>
-			<<set $activeSlave.prestige = 1>>
-			<<set $activeSlave.prestigeDesc = "$He was once a lady of the court of an ancient kingdom.">>
-			<<set $activeSlave.face = random(25,76)>>
-			<<set $activeSlave.devotion = random(10,20)>>
-			<<set $activeSlave.trust = random(-20,-30)>>
-			<<set $activeSlave.boobs = random(3,10)*100>>
-			<<set $activeSlave.vagina = 1>>
-			<<set $activeSlave.dick = 0>>
-			<<set $activeSlave.foreskin = 0>>
-			<<set $activeSlave.balls = 0>>
-			<<set $activeSlave.ovaries = 1>>
-			<<set $activeSlave.pubicHStyle = "waxed">>
-			<<set $activeSlave.underArmHStyle = "waxed">>
-			<<set $activeSlave.shoulders = random(-1,1)>>
-			<<set $activeSlave.hips = 1>>
-			<<set $activeSlave.butt = 1>>
-			<<set $activeSlave.anus = 0>>
-			<<set $activeSlave.weight = 0>>
-			<<set $activeSlave.intelligence = random(-50,70)>>
-			<<set $activeSlave.intelligenceImplant = 15>>
-			<<set $activeSlave.skill.entertainment = 25>>
-			<<set $activeSlave.skill.whoring = 0>>
-			<<run setHealth($activeSlave, jsRandom(30, 60), 0, 0, 0, 0)>>
-			<<set $activeSlave.canRecruit = 0>>
-			<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy")>>
-			<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-			<<run repX(-3333, "event", $activeSlave)>>
+			<<set _slave.origin = _origin>>
+			<<set _slave.career = "a lady courtier">>
+			<<set _slave.prestige = 1>>
+			<<set _slave.prestigeDesc = "$He was once a lady of the court of an ancient kingdom.">>
+			<<set _slave.face = random(25,76)>>
+			<<set _slave.devotion = random(10,20)>>
+			<<set _slave.trust = random(-20,-30)>>
+			<<set _slave.boobs = random(3,10)*100>>
+			<<set _slave.vagina = 1>>
+			<<set _slave.dick = 0>>
+			<<set _slave.foreskin = 0>>
+			<<set _slave.balls = 0>>
+			<<set _slave.ovaries = 1>>
+			<<set _slave.pubicHStyle = "waxed">>
+			<<set _slave.underArmHStyle = "waxed">>
+			<<set _slave.shoulders = random(-1,1)>>
+			<<set _slave.hips = 1>>
+			<<set _slave.butt = 1>>
+			<<set _slave.anus = 0>>
+			<<set _slave.weight = 0>>
+			<<set _slave.intelligence = random(-50,70)>>
+			<<set _slave.intelligenceImplant = 15>>
+			<<set _slave.skill.entertainment = 25>>
+			<<set _slave.skill.whoring = 0>>
+			<<run setHealth(_slave, jsRandom(30, 60), 0, 0, 0, 0)>>
+			<<set _slave.canRecruit = 0>>
+			<<set _slave.behavioralFlaw = either("arrogant", "bitchy")>>
+			<<run newSlave(_slave)>> /* skip New Slave Intro */
+			<<run repX(-3333, "event", _slave)>>
 		<</for>>
 	<</replace>>
 <</link>> // You will disliked for this action and trade will be damaged. //
@@ -493,20 +490,20 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 			fuss.
 		<</if>>
 		<br><br>
-		<<set $activeSlaveOneTimeMinAge = ($fertilityAge+2)>>
+		<<set _slaveOneTimeMinAge = ($fertilityAge+2)>>
 		<<if $pedo_mode == 1>>
-			<<set $activeSlaveOneTimeMaxAge = 24>>
+			<<set _slaveOneTimeMaxAge = 24>>
 		<<else>>
-			<<set $activeSlaveOneTimeMaxAge = 43>>
+			<<set _slaveOneTimeMaxAge = 43>>
 		<</if>>
-		<<set _queen.actualAge = random($activeSlaveOneTimeMinAge,$activeSlaveOneTimeMaxAge)>>
+		<<set _queen.actualAge = random(_slaveOneTimeMinAge,_slaveOneTimeMaxAge)>>
 		<<set _queen.visualAge = _queen.actualAge>>
 		<<set _queen.physicalAge = _queen.actualAge>>
 		<<set _queen.ovaryAge = _queen.actualAge>>
 		<<set _queen.origin = "$He was the Queen of a royal kingdom, till $his husband was overthrown and $he was sold to you in exchange for credits.">>
 		<<run cashX(-15000, "slaveTransfer", _queen)>>
-		<<set $activeSlave = _queen>>
-		<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+		<<set _slave = _queen>>
+		<<includeDOM App.UI.newSlaveIntro(_slave)>>
 	<</replace>>
 <</link>> // It will cost about <<print cashFormat(15000)>> to enslave _him3.//
 <<else>>
@@ -526,19 +523,19 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<</if>>
 		<br><br>
 		<<set $arcologies[0].prosperity -= 12>>
-		<<set $activeSlaveOneTimeMinAge = ($fertilityAge+2)>>
+		<<set _slaveOneTimeMinAge = ($fertilityAge+2)>>
 		<<if $pedo_mode == 1>>
-			<<set $activeSlaveOneTimeMaxAge = 24>>
+			<<set _slaveOneTimeMaxAge = 24>>
 		<<else>>
-			<<set $activeSlaveOneTimeMaxAge = 43>>
+			<<set _slaveOneTimeMaxAge = 43>>
 		<</if>>
-		<<set _queen.actualAge = random($activeSlaveOneTimeMinAge,$activeSlaveOneTimeMaxAge)>>
+		<<set _queen.actualAge = random(_slaveOneTimeMinAge,_slaveOneTimeMaxAge)>>
 		<<set _queen.visualAge = _queen.actualAge>>
 		<<set _queen.physicalAge = _queen.actualAge>>
 		<<set _queen.ovaryAge = _queen.actualAge>>
 		<<set _queen.origin = "$He was the Queen of a royal kingdom, till $his husband was overthrown and $he was acquired by "+$SF.Lower+".">>
-		<<set $activeSlave = _queen>>
-		<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+		<<set _slave = _queen>>
+		<<includeDOM App.UI.newSlaveIntro(_slave)>>
 		<<run repX(-12000, "event", _queen)>>
 	<</replace>>
 <</link>> //You will be despised for this action, and trade will be greatly damaged.//
@@ -614,40 +611,40 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		Meanwhile, the ladies seem comforted by the opulence of their new surroundings. Though they still retain much of their aristocratic arrogance, they each submit to biometric scanning with relative obedience. It seems likely that their obedience is borne out of a delusional rationalization that enslavement by one wealthy master is better than enslavement by the unwashed masses they once lorded over.
 		/* ladies */
 		<<for $i = 0; $i < 3; $i++>>
-			<<set $activeSlaveOneTimeMinAge = 21>>
-			<<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>>
+			<<set _slaveOneTimeMinAge = 21>>
+			<<set _slaveOneTimeMaxAge = ($retirementAge-2)>>
 			<<set $oneTimeDisableDisability = 1>>
-			<<set $activeSlave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
+			<<set _slave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
 			<<set _origin = "$He was a member of the court in an ancient kingdom, till it was overthrown and $he was sold for credits.">>
-			<<set $activeSlave.origin = _origin>>
-			<<set $activeSlave.career = "a lady courtier">>
-			<<set $activeSlave.prestige = 1>>
-			<<set $activeSlave.prestigeDesc = "$He was once a lady of the court of an ancient kingdom.">>
-			<<set $activeSlave.face = random(25,76)>>
-			<<set $activeSlave.devotion = random(10,20)>>
-			<<set $activeSlave.trust = random(-20,-30)>>
-			<<set $activeSlave.boobs = random(3,10)*100>>
-			<<set $activeSlave.vagina = 1>>
-			<<set $activeSlave.dick = 0>>
-			<<set $activeSlave.foreskin = 0>>
-			<<set $activeSlave.balls = 0>>
-			<<set $activeSlave.ovaries = 1>>
-			<<set $activeSlave.pubicHStyle = "waxed">>
-			<<set $activeSlave.underArmHStyle = "waxed">>
-			<<set $activeSlave.shoulders = random(-1,1)>>
-			<<set $activeSlave.hips = 1>>
-			<<set $activeSlave.butt = 1>>
-			<<set $activeSlave.anus = 0>>
-			<<set $activeSlave.weight = 0>>
-			<<set $activeSlave.intelligence = random(-50,70)>>
-			<<set $activeSlave.intelligenceImplant = 15>>
-			<<set $activeSlave.skill.entertainment = 25>>
-			<<set $activeSlave.skill.whoring = 0>>
-			<<run setHealth($activeSlave, jsRandom(30, 60), 0, 0, 0, 0)>>
-			<<set $activeSlave.canRecruit = 0>>
-			<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy")>>
-			<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-			<<run cashX(-100000, "slaveTransfer", $activeSlave)>>
+			<<set _slave.origin = _origin>>
+			<<set _slave.career = "a lady courtier">>
+			<<set _slave.prestige = 1>>
+			<<set _slave.prestigeDesc = "$He was once a lady of the court of an ancient kingdom.">>
+			<<set _slave.face = random(25,76)>>
+			<<set _slave.devotion = random(10,20)>>
+			<<set _slave.trust = random(-20,-30)>>
+			<<set _slave.boobs = random(3,10)*100>>
+			<<set _slave.vagina = 1>>
+			<<set _slave.dick = 0>>
+			<<set _slave.foreskin = 0>>
+			<<set _slave.balls = 0>>
+			<<set _slave.ovaries = 1>>
+			<<set _slave.pubicHStyle = "waxed">>
+			<<set _slave.underArmHStyle = "waxed">>
+			<<set _slave.shoulders = random(-1,1)>>
+			<<set _slave.hips = 1>>
+			<<set _slave.butt = 1>>
+			<<set _slave.anus = 0>>
+			<<set _slave.weight = 0>>
+			<<set _slave.intelligence = random(-50,70)>>
+			<<set _slave.intelligenceImplant = 15>>
+			<<set _slave.skill.entertainment = 25>>
+			<<set _slave.skill.whoring = 0>>
+			<<run setHealth(_slave, jsRandom(30, 60), 0, 0, 0, 0)>>
+			<<set _slave.canRecruit = 0>>
+			<<set _slave.behavioralFlaw = either("arrogant", "bitchy")>>
+			<<run newSlave(_slave)>> /* skip New Slave Intro */
+			<<run cashX(-100000, "slaveTransfer", _slave)>>
 		<</for>>
 		/*Queen*/
 		<<set _queen.origin = "$He was the Queen of a royal kingdom, till $his husband was overthrown and $he was sold for credits.">>
@@ -674,40 +671,40 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 		<<set $arcologies[0].prosperity -= 13>>
 		/* ladies */
 		<<for $i = 0; $i < 3; $i++>>
-			<<set $activeSlaveOneTimeMinAge = 21>>
-			<<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>>
+			<<set _slaveOneTimeMinAge = 21>>
+			<<set _slaveOneTimeMaxAge = ($retirementAge-2)>>
 			<<set $oneTimeDisableDisability = 1>>
-			<<set $activeSlave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
+			<<set _slave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
 			<<set _origin = "$He was a member of the court in an ancient kingdom, till it was overthrown and $he was acquired by "+$SF.Lower+".">>
-			<<set $activeSlave.origin = _origin>>
-			<<set $activeSlave.career = "a lady courtier">>
-			<<set $activeSlave.prestige = 1>>
-			<<set $activeSlave.prestigeDesc = "$He was once a lady of the court of an ancient kingdom.">>
-			<<set $activeSlave.face = random(25,76)>>
-			<<set $activeSlave.devotion = random(10,20)>>
-			<<set $activeSlave.trust = random(-20,-30)>>
-			<<set $activeSlave.boobs = random(3,10)*100>>
-			<<set $activeSlave.vagina = 1>>
-			<<set $activeSlave.dick = 0>>
-			<<set $activeSlave.foreskin = 0>>
-			<<set $activeSlave.balls = 0>>
-			<<set $activeSlave.ovaries = 1>>
-			<<set $activeSlave.pubicHStyle = "waxed">>
-			<<set $activeSlave.underArmHStyle = "waxed">>
-			<<set $activeSlave.shoulders = random(-1,1)>>
-			<<set $activeSlave.hips = 1>>
-			<<set $activeSlave.butt = 1>>
-			<<set $activeSlave.anus = 0>>
-			<<set $activeSlave.weight = 0>>
-			<<set $activeSlave.intelligence = random(-50,70)>>
-			<<set $activeSlave.intelligenceImplant = 15>>
-			<<set $activeSlave.skill.entertainment = 25>>
-			<<set $activeSlave.skill.whoring = 0>>
-			<<run setHealth($activeSlave, jsRandom(30, 60), 0, 0, 0, 0)>>
-			<<set $activeSlave.canRecruit = 0>>
-			<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy")>>
-			<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-			<<run repX(-3000, "event", $activeSlave)>>
+			<<set _slave.origin = _origin>>
+			<<set _slave.career = "a lady courtier">>
+			<<set _slave.prestige = 1>>
+			<<set _slave.prestigeDesc = "$He was once a lady of the court of an ancient kingdom.">>
+			<<set _slave.face = random(25,76)>>
+			<<set _slave.devotion = random(10,20)>>
+			<<set _slave.trust = random(-20,-30)>>
+			<<set _slave.boobs = random(3,10)*100>>
+			<<set _slave.vagina = 1>>
+			<<set _slave.dick = 0>>
+			<<set _slave.foreskin = 0>>
+			<<set _slave.balls = 0>>
+			<<set _slave.ovaries = 1>>
+			<<set _slave.pubicHStyle = "waxed">>
+			<<set _slave.underArmHStyle = "waxed">>
+			<<set _slave.shoulders = random(-1,1)>>
+			<<set _slave.hips = 1>>
+			<<set _slave.butt = 1>>
+			<<set _slave.anus = 0>>
+			<<set _slave.weight = 0>>
+			<<set _slave.intelligence = random(-50,70)>>
+			<<set _slave.intelligenceImplant = 15>>
+			<<set _slave.skill.entertainment = 25>>
+			<<set _slave.skill.whoring = 0>>
+			<<run setHealth(_slave, jsRandom(30, 60), 0, 0, 0, 0)>>
+			<<set _slave.canRecruit = 0>>
+			<<set _slave.behavioralFlaw = either("arrogant", "bitchy")>>
+			<<run newSlave(_slave)>> /* skip New Slave Intro */
+			<<run repX(-3000, "event", _slave)>>
 		<</for>>
 		/*Queen*/
 		<<set _queen.origin = "$He was the Queen of a royal kingdom, till $his husband was overthrown and $he was acquired by "+$SF.Lower+".">>
@@ -757,40 +754,40 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 			Lastly, the ladies seem comforted by the opulence of their new surroundings. Though they still retain much of their aristocratic arrogance, they each submit to biometric scanning with relative obedience. It seems likely that their obedience is borne out of a delusional rationalization that enslavement by one wealthy master is better than enslavement by the unwashed masses they once lorded over.
 			/* ladies */
 			<<for $i = 0; $i < 3; $i++>>
-				<<set $activeSlaveOneTimeMinAge = 21>>
-				<<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>>
+				<<set _slaveOneTimeMinAge = 21>>
+				<<set _slaveOneTimeMaxAge = ($retirementAge-2)>>
 				<<set $oneTimeDisableDisability = 1>>
-				<<set $activeSlave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
+				<<set _slave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
 				<<set _origin = "$He was a member of the court in an ancient kingdom, till it was overthrown and $he was sold for credits.">>
-				<<set $activeSlave.origin = _origin>>
-				<<set $activeSlave.career = "a lady courtier">>
-				<<set $activeSlave.prestige = 1>>
-				<<set $activeSlave.prestigeDesc = "$He was once a lady of the court of an ancient kingdom.">>
-				<<set $activeSlave.face = random(25,76)>>
-				<<set $activeSlave.devotion = random(10,20)>>
-				<<set $activeSlave.trust = random(-20,-30)>>
-				<<set $activeSlave.boobs = random(3,10)*100>>
-				<<set $activeSlave.vagina = 1>>
-				<<set $activeSlave.dick = 0>>
-				<<set $activeSlave.foreskin = 0>>
-				<<set $activeSlave.balls = 0>>
-				<<set $activeSlave.ovaries = 1>>
-				<<set $activeSlave.pubicHStyle = "waxed">>
-				<<set $activeSlave.underArmHStyle = "waxed">>
-				<<set $activeSlave.shoulders = random(-1,1)>>
-				<<set $activeSlave.hips = 1>>
-				<<set $activeSlave.butt = 1>>
-				<<set $activeSlave.anus = 0>>
-				<<set $activeSlave.weight = 0>>
-				<<set $activeSlave.intelligence = random(-50,70)>>
-				<<set $activeSlave.intelligenceImplant = 15>>
-				<<set $activeSlave.skill.entertainment = 25>>
-				<<set $activeSlave.skill.whoring = 0>>
-				<<run setHealth($activeSlave, jsRandom(30, 60), 0, 0, 0, 0)>>
-				<<set $activeSlave.canRecruit = 0>>
-				<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy")>>
-				<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-				<<run cashX(-133333, "slaveTransfer", $activeSlave)>>
+				<<set _slave.origin = _origin>>
+				<<set _slave.career = "a lady courtier">>
+				<<set _slave.prestige = 1>>
+				<<set _slave.prestigeDesc = "$He was once a lady of the court of an ancient kingdom.">>
+				<<set _slave.face = random(25,76)>>
+				<<set _slave.devotion = random(10,20)>>
+				<<set _slave.trust = random(-20,-30)>>
+				<<set _slave.boobs = random(3,10)*100>>
+				<<set _slave.vagina = 1>>
+				<<set _slave.dick = 0>>
+				<<set _slave.foreskin = 0>>
+				<<set _slave.balls = 0>>
+				<<set _slave.ovaries = 1>>
+				<<set _slave.pubicHStyle = "waxed">>
+				<<set _slave.underArmHStyle = "waxed">>
+				<<set _slave.shoulders = random(-1,1)>>
+				<<set _slave.hips = 1>>
+				<<set _slave.butt = 1>>
+				<<set _slave.anus = 0>>
+				<<set _slave.weight = 0>>
+				<<set _slave.intelligence = random(-50,70)>>
+				<<set _slave.intelligenceImplant = 15>>
+				<<set _slave.skill.entertainment = 25>>
+				<<set _slave.skill.whoring = 0>>
+				<<run setHealth(_slave, jsRandom(30, 60), 0, 0, 0, 0)>>
+				<<set _slave.canRecruit = 0>>
+				<<set _slave.behavioralFlaw = either("arrogant", "bitchy")>>
+				<<run newSlave(_slave)>> /* skip New Slave Intro */
+				<<run cashX(-133333, "slaveTransfer", _slave)>>
 			<</for>>
 			/* princess */
 			<<set _princess.origin = "$He was a princess of a royal kingdom, till $his family was overthrown and $he was sold for credits.">>
@@ -859,60 +856,60 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad
 
 				/* ladies */
 				<<for $i = 0; $i < 3; $i++>>
-					<<set $activeSlaveOneTimeMinAge = 21>>
-					<<set $activeSlaveOneTimeMaxAge = ($retirementAge-2)>>
+					<<set _slaveOneTimeMinAge = 21>>
+					<<set _slaveOneTimeMaxAge = ($retirementAge-2)>>
 					<<set $oneTimeDisableDisability = 1>>
-					<<set $activeSlave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
+					<<set _slave = GenerateNewSlave("XX", {nationality: _princess.nationality})>>
 					<<set _origin = "$He was a member of the court in an ancient kingdom, till it was overthrown and $he was acquired by "+$SF.Lower+".">>
-					<<set $activeSlave.origin = _origin>>
-					<<set $activeSlave.career = "a lady courtier">>
-					<<set $activeSlave.prestige = 1>>
-					<<set $activeSlave.prestigeDesc = "$He was once a lady of the court of an ancient kingdom.">>
-					<<set $activeSlave.face = random(25,76)>>
-					<<set $activeSlave.devotion = random(10,20)>>
-					<<set $activeSlave.trust = random(-20,-30)>>
-					<<set $activeSlave.boobs = random(3,10)*100>>
-					<<set $activeSlave.vagina = 1>>
-					<<set $activeSlave.dick = 0>>
-					<<set $activeSlave.foreskin = 0>>
-					<<set $activeSlave.balls = 0>>
-					<<set $activeSlave.ovaries = 1>>
-					<<set $activeSlave.pubicHStyle = "waxed">>
-					<<set $activeSlave.underArmHStyle = "waxed">>
-					<<set $activeSlave.shoulders = random(-1,1)>>
-					<<set $activeSlave.hips = 1>>
-					<<set $activeSlave.butt = 1>>
-					<<set $activeSlave.anus = 0>>
-					<<set $activeSlave.weight = 0>>
-					<<set $activeSlave.intelligence = random(-50,70)>>
-					<<set $activeSlave.intelligenceImplant = 15>>
-					<<set $activeSlave.skill.entertainment = 25>>
-					<<set $activeSlave.skill.whoring = 0>>
-					<<run setHealth($activeSlave, jsRandom(30, 60), 0, 0, 0, 0)>>
-					<<set $activeSlave.canRecruit = 0>>
-					<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy")>>
-					<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-					<<run repX((1*_repShares), "event", $activeSlave)>>
+					<<set _slave.origin = _origin>>
+					<<set _slave.career = "a lady courtier">>
+					<<set _slave.prestige = 1>>
+					<<set _slave.prestigeDesc = "$He was once a lady of the court of an ancient kingdom.">>
+					<<set _slave.face = random(25,76)>>
+					<<set _slave.devotion = random(10,20)>>
+					<<set _slave.trust = random(-20,-30)>>
+					<<set _slave.boobs = random(3,10)*100>>
+					<<set _slave.vagina = 1>>
+					<<set _slave.dick = 0>>
+					<<set _slave.foreskin = 0>>
+					<<set _slave.balls = 0>>
+					<<set _slave.ovaries = 1>>
+					<<set _slave.pubicHStyle = "waxed">>
+					<<set _slave.underArmHStyle = "waxed">>
+					<<set _slave.shoulders = random(-1,1)>>
+					<<set _slave.hips = 1>>
+					<<set _slave.butt = 1>>
+					<<set _slave.anus = 0>>
+					<<set _slave.weight = 0>>
+					<<set _slave.intelligence = random(-50,70)>>
+					<<set _slave.intelligenceImplant = 15>>
+					<<set _slave.skill.entertainment = 25>>
+					<<set _slave.skill.whoring = 0>>
+					<<run setHealth(_slave, jsRandom(30, 60), 0, 0, 0, 0)>>
+					<<set _slave.canRecruit = 0>>
+					<<set _slave.behavioralFlaw = either("arrogant", "bitchy")>>
+					<<run newSlave(_slave)>> /* skip New Slave Intro */
+					<<run repX((1*_repShares), "event", _slave)>>
 				<</for>>
 				/* princess */
 				<<set _princess.origin = "$He was a princess of a royal kingdom, till $his family was overthrown and $he was acquired by "+$SF.Lower+".">>
 				<<set _princess.mother = _queen.ID>>
 				<<run setMissingParents(_princess)>>
 				<<run newSlave(_princess)>> /* skip New Slave Intro */
-				<<run repX((5*_repShares), "event", $activeSlave)>>
+				<<run repX((5*_repShares), "event", _slave)>>
 				/* prince */
 				<<if $seeDicks > 0>>
 					<<set _prince.origin = "$He was the crown prince of a royal kingdom, till $his family was overthrown and $he was acquired by "+$SF.Lower+".">>
 					<<set _prince.mother = _princess.mother>>
 					<<set _prince.father = _princess.father>>
 					<<run newSlave(_prince)>> /* skip New Slave Intro */
-					<<run repX((3*_repShares), "event", $activeSlave)>>
+					<<run repX((3*_repShares), "event", _slave)>>
 				<</if>>
 				/*Queen*/
 				<<set _queen.origin = "$He was the Queen of a royal kingdom, till $his husband was overthrown and $he was acquired by "+$SF.Lower+".">>
 				<<run setMissingParents(_queen)>>
 				<<run newSlave(_queen)>> /* skip New Slave Intro */
-				<<run repX((4*_repShares), "event", $activeSlave)>>
+				<<run repX((4*_repShares), "event", _slave)>>
 				<<run repX(0-$rep, "event")>> /*Round off any remaining rep due to the trunc on shares*/
 			<</replace>>
 		<</link>> //You will be loathed for this action and trade will be crippled.//
diff --git a/src/uncategorized/cellblock.tw b/src/uncategorized/cellblock.tw
index c8735ddd82a94eb262982cba29d46967f42d5abf..beb66b4c19905612ab1a1c5893c55c4d94071b1c 100644
--- a/src/uncategorized/cellblock.tw
+++ b/src/uncategorized/cellblock.tw
@@ -88,7 +88,7 @@
 <div>
 	<<set _Tmult0 = Math.trunc($cellblock*1000*$upgradeMultiplierArcology)>>
 	_cellblockNameCaps has room for $cellblock slaves to be kept in close confinement.
-	There <<if _CL == 1>>is<<else>>are<</if>> currently _CL slaves<<if _CL != 1>>s<</if>> kept in close confinement in $cellblockName.
+	There <<if _CL == 1>>is<<else>>are<</if>> currently _CL slave<<if _CL != 1>>s<</if>> kept in close confinement in $cellblockName.
 	<div class="choices">
 		[[Expand the cellblock|Cellblock][cashX(forceNeg(_Tmult0), "capEx"), $cellblock += 5, $PC.skill.engineering += .1]]
 		<span class="note">
diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw
index d248725996ec9ce6cc6800ab65f6f4bbd5cfe24a..128816984eaf45f1e70240e02720dc61e0c47332 100644
--- a/src/uncategorized/costsReport.tw
+++ b/src/uncategorized/costsReport.tw
@@ -903,7 +903,7 @@ $researchLab.level > 0>>
 
 This brings the overall total to ''@@.yellowgreen;<<print cashFormat(_arcologyCosts+_total)>>@@'' before reductions.
 
-<<if $PC.career == "servant">>
+<<if $PC.career == "servant" || $PC.career == "handmaiden" || $PC.career == "child servant">>
 	<br>Using your prior experience, you managed to lower your home's upkeep by @@.green;<<if $personalAttention == "upkeep">><<if $PC.belly >= 5000>>20%<<else>>25%<</if>><<else>>10%<</if>>.@@
 <</if>>
 
diff --git a/src/uncategorized/futureSociety.tw b/src/uncategorized/futureSociety.tw
index 89aa9cd429b4b51c80ce819831ba52b063aec883..155195353f25ab653ca6340b56ebfb34d360680a 100644
--- a/src/uncategorized/futureSociety.tw
+++ b/src/uncategorized/futureSociety.tw
@@ -1,1826 +1,13 @@
 :: Future Society [nobr jump-to-safe jump-from-safe]
 
 <<setAssistantPronouns>>
-<<set $nextButton = "Back", $nextLink = "Main", $encyclopedia = "Future Societies", $FSReminder = "">>
+<<set $nextButton = "Back", $nextLink = "Main", $encyclopedia = "Future Societies">>
 
-/* FIRST FS STORING FOR RIVALRY */
-
-<<if $rivalryFS == 0>>
-	<<if $arcologies[0].FSSubjugationist != "unset">>
-		<<set $rivalryFS = "Racial Subjugationism">>
-		<<set $rivalryFSRace = $arcologies[0].FSSubjugationistRace>>
-	<</if>>
-	<<if $arcologies[0].FSSupremacist != "unset">>
-		<<set $rivalryFS = "Racial Supremacism">>
-		<<set $rivalryFSRace = $arcologies[0].FSSupremacistRace>>
-	<</if>>
-	<<if $arcologies[0].FSGenderRadicalist != "unset">>
-		<<set $rivalryFS = "Gender Radicalism">>
-	<<elseif $arcologies[0].FSGenderFundamentalist != "unset">>
-		<<set $rivalryFS = "Gender Fundamentalism">>
-	<</if>>
-	<<if $arcologies[0].FSRepopulationFocus != "unset">>
-		<<set $rivalryFS = "Repopulation Focus">>
-	<<elseif $arcologies[0].FSRestart != "unset">>
-		<<set $rivalryFS = "Eugenics">>
-	<</if>>
-	<<if $arcologies[0].FSPaternalist != "unset">>
-		<<set $rivalryFS = "Paternalism">>
-	<<elseif $arcologies[0].FSDegradationist != "unset">>
-		<<set $rivalryFS = "Degradationism">>
-	<</if>>
-	<<if $arcologies[0].FSBodyPurist != "unset">>
-		<<set $rivalryFS = "Body Purism">>
-	<<elseif $arcologies[0].FSTransformationFetishist != "unset">>
-		<<set $rivalryFS = "Transformation Fetishism">>
-	<</if>>
-	<<if $arcologies[0].FSYouthPreferentialist != "unset">>
-		<<set $rivalryFS = "Youth Preferentialism">>
-	<<elseif $arcologies[0].FSMaturityPreferentialist != "unset">>
-		<<set $rivalryFS = "Maturity Preferentialism">>
-	<</if>>
-	<<if $arcologies[0].FSSlimnessEnthusiast != "unset">>
-		<<set $rivalryFS = "Slimness Enthusiasm">>
-	<<elseif $arcologies[0].FSAssetExpansionist != "unset">>
-		<<set $rivalryFS = "Asset Expansionism">>
-	<</if>>
-	<<if $arcologies[0].FSPastoralist != "unset">>
-		<<set $rivalryFS = "Pastoralism">>
-	<<elseif $arcologies[0].FSCummunism != "unset">>
-		<<set $rivalryFS = "Cummunism">>
-	<</if>>
-	<<if $arcologies[0].FSHedonisticDecadence != "unset">>
-		<<set $rivalryFS = "Hedonistic Decadence">>
-	<<elseif $arcologies[0].FSPhysicalIdealist != "unset">>
-		<<set $rivalryFS = "Physical Idealism">>
-	<</if>>
-	<<if $arcologies[0].FSIntellectualDependency != "unset">>
-		<<set $rivalryFS = "Intellectual Dependency">>
-	<<elseif $arcologies[0].FSSlaveProfessionalism != "unset">>
-		<<set $rivalryFS = "Slave Professionalism">>
-	<</if>>
-	<<if $arcologies[0].FSPetiteAdmiration != "unset">>
-		<<set $rivalryFS = "Petite Admiration">>
-	<<elseif $arcologies[0].FSStatuesqueGlorification != "unset">>
-		<<set $rivalryFS = "Statuesque Glorification">>
-	<</if>>
-	<<if $arcologies[0].FSChattelReligionist != "unset">>
-		<<set $rivalryFS = "Chattel Religionism">>
-	<<elseif $arcologies[0].FSNull != "unset">>
-		<<set $rivalryFS = "Multiculturalism">>
-	<</if>>
-	<<if $arcologies[0].FSRomanRevivalist != "unset">>
-		<<set $rivalryFS = "Roman Revivalism">>
-	<<elseif $arcologies[0].FSNeoImperialist != "unset">>
-		<<set $rivalryFS = "Neo-Imperialism">>
-	<<elseif $arcologies[0].FSAztecRevivalist != "unset">>
-		<<set $rivalryFS = "Aztec Revivalism">>
-	<<elseif $arcologies[0].FSEgyptianRevivalist != "unset">>
-		<<set $rivalryFS = "Egyptian Revivalism">>
-	<<elseif $arcologies[0].FSEdoRevivalist != "unset">>
-		<<set $rivalryFS = "Edo Revivalism">>
-	<<elseif $arcologies[0].FSArabianRevivalist != "unset">>
-		<<set $rivalryFS = "Arabian Revivalism">>
-	<<elseif $arcologies[0].FSChineseRevivalist != "unset">>
-		<<set $rivalryFS = "Chinese Revivalism">>
-	<</if>>
-<</if>>
-
-<<if $cheatMode == 1>>
-	<p class="detail" style="text-align:center">
-		[[Cheat Edit Future Society|MOD_Edit FS Cheat][$cheater = 1]]
-	</p>
-<</if>>
-
-<<set _FSCredits = FutureSocieties.availCredits()>>
-<<if _FSCredits > 0>>
-	<span class="yellow">$arcologies[0].name's society is ready to begin accepting a new societal direction.</span>
-<<elseif $FSGotRepCredits >= 3>>
-	Your society is so radically changed that it is starting to take on a life of its own. The major decisions about its direction have been made.
-<<else>>
-	You must develop your reputation further for $arcologies[0].name's society to be ready for a new societal direction.
-<</if>>
-
-<<if $arcologies[0].FSSupremacist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly in $arcologies[0].FSSupremacistRace superiority.
-<<elseif $arcologies[0].FSSupremacist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with $arcologies[0].FSSupremacistRace superiority.
-<<elseif $arcologies[0].FSSupremacist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to $arcologies[0].FSSupremacistRace superiority.
-<<elseif $arcologies[0].FSSupremacist != "unset">>
-	$arcologies[0].name is unconvinced of $arcologies[0].FSSupremacistRace superiority.
-<</if>>
-
-<<if $arcologies[0].FSSubjugationist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly in the inferiority of $arcologies[0].FSSubjugationistRace people.
-<<elseif $arcologies[0].FSSubjugationist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with the inferiority of $arcologies[0].FSSubjugationistRace people.
-<<elseif $arcologies[0].FSSubjugationist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to the inferiority of $arcologies[0].FSSubjugationistRace people.
-<<elseif $arcologies[0].FSSubjugationist != "unset">>
-	$arcologies[0].name is unconvinced of the inferiority of $arcologies[0].FSSubjugationistRace people.
-<</if>>
-
-<<if $arcologies[0].FSRepopulationFocus >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that all women should be pregnant.
-<<elseif $arcologies[0].FSRepopulationFocus >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly that all women should be pregnant.
-<<elseif $arcologies[0].FSRepopulationFocus >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to the idea that all women should be pregnant.
-<<elseif $arcologies[0].FSRepopulationFocus != "unset">>
-	$arcologies[0].name is unconvinced that all women should be pregnant.
-<</if>>
-
-<<if $arcologies[0].FSRestart >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that only the elite should reproduce.
-<<elseif $arcologies[0].FSRestart >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly that only the elite should reproduce.
-<<elseif $arcologies[0].FSRestart >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to the idea only the elite should reproduce.
-<<elseif $arcologies[0].FSRestart != "unset">>
-	$arcologies[0].name is unconvinced that only the elite should reproduce.
-<</if>>
-
-<<if $arcologies[0].FSIntellectualDependency >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that all slaves should be mentally dependant on their owner.
-<<elseif $arcologies[0].FSIntellectualDependency >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly that all slaves should be bimbos.
-<<elseif $arcologies[0].FSIntellectualDependency >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to the idea that slaves should be dumb and horny.
-<<elseif $arcologies[0].FSIntellectualDependency != "unset">>
-	$arcologies[0].name is unconvinced that all slaves should be morons.
-<</if>>
-
-<<if $arcologies[0].FSSlaveProfessionalism >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that slaves should be masters of the sexual arts.
-<<elseif $arcologies[0].FSSlaveProfessionalism >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with slavery as a profession.
-<<elseif $arcologies[0].FSSlaveProfessionalism >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to the notion of slavery as a profession.
-<<elseif $arcologies[0].FSSlaveProfessionalism != "unset">>
-	$arcologies[0].name is unconvinced that slaves should be highly intelligent.
-<</if>>
-
-<<if $arcologies[0].FSGenderRadicalist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly in the need to redefine gender around power.
-<<elseif $arcologies[0].FSGenderRadicalist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with the need to redefine gender around power.
-<<elseif $arcologies[0].FSGenderRadicalist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to the need to redefine gender around power.
-<<elseif $arcologies[0].FSGenderRadicalist != "unset">>
-	$arcologies[0].name is unconvinced of the need to redefine gender around power.
-<</if>>
-
-<<if $arcologies[0].FSGenderFundamentalist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly in the need to preserve traditional gender roles.
-<<elseif $arcologies[0].FSGenderFundamentalist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with the need to preserve traditional gender roles.
-<<elseif $arcologies[0].FSGenderFundamentalist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to the need to preserve traditional gender roles.
-<<elseif $arcologies[0].FSGenderFundamentalist != "unset">>
-	$arcologies[0].name is unconvinced of the need to preserve traditional gender roles.
-<</if>>
-
-<<if $arcologies[0].FSPaternalist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly in the vision of a well-bred race of slaves.
-<<elseif $arcologies[0].FSPaternalist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with the vision of a well-bred race of slaves.
-<<elseif $arcologies[0].FSPaternalist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to the vision of a well-bred race of slaves.
-<<elseif $arcologies[0].FSPaternalist != "unset">>
-	$arcologies[0].name is unconvinced of the vision of a well-bred race of slaves.
-<</if>>
-
-<<if $arcologies[0].FSDegradationist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that slaves are not human and should be thoroughly degraded.
-<<elseif $arcologies[0].FSDegradationist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with the idea that slaves are not human and should be thoroughly degraded.
-<<elseif $arcologies[0].FSDegradationist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to the proposition that slaves are not human and should be thoroughly degraded.
-<<elseif $arcologies[0].FSDegradationist != "unset">>
-	$arcologies[0].name is unconvinced that slaves are not human and should be thoroughly degraded.
-<</if>>
-
-<<if $arcologies[0].FSBodyPurist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly in the unattractive nature of implants.
-<<elseif $arcologies[0].FSBodyPurist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with the unattractive nature of implants.
-<<elseif $arcologies[0].FSBodyPurist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to the unattractive nature of implants.
-<<elseif $arcologies[0].FSBodyPurist != "unset">>
-	$arcologies[0].name is unconvinced of the unattractive nature of implants.
-<</if>>
-
-<<if $arcologies[0].FSTransformationFetishist >= $FSLockinLevel>>
-	$arcologies[0].name passionately fetishizes implants.
-<<elseif $arcologies[0].FSTransformationFetishist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name strongly fetishizes implants.
-<<elseif $arcologies[0].FSTransformationFetishist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name fetishizes implants.
-<<elseif $arcologies[0].FSTransformationFetishist != "unset">>
-	$arcologies[0].name is beginning to fetishize implants.
-<</if>>
-
-<<if $arcologies[0].FSMaturityPreferentialist >= $FSLockinLevel>>
-	$arcologies[0].name is passionately enthusiastic for older ladies.
-<<elseif $arcologies[0].FSMaturityPreferentialist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name is very enthusiastic for older ladies.
-<<elseif $arcologies[0].FSMaturityPreferentialist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is enthusiastic for older ladies.
-<<elseif $arcologies[0].FSMaturityPreferentialist != "unset">>
-	$arcologies[0].name is beginning to be enthusiastic for older ladies.
-<</if>>
-
-<<if $arcologies[0].FSYouthPreferentialist >= $FSLockinLevel>>
-	$arcologies[0].name is passionately enthusiastic for young women.
-<<elseif $arcologies[0].FSYouthPreferentialist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name is very enthusiastic for young women.
-<<elseif $arcologies[0].FSYouthPreferentialist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is enthusiastic for young women.
-<<elseif $arcologies[0].FSYouthPreferentialist != "unset">>
-	$arcologies[0].name is beginning to be enthusiastic for young women.
-<</if>>
-
-<<if $arcologies[0].FSPetiteAdmiration >= $FSLockinLevel>>
-	$arcologies[0].name is passionately enthusiastic for short slaves.
-<<elseif $arcologies[0].FSPetiteAdmiration >= $FSLockinLevel*0.6>>
-	$arcologies[0].name is very enthusiastic for short slaves.
-<<elseif $arcologies[0].FSPetiteAdmiration >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is enthusiastic for short slaves.
-<<elseif $arcologies[0].FSPetiteAdmiration != "unset">>
-	$arcologies[0].name is beginning to be enthusiastic for short slaves.
-<</if>>
-
-<<if $arcologies[0].FSStatuesqueGlorification >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that the tall are superior.
-<<elseif $arcologies[0].FSStatuesqueGlorification >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with the idea that the tall are superior.
-<<elseif $arcologies[0].FSStatuesqueGlorification >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to the idea that the tall are superior.
-<<elseif $arcologies[0].FSStatuesqueGlorification != "unset">>
-	$arcologies[0].name is unconvinced that the tall are superior.
-<</if>>
-
-<<if $arcologies[0].FSSlimnessEnthusiast >= $FSLockinLevel>>
-	$arcologies[0].name is passionately enthusiastic about slim slaves with girlish figures.
-<<elseif $arcologies[0].FSSlimnessEnthusiast >= $FSLockinLevel*0.6>>
-	$arcologies[0].name is very enthusiastic about slim slaves with girlish figures.
-<<elseif $arcologies[0].FSSlimnessEnthusiast >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is enthusiastic about slim slaves with girlish figures.
-<<elseif $arcologies[0].FSSlimnessEnthusiast != "unset">>
-	$arcologies[0].name is beginning to be enthusiastic about slim slaves with girlish figures.
-<</if>>
-
-<<if $arcologies[0].FSAssetExpansionist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that all tits and asses should be bigger.
-<<elseif $arcologies[0].FSAssetExpansionist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with the idea that all tits and asses should be bigger.
-<<elseif $arcologies[0].FSAssetExpansionist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to the idea that all tits and asses should be bigger.
-<<elseif $arcologies[0].FSAssetExpansionist != "unset">>
-	$arcologies[0].name is unconvinced that all tits and asses should be bigger.
-<</if>>
-
-<<if $arcologies[0].FSPastoralist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that slaves should be milked.
-<<elseif $arcologies[0].FSPastoralist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with the idea that slaves should be milked.
-<<elseif $arcologies[0].FSPastoralist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to the idea that slaves should be milked.
-<<elseif $arcologies[0].FSPastoralist != "unset">>
-	$arcologies[0].name is unconvinced that slaves should be milked.
-<</if>>
-
-<<if $arcologies[0].FSPhysicalIdealist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that all slaves should be tall and strong.
-<<elseif $arcologies[0].FSPhysicalIdealist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with the idea that all slaves should be tall and strong.
-<<elseif $arcologies[0].FSPhysicalIdealist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to the idea that all slaves should be tall and strong.
-<<elseif $arcologies[0].FSPhysicalIdealist != "unset">>
-	$arcologies[0].name is unconvinced that all slaves should be tall and strong.
-<</if>>
-
-<<if $arcologies[0].FSHedonisticDecadence >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that all slaves should be soft and laid-back.
-<<elseif $arcologies[0].FSHedonisticDecadence >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with the idea that all slaves should be soft and laid-back.
-<<elseif $arcologies[0].FSHedonisticDecadence >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to the idea that all slaves should be soft and laid-back.
-<<elseif $arcologies[0].FSHedonisticDecadence != "unset">>
-	$arcologies[0].name is unconvinced that all slaves should be soft and laid-back.
-<</if>>
-
-<<if $arcologies[0].FSChattelReligionist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly in a version of religion that emphasizes slaveholding traditions.
-<<elseif $arcologies[0].FSChattelReligionist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with a version of religion that emphasizes slaveholding traditions.
-<<elseif $arcologies[0].FSChattelReligionist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to a version of religion that emphasizes slaveholding traditions.
-<<elseif $arcologies[0].FSChattelReligionist != "unset">>
-	$arcologies[0].name is unconvinced of a version of religion that emphasizes slaveholding traditions.
-<</if>>
-
-<<if $arcologies[0].FSNull >= $FSLockinLevel>>
-	$arcologies[0].name is committed to affording its citizens absolute cultural freedom.
-<<elseif $arcologies[0].FSNull >= $FSLockinLevel*0.75>>
-	$arcologies[0].name is committed to affording its citizens great cultural freedom.
-<<elseif $arcologies[0].FSNull >= $FSLockinLevel*0.5>>
-	$arcologies[0].name is committed to affording its citizens considerable cultural freedom.
-<<elseif $arcologies[0].FSNull != "unset">>
-	$arcologies[0].name is committed to affording its citizens basic cultural freedom.
-<</if>>
-
-<<if $arcologies[0].FSRomanRevivalist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that it is the new Rome.
-<<elseif $arcologies[0].FSRomanRevivalist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with your project to build the new Rome.
-<<elseif $arcologies[0].FSRomanRevivalist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to your project to build the new Rome.
-<<elseif $arcologies[0].FSRomanRevivalist != "unset">>
-	$arcologies[0].name is unconvinced of the wisdom of your project to build the new Rome.
-<</if>>
-
-<<if $arcologies[0].FSNeoImperialist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that your arcology is truly a new Imperial Society.
-<<elseif $arcologies[0].FSNeoImperialist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with your project to build a new Imperial Society.
-<<elseif $arcologies[0].FSNeoImperialist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to your project to build a new Imperial Society.
-<<elseif $arcologies[0].FSNeoImperialist != "unset">>
-	$arcologies[0].name is unconvinced of the wisdom of your project to build a new Imperial Society.
-<</if>>
-
-<<if $arcologies[0].FSAztecRevivalist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that it is the new Aztec Empire.
-<<elseif $arcologies[0].FSAztecRevivalist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with your project to build the new Aztec Empire.
-<<elseif $arcologies[0].FSAztecRevivalist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to your project to build the new Aztec Empire.
-<<elseif $arcologies[0].FSAztecRevivalist != "unset">>
-	$arcologies[0].name is unconvinced of the wisdom of your project to build the new Aztec Empire.
-<</if>>
-
-<<if $arcologies[0].FSEgyptianRevivalist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that it is the land of the Pharaohs, reborn.
-<<elseif $arcologies[0].FSEgyptianRevivalist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with your project to build a new land of the Pharaohs.
-<<elseif $arcologies[0].FSEgyptianRevivalist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to your project to build a new land of the Pharaohs.
-<<elseif $arcologies[0].FSEgyptianRevivalist != "unset">>
-	$arcologies[0].name is unconvinced of the wisdom of your project to build a new land of the Pharaohs.
-<</if>>
-
-<<if $arcologies[0].FSEdoRevivalist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that it is the land of the Shogun, reborn.
-<<elseif $arcologies[0].FSEdoRevivalist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with your project to build a new Edo Japan.
-<<elseif $arcologies[0].FSEdoRevivalist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to your project to build a new Edo Japan.
-<<elseif $arcologies[0].FSEdoRevivalist != "unset">>
-	$arcologies[0].name is unconvinced of the wisdom of your project to build a new Edo Japan.
-<</if>>
-
-<<if $arcologies[0].FSArabianRevivalist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that it is ancient Baghdad reborn.
-<<elseif $arcologies[0].FSArabianRevivalist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with your project to build a new Sultanate.
-<<elseif $arcologies[0].FSArabianRevivalist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to your project to build a new Sultanate.
-<<elseif $arcologies[0].FSArabianRevivalist != "unset">>
-	$arcologies[0].name is unconvinced of the wisdom of your project to build a new Sultanate.
-<</if>>
-
-<<if $arcologies[0].FSChineseRevivalist >= $FSLockinLevel>>
-	$arcologies[0].name believes implicitly that possesses the Mandate of Heaven.
-<<elseif $arcologies[0].FSChineseRevivalist >= $FSLockinLevel*0.6>>
-	$arcologies[0].name agrees strongly with your pursuit of the Mandate of Heaven.
-<<elseif $arcologies[0].FSChineseRevivalist >= $FSLockinLevel*0.3>>
-	$arcologies[0].name is sympathetic to your pursuit of the Mandate of Heaven.
-<<elseif $arcologies[0].FSChineseRevivalist != "unset">>
-	$arcologies[0].name is unconvinced of the wisdom of your pursuit of the Mandate of Heaven.
-<</if>>
-
-You have unlocked
-<span class="note">
- <<= num($FSGotRepCredits, true)>>
- of <<= num($FSCreditCount, true)>>
-</span>
-possible societal customizations.
-
-/*
-You are spending <<print cashFormat($FSSpending)>> each week to support your societal goals.
-<<if $FSSpending > 900>>
-	[[Decrease|Future Society][$FSSpending -= 1000]] |
-<<else>>
-	Decrease |
-<</if>>
-<<if $FSSpending < 10000>>
-	<<link "Increase">><<set $FSSpending += 1000>><<goto "Future Society">><</link>>
-<<else>>
-	Increase
-<</if>>
-*/
-<<if $FSSpending > 10000>><<set _warn = 1>><</if>>
-<<set $FSSpending = Number($FSSpending) || 0>>
-<<set $FSSpending = Math.clamp(Math.ceil($FSSpending/1000)*1000, 0, 10000)>>
-<div>
-	You are spending ¤<<textbox "_newFSSpending" $FSSpending>> each week to support your societal goals. [[Save changes|Future Society][$FSSpending = Number(_newFSSpending) || 0]]
-</div>
-<<if _warn>>
-	<div class="note">
-		Spending more than <<print cashFormat(10000)>> weekly would be counterproductive
-	</div>
-<</if>>
-
-<span id="mass">
-
-<<if $arcologies[0].FSChattelReligionist != "unset"
-	|| $arcologies[0].FSPastoralist != "unset"
-	|| $arcologies[0].FSRomanRevivalist != "unset"
-	|| $arcologies[0].FSNeoImperialist != "unset"
-	|| $arcologies[0].FSAztecRevivalist != "unset"
-	|| $arcologies[0].FSEgyptianRevivalist != "unset"
-	|| $arcologies[0].FSEdoRevivalist != "unset"
-	|| $arcologies[0].FSDegradationist != "unset"
-	|| $arcologies[0].FSPaternalist != "unset"
-	|| $arcologies[0].FSIntellectualDependency != "unset">>
-<h3>Names</h3>
-<</if>>
-
-<div>
-	<<if $arcologies[0].FSChattelReligionist != "unset">>
-		<<link "Give all your slaves devotional names">>
-		<<for _i = 0; _i < $slaves.length; _i++>>
-			<<set $slaves[_i].slaveName = setup.chattelReligionistSlaveNames.random()>>
-		<</for>>
-		<<replace "#mass">>
-			<div>Slaves renamed.</div>
-		<</replace>>
-		<</link>>
-	<</if>>
-</div>
-
-<div>
-	<<if $arcologies[0].FSPastoralist != "unset">>
-		<<link "Give all your lactating slaves cow names">>
-		<<for _i = 0; _i < $slaves.length; _i++>>
-			<<if $slaves[_i].lactation > 0>>
-				<<set $slaves[_i].slaveName = setup.cowSlaveNames.random()>>
-			<</if>>
-		<</for>>
-		<<replace "#mass">>
-			<div>Slaves renamed.</div>
-		<</replace>>
-		<</link>>
-	<</if>>
-</div>
-
-<div>
-	<<if $arcologies[0].FSIntellectualDependency != "unset">>
-		<<link "Give all your idiotic slaves stripper names">>
-		<<for _i = 0; _i < $slaves.length; _i++>>
-			<<if $slaves[_i].intelligence+$slaves[_i].intelligenceImplant < -10>>
-				<<set $slaves[_i].slaveName = setup.bimboSlaveNames.random()>>
-			<</if>>
-		<</for>>
-		<<replace "#mass">>
-			<div>Slaves renamed.</div>
-		<</replace>>
-		<</link>>
-	<</if>>
-</div>
-
-<div>
-	<<if $arcologies[0].FSRomanRevivalist != "unset">>
-		<<link "Rename all your slaves according to Roman custom">>
-		<<for _i = 0; _i < $slaves.length; _i++>>
-			<<set $slaves[_i].slaveName = setup.romanSlaveNames.random(), $slaves[_i].slaveSurname = setup.romanSlaveSurnames.random()>>
-		<</for>>
-		<<replace "#mass">>
-			<div>Slaves renamed.</div>
-		<</replace>>
-		<</link>>
-	<<elseif $arcologies[0].FSAztecRevivalist != "unset">>
-		<<link "Rename all your slaves according to ancient Aztec custom">>
-		<<for _i = 0; _i < $slaves.length; _i++>>
-			<<set $slaves[_i].slaveName = setup.aztecSlaveNames.random(), $slaves[_i].slaveSurname = 0>>
-		<</for>>
-		<<replace "#mass">>
-			<div>Slaves renamed.</div>
-		<</replace>>
-		<</link>>
-	<<elseif $arcologies[0].FSEgyptianRevivalist != "unset">>
-		<<link "Rename all your slaves according to ancient Egyptian custom">>
-		<<for _i = 0; _i < $slaves.length; _i++>>
-			<<set $slaves[_i].slaveName = setup.ancientEgyptianSlaveNames.random(), $slaves[_i].slaveSurname = 0>>
-		<</for>>
-		<<replace "#mass">>
-			<div>Slaves renamed.</div>
-		<</replace>>
-		<</link>>
-	<<elseif $arcologies[0].FSEdoRevivalist != "unset">>
-		<<link "Rename all your slaves according to feudal Japanese custom">>
-		<<for _i = 0; _i < $slaves.length; _i++>>
-			<<set $slaves[_i].slaveName = setup.edoSlaveNames.random(), $slaves[_i].slaveSurname = setup.edoSlaveSurnames.random()>>
-		<</for>>
-		<<replace "#mass">>
-			<div>Slaves renamed.</div>
-		<</replace>>
-		<</link>>
-	<</if>>
-	<<if $arcologies[0].FSDegradationist != "unset">>
-		<<link "Rename all your slaves according to Degradationist custom">>
-		<<for $i = 0; $i < $slaves.length; $i++>>
-			<<run DegradingName($slaves[$i])>>
-		<</for>>
-		<<replace "#mass">>
-			<div>Slaves renamed.</div>
-		<</replace>>
-		<</link>>
-	<</if>>
-</div>
-
-<div>
-	<<if $arcologies[0].FSPaternalist != "unset">>
-		<<link "Rename your obedient slaves according to Paternalist custom">>
-		<<for $i = 0; $i < $slaves.length; $i++>>
-			<<if ($slaves[$i].devotion > 20) || (($slaves[$i].devotion >= -20) && ($slaves[$i].trust < -20))>>
-				<<set _toSearch = $slaves[$i].slaveName>>
-				<<if (_toSearch.indexOf("Miss") == -1)>>
-					<<if (_toSearch.indexOf("Ms.") == -1)>>
-						<<if (_toSearch.indexOf("Mrs.") == -1)>>
-							<<if ($slaves[$i].relationship > 4)>>
-								/*
-								<<for $j = 0; $j < $slaves.length; $j++>>
-									<<if ($slaves[$i].relationshipTarget == $slaves[$j].ID)>>
-										<<set $slaves[$i].slaveName = ("Mrs. " + $slaves[$i].slaveName + " " + $slaves[$j].slaveName)>>
-									<</if>>
-								<</for>>
-								*/
-								<<set $slaves[$i].slaveName = ("Mrs. " + $slaves[$i].slaveName)>>
-							<<elseif ($slaves[$i].actualAge > 24)>>
-								<<set $slaves[$i].slaveName = ("Ms. " + $slaves[$i].slaveName)>>
-							<<else>>
-								<<set $slaves[$i].slaveName = ("Miss " + $slaves[$i].slaveName)>>
-							<</if>>
-						<</if>>
-					<</if>>
-				<</if>>
-			<</if>>
-		<</for>>
-		<<replace "#mass">>
-			<div>Obedient slaves renamed.</div>
-		<</replace>>
-		<</link>>
-	<</if>>
-</div>
-
-<div>
-	<<if $arcologies[0].FSIntellectualDependency != "unset">>
-		<<link "Give all your slaves simple bimbo names">>
-		<<for _i = 0; _i < $slaves.length; _i++>>
-			<<set $slaves[_i].slaveName = setup.bimboSlaveNames.random(), $slaves[_i].slaveSurname = 0>>
-		<</for>>
-		<<replace "#mass">>
-			<div>Slaves renamed.</div>
-		<</replace>>
-		<</link>>
-	<</if>>
-</div>
-
-</span>
+<<includeDOM App.UI.FSPassage()>>
 
 <h3>Future Societies</h3>
 
-/* Race */
-<p>
-<div>
-	<<if $arcologies[0].FSSupremacist != "unset">>
-		<span style="font-weight:Bold">You are pursuing</span> $arcologies[0].FSSupremacistRace superiority.
-		<span class="detail">
-			<<link "Abandon" "Future Society">>
-				<<run FutureSocieties.remove("FSSupremacist")>>
-				<<if $assistant.fsAppearance == "supremacist">>
-					<<set $assistant.fsAppearance = "default">>
-				<</if>>
-			<</link>>
-		</span>
-		<div class="indent">
-			<<FSChangeDecoration "FSSupremacist">>
-		</div>
-		<<if $policies.publicPA == 1>>
-			<<if ($assistant.appearance == "amazon") || ($assistant.appearance == "monstergirl") || ($assistant.appearance == "succubus")>>
-				<span class="note">
-					With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.
-				</span>
-			<</if>>
-		<</if>>
-	<<else>>
-		<<if _FSCredits > 0>>
-			[[Racial Supremacism|Future Society][$arcologies[0].FSSupremacist = 4]]: a belief in <<if $arcologies[0].FSSupremacistRace == 0>>the superiority of a chosen race<<else>>$arcologies[0].FSSupremacistRace superiority<</if>>.
-			<div class="indent">
-				Select race:
-				<<if $arcologies[0].FSSubjugationist != "unset" && $arcologies[0].FSSubjugationistRace == "white">><span class="note">It is established that whites are inferior</span><<elseif $arcologies[0].FSSupremacistRace != "white">>[[White|Future Society][$arcologies[0].FSSupremacistRace = "white"]]<<else>>White<</if>> |
-				<<if $arcologies[0].FSSubjugationist != "unset" && $arcologies[0].FSSubjugationistRace == "asian">><span class="note">It is established that asians are inferior</span><<elseif $arcologies[0].FSSupremacistRace != "asian">>[[Asian|Future Society][$arcologies[0].FSSupremacistRace = "asian"]]<<else>>Asian<</if>> |
-				<<if $arcologies[0].FSSubjugationist != "unset" && $arcologies[0].FSSubjugationistRace == "latina">><span class="note">It is established that latinas are inferior</span><<elseif $arcologies[0].FSSupremacistRace != "latina">>[[Latino|Future Society][$arcologies[0].FSSupremacistRace = "latina"]]<<else>>Latino<</if>> |
-				<<if $arcologies[0].FSSubjugationist != "unset" && $arcologies[0].FSSubjugationistRace == "middle eastern">><span class="note">It is established that middle easterners are inferior</span><<elseif $arcologies[0].FSSupremacistRace != "middle eastern">>[[Middle Eastern|Future Society][$arcologies[0].FSSupremacistRace = "middle eastern"]]<<else>>Middle Eastern<</if>> |
-				<<if $arcologies[0].FSSubjugationist != "unset" && $arcologies[0].FSSubjugationistRace == "black">><span class="note">It is established that blacks are inferior</span><<elseif $arcologies[0].FSSupremacistRace != "black">>[[Black|Future Society][$arcologies[0].FSSupremacistRace = "black"]]<<else>>Black<</if>> |
-				<<if $arcologies[0].FSSubjugationist != "unset" && $arcologies[0].FSSubjugationistRace == "indo-aryan">><span class="note">It is established that indo-aryans are inferior</span><<elseif $arcologies[0].FSSupremacistRace != "indo-aryan">>[[Indo-Aryan|Future Society][$arcologies[0].FSSupremacistRace = "indo-aryan"]]<<else>>Indo-Aryan<</if>> |
-				<<if $arcologies[0].FSSubjugationist != "unset" && $arcologies[0].FSSubjugationistRace == "amerindian">><span class="note">It is established that amerindians are inferior</span><<elseif $arcologies[0].FSSupremacistRace != "amerindian">>[[Amerindian|Future Society][$arcologies[0].FSSupremacistRace = "amerindian"]]<<else>>Amerindian<</if>> |
-				<<if $arcologies[0].FSSubjugationist != "unset" && $arcologies[0].FSSubjugationistRace == "pacific islander">><span class="note">It is established that pacific islanders are inferior</span><<elseif $arcologies[0].FSSupremacistRace != "pacific islander">>[[Pacific Islander|Future Society][$arcologies[0].FSSupremacistRace = "pacific islander"]]<<else>>Pacific Islander<</if>> |
-				<<if $arcologies[0].FSSubjugationist != "unset" && $arcologies[0].FSSubjugationistRace == "malay">><span class="note">It is established that malay are inferior</span><<elseif $arcologies[0].FSSupremacistRace != "malay">>[[Malay|Future Society][$arcologies[0].FSSupremacistRace = "malay"]]<<else>>Malay<</if>> |
-				<<if $arcologies[0].FSSubjugationist != "unset" && $arcologies[0].FSSubjugationistRace == "southern european">><span class="note">It is established that southern europeans are inferior</span><<elseif $arcologies[0].FSSupremacistRace != "southern european">>[[Southern European|Future Society][$arcologies[0].FSSupremacistRace = "southern european"]]<<else>>Southern European<</if>> |
-				<<if $arcologies[0].FSSubjugationist != "unset" && $arcologies[0].FSSubjugationistRace == "semitic">><span class="note">It is established that semites are inferior</span><<elseif $arcologies[0].FSSupremacistRace != "semitic">>[[Semitic|Future Society][$arcologies[0].FSSupremacistRace = "semitic"]]<<else>>Semitic<</if>> |
-				<<if $arcologies[0].FSSubjugationist != "unset" && $arcologies[0].FSSubjugationistRace == "mixed race">><span class="note">It is established that those with mixed blood are inferior</span><<elseif $arcologies[0].FSSupremacistRace != "mixed race">>[[Mixed Race|Future Society][$arcologies[0].FSSupremacistRace = "mixed race"]]<<else>>Mixed Race<</if>>
-			</div>
-		<<else>>
-			/*<span class="note"><span style="font-weight:Bold">Racial Supremacism</span>: a belief in the superiority of a chosen race.</span>*/
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if $arcologies[0].FSSubjugationist != "unset">>
-		<span style="font-weight:Bold">You are pursuing</span> $arcologies[0].FSSubjugationistRace inferiority.
-		<span class="detail">
-			<<link "Abandon" "Future Society">>
-			<<run FutureSocieties.remove("FSSubjugationist")>>
-			<<if $assistant.fsAppearance == "subjugationist">>
-				<<set $assistant.fsAppearance = "default">>
-			<</if>>
-			<</link>>
-		</span>
-		<div class="indent">
-			<<FSChangeDecoration "FSSubjugationist">>
-		</div>
-		<<if $policies.publicPA == 1>>
-			<<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "amazon") || ($assistant.appearance == "imp")>>
-				<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-			<</if>>
-		<</if>>
-	<<else>>
-		<<if _FSCredits > 0>>
-			[[Racial Subjugationism|Future Society][$arcologies[0].FSSubjugationist = 4]]: a belief in <<if $arcologies[0].FSSubjugationistRace == 0>>the inferiority of a chosen race<<else>>$arcologies[0].FSSubjugationistRace inferiority<</if>>.
-			<div class="indent">
-				Select race:
-				<<if $arcologies[0].FSSupremacist != "unset" && $arcologies[0].FSSupremacistRace == "white">><span class="note">It is established that whites are superior</span><<elseif $arcologies[0].FSSubjugationistRace != "white">>[[White|Future Society][$arcologies[0].FSSubjugationistRace = "white"]]<<else>>White<</if>> |
-				<<if $arcologies[0].FSSupremacist != "unset" && $arcologies[0].FSSupremacistRace == "asian">><span class="note">It is established that asians are superior</span><<elseif $arcologies[0].FSSubjugationistRace != "asian">>[[Asian|Future Society][$arcologies[0].FSSubjugationistRace = "asian"]]<<else>>Asian<</if>> |
-				<<if $arcologies[0].FSSupremacist != "unset" && $arcologies[0].FSSupremacistRace == "latina">><span class="note">It is established that latinas are superior</span><<elseif $arcologies[0].FSSubjugationistRace != "latina">>[[Latino|Future Society][$arcologies[0].FSSubjugationistRace = "latina"]]<<else>>Latino<</if>> |
-				<<if $arcologies[0].FSSupremacist != "unset" && $arcologies[0].FSSupremacistRace == "middle eastern">><span class="note">It is established that middle easterners are superior</span><<elseif $arcologies[0].FSSubjugationistRace != "middle eastern">>[[Middle Eastern|Future Society][$arcologies[0].FSSubjugationistRace = "middle eastern"]]<<else>>Middle Eastern<</if>> |
-				<<if $arcologies[0].FSSupremacist != "unset" && $arcologies[0].FSSupremacistRace == "black">><span class="note">It is established that blacks are superior</span><<elseif $arcologies[0].FSSubjugationistRace != "black">>[[Black|Future Society][$arcologies[0].FSSubjugationistRace = "black"]]<<else>>Black<</if>> |
-				<<if $arcologies[0].FSSupremacist != "unset" && $arcologies[0].FSSupremacistRace == "indo-aryan">><span class="note">It is established that indo-aryans are superior</span><<elseif $arcologies[0].FSSubjugationistRace != "indo-aryan">>[[Indo-Aryan|Future Society][$arcologies[0].FSSubjugationistRace = "indo-aryan"]]<<else>>Indo-Aryan<</if>> |
-				<<if $arcologies[0].FSSupremacist != "unset" && $arcologies[0].FSSupremacistRace == "amerindian">><span class="note">It is established that amerindians are superior</span><<elseif $arcologies[0].FSSubjugationistRace != "amerindian">>[[Amerindian|Future Society][$arcologies[0].FSSubjugationistRace = "amerindian"]]<<else>>Amerindian<</if>> |
-				<<if $arcologies[0].FSSupremacist != "unset" && $arcologies[0].FSSupremacistRace == "pacific islander">><span class="note">It is established that pacific islanders are superior</span><<elseif $arcologies[0].FSSubjugationistRace != "pacific islander">>[[Pacific Islander|Future Society][$arcologies[0].FSSubjugationistRace = "pacific islander"]]<<else>>Pacific Islander<</if>> |
-				<<if $arcologies[0].FSSupremacist != "unset" && $arcologies[0].FSSupremacistRace == "malay">><span class="note">It is established that malay are superior</span><<elseif $arcologies[0].FSSubjugationistRace != "malay">>[[Malay|Future Society][$arcologies[0].FSSubjugationistRace = "malay"]]<<else>>Malay<</if>> |
-				<<if $arcologies[0].FSSupremacist != "unset" && $arcologies[0].FSSupremacistRace == "southern european">><span class="note">It is established that southern europeans are superior</span><<elseif $arcologies[0].FSSubjugationistRace != "southern european">>[[Southern European|Future Society][$arcologies[0].FSSubjugationistRace = "southern european"]]<<else>>Southern European<</if>> |
-				<<if $arcologies[0].FSSupremacist != "unset" && $arcologies[0].FSSupremacistRace == "semitic">><span class="note">It is established that semites are superior</span><<elseif $arcologies[0].FSSubjugationistRace != "semitic">>[[Semitic|Future Society][$arcologies[0].FSSubjugationistRace = "semitic"]]<<else>>Semitic<</if>> |
-				<<if $arcologies[0].FSSupremacist != "unset" && $arcologies[0].FSSupremacistRace == "mixed race">><span class="note">It is established that those with mixed blood are superior</span><<elseif $arcologies[0].FSSubjugationistRace != "mixed race">>[[Mixed Race|Future Society][$arcologies[0].FSSubjugationistRace = "mixed race"]]<<else>>Mixed Race<</if>>
-			</div>
-		<<else>>
-			/*<span class="note"><span style="font-weight:Bold">Racial Subjugationism</span>: a belief in the inferiority of a subject race.</span>*/
-		<</if>>
-	<</if>>
-</div>
-</p>
-
-/* Preg vs Eugenics */
-<p>
-<<if $seePreg != 0>>
-<div>
-	<<if $arcologies[0].FSRestart == "unset">>
-		<<if $arcologies[0].FSRepopulationFocus != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> the belief that mass breeding will save humanity.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSRepopulationFocus")>>
-					<<if $assistant.fsAppearance == "repopulation focus">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSRepopulationFocus" "boughtItem.clothing.maternityLingerie" "boughtItem.clothing.maternityDress" "boughtItem.clothing.belly">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "goddess") || ($assistant.appearance == "hypergoddess") || ($assistant.appearance == "preggololi") || ($assistant.appearance == "pregnant fairy") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Repopulation Efforts|Future Society][$arcologies[0].FSRepopulationFocus = 4+$arcologies[0].FSRepopulationFocusInterest-$arcologies[0].FSEugenicsInterest, $arcologies[0].FSRepopulationFocusPregPolicy = 0, $arcologies[0].FSRepopulationFocusMilfPolicy = 0]]: focus on mass breeding in order to repopulate the future world.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Repopulation Efforts</span>: societal fetishization of pregnancy.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if $arcologies[0].FSRepopulationFocus == "unset">>
-		<<if $arcologies[0].FSRestart != "unset">>
-			<<if $arcologies[0].FSRestartDecoration != 100>>
-				<span style="font-weight:Bold">You are pursuing</span> Eugenics.
-				<span class="detail">
-					<<link "Abandon" "Future Society">>
-						<<run FutureSocieties.remove("FSRestart")>>
-						<<if $assistant.fsAppearance == "eugenics">>
-							<<set $assistant.fsAppearance = "default">>
-						<</if>>
-					<</link>>
-				</span>
-				<div class="indent">
-					<<FSChangeDecoration "FSRestart">>
-				</div>
-				<<if $policies.publicPA == 1>>
-					<<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "goddess") || ($assistant.appearance == "loli") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch") || ($assistant.appearance == "incubus") || ($assistant.appearance == "angel")>>
-						<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-					<</if>>
-				<</if>>
-			<<else>>
-				<span style="font-weight:Bold">You have established</span> Eugenics.
-				<<if $eugenicsFullControl != 1>>
-					The Societal Elite will not permit you to abandon Eugenics.
-				<<else>>
-					<span class="detail"><<link "Abandon" "Future Society">><<run FutureSocieties.remove("FSRestart")>><<if $assistant.fsAppearance == "eugenics">><<set $assistant.fsAppearance = "default">><</if>><</link>></span>
-				<</if>>
-				<div class="indent">
-					<<FSChangeDecoration "FSRestart">>
-				</div>
-				The Societal Elite exist as the highest class, allowing you access to all manner of benefits
-				<<if $policies.publicPA == 1>>
-					<<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "goddess") || ($assistant.appearance == "loli") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch") || ($assistant.appearance == "incubus") || ($assistant.appearance == "angel")>>
-						<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-					<</if>>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Eugenics|Future Society][$arcologies[0].FSRestart = 4+$arcologies[0].FSEugenicsInterest-$arcologies[0].FSRepopulationFocusInterest, $arcologies[0].FSRepopulationFocusPregPolicy = 0, $arcologies[0].FSRepopulationFocusMilfPolicy = 0]]: rebuilding society using restrictive breeding programs reserved solely for society's finest.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Complete Societal Reconstruction</span>: rebuilding society based off the elite.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-<</if>>
-</p>
-
-/* Pro vs Dependant */
-<p>
-<div>
-	<<if $arcologies[0].FSSlaveProfessionalism == "unset">>
-		<<if $arcologies[0].FSIntellectualDependency != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> intellectual dependency, a belief that slaves should be airheaded, horny and fully dependent on their owners.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSIntellectualDependency")>>
-					<<if $assistant.fsAppearance == "intellectual dependency">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSIntellectualDependency" "boughtItem.clothing.bimbo">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ["shemale", "succubus", "witch"].includes($assistant.appearance)>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Intellectual Dependency|Future Society][$arcologies[0].FSIntellectualDependency = 4]]: a belief that slaves should be airheaded, horny and fully dependent on their owners.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Intellectual Dependency</span>: a belief that slaves should be airheaded, horny and fully dependent on their owners.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if $arcologies[0].FSIntellectualDependency == "unset">>
-		<<if $arcologies[0].FSSlaveProfessionalism != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> slave professionalism, a focus on smart, refined, altogether perfect slaves.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSSlaveProfessionalism")>>
-					<<if $assistant.fsAppearance == "slave professionalism">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSSlaveProfessionalism" "boughtItem.clothing.courtesan">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ["angel", "businesswoman", "incubus", "goddess", "schoolgirl", "succubus"].includes($assistant.appearance)>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Slave Professionalism|Future Society][$arcologies[0].FSSlaveProfessionalism = 4]]: increased interest in smart, refined, altogether perfect slaves.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Slave Professionalism</span>: increased interest in smart, refined, altogether perfect slaves.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-</p>
-
-/* Gender */
-<p>
-<div>
-	<<if $seeDicks != 0 || $makeDicks == 1>>
-		<<if $arcologies[0].FSGenderFundamentalist == "unset">>
-			<<if $arcologies[0].FSGenderRadicalist != "unset">>
-				<span style="font-weight:Bold">You are pursuing</span> a radical redefinition of gender that identifies powerful people as male, and everyone else as female.
-				<span class="detail">
-					<<link "Abandon" "Future Society">>
-						<<run FutureSocieties.remove("FSGenderRadicalist")>>
-						<<if $assistant.fsAppearance == "gender radicalist">>
-							<<set $assistant.fsAppearance = "default">>
-						<</if>>
-					<</link>>
-				</span>
-				<div class="indent">
-					<<FSChangeDecoration "FSGenderRadicalist">>
-				</div>
-				<<if $policies.publicPA == 1>>
-					<<if ($assistant.appearance == "shemale") || ($assistant.appearance == "monstergirl") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>>
-						<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-					<</if>>
-				<</if>>
-			<<else>>
-				<<if _FSCredits > 0>>
-					<div>
-						[[Gender radicalism|Future Society][$arcologies[0].FSGenderRadicalist = 4]]: a radical redefinition of gender that identifies powerful people as male, and everyone else as female.
-					</div>
-				<<else>>
-					/*<span class="note"><span style="font-weight:Bold">Gender radicalism</span>: a radical redefinition of gender that identifies powerful people as male, and everyone else as female.</span>*/
-				<</if>>
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if $arcologies[0].FSGenderRadicalist == "unset">>
-		<<if $arcologies[0].FSGenderFundamentalist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> gender traditionalism, including a societal preference for feminine slaves<<if $seePreg != 0>> and support for slave pregnancy<</if>>.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSGenderFundamentalist")>>
-					<<if $assistant.fsAppearance == "gender fundamentalist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSGenderFundamentalist" "boughtItem.clothing.bunny">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "goddess") || ($assistant.appearance == "hypergoddess") || ($assistant.appearance == "preggololi") || ($assistant.appearance == "loli") || ($assistant.appearance == "fairy") || ($assistant.appearance == "pregnant fairy") || ($assistant.appearance == "angel") || ($assistant.appearance == "cherub") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Gender traditionalism|Future Society][$arcologies[0].FSGenderFundamentalist = 4]]: a societal preference for feminine slaves<<if $seePreg != 0>> and support for slave pregnancy<</if>>.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Gender traditionalism</span>: a societal preference for feminine slaves<<if $seePreg != 0>> and support for slave pregnancy<</if>>.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-</p>
-
-/* Deg vs Paternalist */
-<p>
-<div>
-	<<if $arcologies[0].FSDegradationist == "unset">>
-		<<if $arcologies[0].FSPaternalist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> a vision of slave improvement, including slaves' health, mental well-being, and education.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSPaternalist")>>
-					<<if $assistant.fsAppearance == "paternalist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSPaternalist" "boughtItem.clothing.conservative">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "goddess") || ($assistant.appearance == "hypergoddess") || ($assistant.appearance == "preggololi") || ($assistant.appearance == "loli") || ($assistant.appearance == "fairy") || ($assistant.appearance == "pregnant fairy") || ($assistant.appearance == "angel") || ($assistant.appearance == "cherub")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Paternalism|Future Society][$arcologies[0].FSPaternalist = 4]]: a vision of slave improvement, including slaves' health, mental well-being, and education.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Paternalism</span>: a vision of slave improvement, including slaves' health, mental well-being, and education.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if $arcologies[0].FSPaternalist == "unset">>
-		<<if $arcologies[0].FSDegradationist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> slave degradation, a belief that slaves are not human and should not be treated decently.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSDegradationist")>>
-					<<if $assistant.fsAppearance == "degradationist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSDegradationist" "boughtItem.clothing.chains">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "monstergirl") || ($assistant.appearance == "businesswoman") || ($assistant.appearance == "preggololi") || ($assistant.appearance == "succubus") || ($assistant.appearance == "incubus") || ($assistant.appearance == "imp")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Degradationism|Future Society][$arcologies[0].FSDegradationist = 4]]: a belief that slaves are not human and should not be treated decently.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Degradation</span>: a belief that slaves are not human and should not be treated decently.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-</p>
-
-/* TF vs Purist */
-<p>
-<div>
-	<<if $arcologies[0].FSTransformationFetishist == "unset">>
-		<<if $arcologies[0].FSBodyPurist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> societal disapproval of implant surgery.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSBodyPurist")>>
-					<<if $assistant.fsAppearance == "body purist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSBodyPurist">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "amazon") || ($assistant.appearance == "goddess") || ($assistant.appearance == "loli") || ($assistant.appearance == "fairy") || ($assistant.appearance == "pregnant fairy") || ($assistant.appearance == "angel") || ($assistant.appearance == "succubus") || ($assistant.appearance == "incubus") || ($assistant.appearance == "witch")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Body Purism|Future Society][$arcologies[0].FSBodyPurist = 4]]: societal disapproval of implant surgery.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Body Purism</span>: societal disapproval of implant surgery.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if $arcologies[0].FSBodyPurist == "unset">>
-		<<if $arcologies[0].FSTransformationFetishist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> societal fetishization of implant surgery.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSTransformationFetishist")>>
-					<<if $assistant.fsAppearance == "transformation fetishist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSTransformationFetishist">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "shemale") || ($assistant.appearance == "succubus") || ($assistant.appearance == "incubus") || ($assistant.appearance == "witch") || ($assistant.appearance == "ERROR_1606_APPEARANCE_FILE_CORRUPT")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Transformation Fetishism|Future Society][$arcologies[0].FSTransformationFetishist = 4]]: societal fetishization of implant surgery.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Transformation Fetishism</span>: societal fetishization of implant surgery.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-</p>
-
-/* Maturity vs Youth */
-<p>
-<div>
-	<<if $arcologies[0].FSMaturityPreferentialist == "unset">>
-		<<if $arcologies[0].FSYouthPreferentialist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> an accentuated societal preference for younger slaves.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSYouthPreferentialist")>>
-					<<if $assistant.fsAppearance == "youth preferentialist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSYouthPreferentialist">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "shemale") || ($assistant.appearance == "preggololi") || ($assistant.appearance == "loli") || ($assistant.appearance == "succubus") || ($assistant.appearance == "angel") || ($assistant.appearance == "cherub") || ($assistant.appearance == "imp") || ($assistant.appearance == "witch")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Youth Preferentialism|Future Society][$arcologies[0].FSYouthPreferentialist = 4]]: increased interest in girls just past their majority.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Youth Preferentialism</span>: increased interest in girls just past their majority.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if $arcologies[0].FSYouthPreferentialist == "unset">>
-		<<if $arcologies[0].FSMaturityPreferentialist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> a societal preference for older women.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSMaturityPreferentialist")>>
-					<<if $assistant.fsAppearance == "maturity preferentialist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSMaturityPreferentialist">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "goddess") || ($assistant.appearance == "succubus") || ($assistant.appearance == "incubus") || ($assistant.appearance == "witch") || ($assistant.appearance == "angel")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Maturity Preferentialism|Future Society][$arcologies[0].FSMaturityPreferentialist = 4]]: increased interest in mature slaves.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Maturity Preferentialism</span>: increased interest in mature slaves.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-</p>
-
-/* Statuesque vs Petite */
-<p>
-<div>
-	<<if $arcologies[0].FSStatuesqueGlorification == "unset">>
-		<<if $arcologies[0].FSPetiteAdmiration != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> an accentuated societal preference for short slaves.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSPetiteAdmiration")>>
-					<<if $assistant.fsAppearance == "petite admiration">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSPetiteAdmiration">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ["cherub", "fairy", "imp", "incubus", "loli", "preggololi", "pregnant fairy", "schoolgirl", "succubus"].includes($assistant.appearance)>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Petite Admiration|Future Society][$arcologies[0].FSPetiteAdmiration = 4]]: increased interest in short slaves.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Petite Admiration</span>: increased interest in short slaves.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if $arcologies[0].FSPetiteAdmiration == "unset">>
-		<<if $arcologies[0].FSStatuesqueGlorification != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> a societal fixation on tallness.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSStatuesqueGlorification")>>
-					<<if $assistant.fsAppearance == "statuesque glorification">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSStatuesqueGlorification">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ["amazon", "goddess", "incubus", "succubus", "witch"].includes($assistant.appearance)>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Statuesque Glorification|Future Society][$arcologies[0].FSStatuesqueGlorification = 4]]: societal fixation on tallness.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Statuesque Glorification</span>: societal fixation on tallness.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-</p>
-
-/* Expand vs Slim */
-<p>
-<div>
-	<<if $arcologies[0].FSAssetExpansionist == "unset">>
-		<<if $arcologies[0].FSSlimnessEnthusiast != "unset">>
-			<span style="font-weight:Bold">You are supporting</span> enthusiasm for slaves with girlish figures.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSSlimnessEnthusiast")>>
-					<<if $assistant.fsAppearance == "slimness enthusiast">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSSlimnessEnthusiast">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "shemale") || ($assistant.appearance == "loli") || ($assistant.appearance == "cherub") || ($assistant.appearance == "imp") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Slimness Enthusiasm|Future Society][$arcologies[0].FSSlimnessEnthusiast = 4]]: a fashion for slaves with girlish figures.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Slimness Enthusiasm</span>: a fashion for slaves with girlish figures.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if $arcologies[0].FSSlimnessEnthusiast == "unset">>
-		<<if $arcologies[0].FSAssetExpansionist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> societal hunger for huge assets.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSAssetExpansionist")>>
-					<<if $assistant.fsAppearance == "asset expansionist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSAssetExpansionist">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "shemale") || ($assistant.appearance == "hypergoddess") || ($assistant.appearance == "succubus") || ($assistant.appearance == "incubus") || ($assistant.appearance == "witch")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Asset Expansionism|Future Society][$arcologies[0].FSAssetExpansionist = 4]]: societal hunger for huge assets of whatever origin.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Asset Expansionism</span>: societal hunger for huge assets of whatever origin.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-</p>
-
-/* Milking stands alone */
-<p>
-<div>
-	<<if $arcologies[0].FSPastoralist != "unset">>
-		<span style="font-weight:Bold">You are pursuing</span> societal normalization of slave milking.
-		<span class="detail">
-			<<link "Abandon" "Future Society">>
-				<<run FutureSocieties.remove("FSPastoralist")>>
-				<<if $assistant.fsAppearance == "pastoralist">>
-					<<set $assistant.fsAppearance = "default">>
-				<</if>>
-			<</link>>
-		</span>
-		<div class="indent">
-			<<FSChangeDecoration "FSPastoralist" "boughtItem.clothing.western">>
-		</div>
-		<<if $policies.publicPA == 1>>
-			<<if ($assistant.appearance == "goddess") || ($assistant.appearance == "shemale") || ($assistant.appearance == "hypergoddess") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>>
-				<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-			<</if>>
-		<</if>>
-	<<else>>
-		<<if _FSCredits > 0>>
-			<div>
-				[[Slave Pastoralism|Future Society][$arcologies[0].FSPastoralist = 4]]: societal acceptance of slave products like milk.
-			</div>
-		<<else>>
-			/*<span class="note"><span style="font-weight:Bold">Slave Pastoralism</span>: societal acceptance of slave products like milk.</span>*/
-		<</if>>
-	<</if>>
-</div>
-</p>
-
-/* Pastoralist vs Hedonist */
-<p>
-<div>
-	<<if $arcologies[0].FSHedonisticDecadence == "unset">>
-		<<if $arcologies[0].FSPhysicalIdealist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> societal reverence for the idealized human form, including height, health and muscle.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSPhysicalIdealist")>>
-					<<if $assistant.fsAppearance == "physical idealist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSPhysicalIdealist" "boughtItem.clothing.oil">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "amazon") || ($assistant.appearance == "shemale") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Physical Idealism|Future Society][$arcologies[0].FSPhysicalIdealist = 4]]: societal reverence for the idealized human form, including height, health and muscle.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Physical Idealism</span>: societal reverence for the idealized human form, including height, health and muscle.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if $arcologies[0].FSPhysicalIdealist == "unset">>
-		<<if $arcologies[0].FSHedonisticDecadence != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> societal normalization of overindulgence and immediate gratification. Be it food, drink, sex, drugs or whatever one's desire may be.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSHedonisticDecadence")>>
-					<<if $assistant.fsAppearance == "hedonistic decadence">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSHedonisticDecadence">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "goddess") || ($assistant.appearance == "hypergoddess") || ($assistant.appearance == "preggololi") || ($assistant.appearance == "imp") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Hedonistic Decadence|Future Society][$arcologies[0].FSHedonisticDecadence = 4]]: societal acceptance of overindulgence and immediate gratification. Be it food, drink, sex, drugs or whatever one's desire may be.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">HedonisticDecadence</span>: societal acceptance of over indulgence, particularly of food, drink, sex and drugs.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-</p>
-
-/* Chattel religionist vs Multicultural */
-<p>
-<div>
-	<<if $arcologies[0].FSNull == "unset">>
-		<<if $arcologies[0].FSChattelReligionist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> a new strain of religion that emphasizes the slaveholding portions of religious history.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSChattelReligionist")>>
-					<<if $assistant.fsAppearance == "chattel religionist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSChattelReligionist" "boughtItem.clothing.habit">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "goddess") || ($assistant.appearance == "monstergirl") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus") || ($assistant.appearance == "witch") || ($assistant.appearance == "angel") || ($assistant.appearance == "cherub") || ($assistant.appearance == "imp")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Chattel Religionism|Future Society][$arcologies[0].FSChattelReligionist = 4]]: a new strain of religion that emphasizes the slaveholding portions of religious history.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Chattel Religionism</span>: a new strain of religion that emphasizes the slaveholding portions of religious history.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if $arcologies[0].FSChattelReligionist == "unset">>
-		<<if $FSCreditCount == 4>>
-			<<if $arcologies[0].FSNull != "unset">>
-				<span style="font-weight:Bold">
-					You are permitting
-					<<if $arcologies[0].FSNull <= 25>>basic
-					<<elseif $arcologies[0].FSNull <= 50>>considerable
-					<<elseif $arcologies[0].FSNull <= 75>>advanced
-					<<else>>absolute
-					<</if>>
-				</span>
-				cultural freedom in your arcology.
-				<<if $arcologies[0].FSNull <= 25>>
-					<span class="detail">
-						[[Abandon|Future Society][FutureSocieties.remove("FSNull")]]
-					</span>
-				<<else>>
-					<span class="detail">
-						[[Withdraw|Future Society][$arcologies[0].FSNull -= 25]]
-					</span>
-				<</if>>
-				<<if _FSCredits > 0>>
-					<<if $arcologies[0].FSNull < $FSLockinLevel>>
-						<div class="indent">
-							[[Advance|Future Society][$arcologies[0].FSNull += 25]]: further commitment to allow your arcology's citizens cultural freedom.
-						</div>
-					<</if>>
-				<</if>>
-			<<else>>
-				<<if _FSCredits > 0>>
-					<div>
-						[[Multiculturalism|Future Society][$arcologies[0].FSNull = 25]]: a commitment to allow your arcology's citizens cultural freedom.
-					</div>
-					<div class="indent detail">
-						This option is an alternative to societal advancement, and will not advance naturally.
-					</div>
-				<</if>>
-			<</if>>
-		<<elseif $FSCreditCount == 6>>
-			<<if $arcologies[0].FSNull != "unset">>
-				<span style="font-weight:Bold">
-					You are permitting
-					<<if $arcologies[0].FSNull <= 17>>basic
-					<<elseif $arcologies[0].FSNull <= 34>>some
-					<<elseif $arcologies[0].FSNull <= 51>>considerable
-					<<elseif $arcologies[0].FSNull <= 68>>great
-					<<elseif $arcologies[0].FSNull <= 85>>advanced
-					<<else>>absolute
-					<</if>>
-				</span>
-				cultural freedom in your arcology.
-				<<if $arcologies[0].FSNull <= 20>>
-					<span class="detail">[[Abandon|Future Society][FutureSocieties.remove("FSNull")]]</span>
-				<<else>>
-					<span class="detail">[[Withdraw|Future Society][$arcologies[0].FSNull -= 17]]</span>
-				<</if>>
-				<<if _FSCredits > 0>>
-					<<if $arcologies[0].FSNull < $FSLockinLevel>>
-						<div class="indent">
-							[[Advance|Future Society][$arcologies[0].FSNull += 17]]: further commitment to allow your arcology's citizens cultural freedom.
-						</div>
-					<</if>>
-				<</if>>
-			<<else>>
-				<<if _FSCredits > 0>>
-					<div>
-						[[Multiculturalism|Future Society][$arcologies[0].FSNull = 17]]: a commitment to allow your arcology's citizens cultural freedom.
-					</div>
-					<div class="indent detail">
-						This option is an alternative to societal advancement, and will not advance naturally.
-					</div>
-				<</if>>
-			<</if>>
-		<<elseif $FSCreditCount == 7>>
-			<<if $arcologies[0].FSNull != "unset">>
-				<span style="font-weight:Bold">
-					You are permitting
-					<<if $arcologies[0].FSNull <= 15>>basic
-					<<elseif $arcologies[0].FSNull <= 30>>some
-					<<elseif $arcologies[0].FSNull <= 45>>notable
-					<<elseif $arcologies[0].FSNull <= 60>>considerable
-					<<elseif $arcologies[0].FSNull <= 75>>great
-					<<elseif $arcologies[0].FSNull <= 90>>advanced
-					<<else>>absolute
-					<</if>>
-				</span>
-				cultural freedom in your arcology.
-				<<if $arcologies[0].FSNull <= 20>>
-					<span class="detail">
-						[[Abandon|Future Society][FutureSocieties.remove("FSNull")]]
-					</span>
-				<<else>>
-					<span class="detail">
-						[[Withdraw|Future Society][$arcologies[0].FSNull -= 15]]
-					</span>
-				<</if>>
-				<<if _FSCredits > 0>>
-					<<if $arcologies[0].FSNull < $FSLockinLevel>>
-						<div class="indent">
-							[[Advance|Future Society][$arcologies[0].FSNull += 15]]: further commitment to allow your arcology's citizens cultural freedom.
-						</div>
-					<</if>>
-				<</if>>
-			<<else>>
-				<<if _FSCredits > 0>>
-					<div>
-						[[Multiculturalism|Future Society][$arcologies[0].FSNull = 15]]: a commitment to allow your arcology's citizens cultural freedom.
-					</div>
-					<div class="indent detail">
-						This option is an alternative to societal advancement, and will not advance naturally.
-					</div>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if $arcologies[0].FSNull != "unset">>
-				<span style="font-weight:Bold">
-					You are permitting
-					<<if $arcologies[0].FSNull <= 20>>basic
-					<<elseif $arcologies[0].FSNull <= 40>>considerable
-					<<elseif $arcologies[0].FSNull <= 60>>great
-					<<elseif $arcologies[0].FSNull <= 80>>advanced
-					<<else>>absolute
-					<</if>>
-					cultural freedom in your arcology.
-				</span>
-				<<if $arcologies[0].FSNull <= 20>>
-					<span class="detail">
-						[[Abandon|Future Society][FutureSocieties.remove("FSNull")]]
-					</span>
-				<<else>>
-					<span class="detail">
-						[[Withdraw|Future Society][$arcologies[0].FSNull -= 20]]
-					</span>
-				<</if>>
-				<<if _FSCredits > 0>>
-					<<if $arcologies[0].FSNull < $FSLockinLevel>>
-						<div class="indent">
-							[[Advance|Future Society][$arcologies[0].FSNull += 20]]: further commitment to allow your arcology's citizens cultural freedom.
-						</div>
-					<</if>>
-				<</if>>
-			<<else>>
-				<<if _FSCredits > 0>>
-					<div>
-						[[Multiculturalism|Future Society][$arcologies[0].FSNull = 20]]: a commitment to allow your arcology's citizens cultural freedom.
-					</div>
-					<div class="indent detail">
-						This option is an alternative to societal advancement, and will not advance naturally.
-					</div>
-				<</if>>
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-</p>
-
-/* Revival section */
-<p>
-<div>
-	<<if ($arcologies[0].FSAztecRevivalist == "unset") && ($arcologies[0].FSEgyptianRevivalist == "unset") && ($arcologies[0].FSEdoRevivalist == "unset") && ($arcologies[0].FSArabianRevivalist == "unset") && ($arcologies[0].FSChineseRevivalist == "unset") && ($arcologies[0].FSNeoImperialist == "unset")>>
-		<<if $arcologies[0].FSRomanRevivalist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> a vision of a new Rome.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSRomanRevivalist")>>
-					<<if $assistant.fsAppearance == "roman revivalist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSRomanRevivalist" "boughtItem.clothing.toga">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "amazon") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Roman Revivalism|Future Society][$arcologies[0].FSRomanRevivalist = 4]]: a vision of a new Rome.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Roman Revivalism</span>: a vision of a new Rome.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if ($arcologies[0].FSAztecRevivalist == "unset") && ($arcologies[0].FSEgyptianRevivalist == "unset") && ($arcologies[0].FSEdoRevivalist == "unset") && ($arcologies[0].FSArabianRevivalist == "unset") && ($arcologies[0].FSChineseRevivalist == "unset")&& ($arcologies[0].FSRomanRevivalist == "unset")>>
-		<<if $arcologies[0].FSNeoImperialist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> a vision of a new Imperial Society.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSNeoImperialist")>>
-					<<if $assistant.fsAppearance == "neoimperialist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSNeoImperialist" "boughtItem.clothing.imperialarmor" "boughtItem.clothing.imperialsuit">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "amazon") || ($assistant.appearance == "incubus") || ($assistant.appearance == "shemale") || ($assistant.appearance == "angel")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Neo-Imperialism|Future Society][$arcologies[0].FSNeoImperialist = 4]]: a vision of a new Imperial society, integrating high technology and old-world culture under the iron fist of your absolute rule.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Neo-Imperialism</span>: a vision of a new Imperial Society, integrating high technology and old-world culture under the iron fist of your absolute rule.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if ($arcologies[0].FSRomanRevivalist == "unset") && ($arcologies[0].FSEgyptianRevivalist == "unset") && ($arcologies[0].FSEdoRevivalist == "unset") && ($arcologies[0].FSArabianRevivalist == "unset") && ($arcologies[0].FSChineseRevivalist == "unset") && ($arcologies[0].FSNeoImperialist == "unset")>>
-		<<if $arcologies[0].FSAztecRevivalist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> a vision of a new Aztec Empire.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSAztecRevivalist")>>
-					<<if $assistant.fsAppearance == "aztec revivalist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSAztecRevivalist" "boughtItem.clothing.huipil">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "goddess") || ($assistant.appearance == "amazon") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Aztec Revivalism|Future Society][$arcologies[0].FSAztecRevivalist = 4]]: a vision of a new Aztec Empire.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Aztec Revivalism</span>: a vision of a new Aztec Empire.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if ($arcologies[0].FSRomanRevivalist == "unset") && ($arcologies[0].FSAztecRevivalist == "unset") && ($arcologies[0].FSEdoRevivalist == "unset") && ($arcologies[0].FSArabianRevivalist == "unset") && ($arcologies[0].FSChineseRevivalist == "unset") && ($arcologies[0].FSNeoImperialist == "unset")>>
-		<<if $arcologies[0].FSEgyptianRevivalist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> a vision of Pharaoh's Egypt.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSEgyptianRevivalist")>>
-					<<if $assistant.fsAppearance == "egyptian revivalist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSEgyptianRevivalist" "boughtItem.clothing.egypt">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "goddess") || ($assistant.appearance == "monstergirl") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Egyptian Revivalism|Future Society][$arcologies[0].FSEgyptianRevivalist = (4+$arcologies[0].FSEgyptianRevivalistInterest), $arcologies[0].FSEgyptianRevivalistIncestPolicy = 0]]: a vision of a Pharaoh's Egypt.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Egyptian Revivalism</span>: a vision of Pharaoh's Egypt.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if ($arcologies[0].FSRomanRevivalist == "unset") && ($arcologies[0].FSAztecRevivalist == "unset") && ($arcologies[0].FSEgyptianRevivalist == "unset") && ($arcologies[0].FSArabianRevivalist == "unset") && ($arcologies[0].FSChineseRevivalist == "unset") && ($arcologies[0].FSNeoImperialist == "unset")>>
-		<<if $arcologies[0].FSEdoRevivalist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> a vision of Edo Japan.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSEdoRevivalist")>>
-					<<if $assistant.fsAppearance == "edo revivalist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSEdoRevivalist" "boughtItem.clothing.kimono">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "amazon") || ($assistant.appearance == "monstergirl") || ($assistant.appearance == "loli") || ($assistant.appearance == "kitsune") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Edo Revivalism|Future Society][$arcologies[0].FSEdoRevivalist = 4]]: a vision of Edo Japan.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Edo Revivalism</span>: a vision of Edo Japan.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if ($arcologies[0].FSRomanRevivalist == "unset") && ($arcologies[0].FSAztecRevivalist == "unset") && ($arcologies[0].FSEgyptianRevivalist == "unset") && ($arcologies[0].FSEdoRevivalist == "unset") && ($arcologies[0].FSChineseRevivalist == "unset") && ($arcologies[0].FSNeoImperialist == "unset")>>
-		<<if $arcologies[0].FSArabianRevivalist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> a vision of the Sultanate of old.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSArabianRevivalist")>>
-					<<if $assistant.fsAppearance == "arabian revivalist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSArabianRevivalist" "boughtItem.clothing.harem">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "businesswoman") || ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Arabian Revivalism|Future Society][$arcologies[0].FSArabianRevivalist = 4]]: a vision of the Sultanate of old.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Arabian Revivalism</span>: a vision of the Sultanate of old.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-
-<div>
-	<<if ($arcologies[0].FSRomanRevivalist == "unset") && ($arcologies[0].FSAztecRevivalist == "unset") && ($arcologies[0].FSEgyptianRevivalist == "unset") && ($arcologies[0].FSEdoRevivalist == "unset") && ($arcologies[0].FSArabianRevivalist == "unset") && ($arcologies[0].FSNeoImperialist == "unset")>>
-		<<if $arcologies[0].FSChineseRevivalist != "unset">>
-			<span style="font-weight:Bold">You are pursuing</span> a vision of ancient China.
-			<span class="detail">
-				<<link "Abandon" "Future Society">>
-					<<run FutureSocieties.remove("FSChineseRevivalist")>>
-					<<if $assistant.fsAppearance == "chinese revivalist">>
-						<<set $assistant.fsAppearance = "default">>
-					<</if>>
-				<</link>>
-			</span>
-			<div class="indent">
-				<<FSChangeDecoration "FSChineseRevivalist" "boughtItem.clothing.qipao">>
-			</div>
-			<<if $policies.publicPA == 1>>
-				<<if ($assistant.appearance == "schoolgirl") || ($assistant.appearance == "monstergirl") || ($assistant.appearance == "incubus") || ($assistant.appearance == "succubus")>>
-					<span class="note">With _hisA $assistant.appearance appearance, $assistant.name is a good public mascot for this goal.</span>
-				<</if>>
-			<</if>>
-		<<else>>
-			<<if _FSCredits > 0>>
-				<div>
-					[[Chinese Revivalism|Future Society][$arcologies[0].FSChineseRevivalist = 4]]: a vision of ancient China.
-				</div>
-			<<else>>
-				/*<span class="note"><span style="font-weight:Bold">Chinese Revivalism</span>: a vision of ancient China.</span>*/
-			<</if>>
-		<</if>>
-	<</if>>
-</div>
-</p>
-
 
 <h3>Facility Redecoration</h3>
 
-<<run FutureSocieties.DecorationCleanup()>>
-
-<<if $brothel > 0>>
-	<div><<= capFirstChar($brothelName)>> is decorated in $brothelDecoration style.</div>
-	<<includeDOM App.UI.facilityRedecoration("brothelDecoration")>>
-<</if>>
-
-<<if $club > 0>>
-	<div><<= capFirstChar($clubName)>> is decorated in $clubDecoration style.</div>
-	<<includeDOM App.UI.facilityRedecoration("clubDecoration")>>
-<</if>>
-
-<<if $dairy > 0>>
-	<div><<= capFirstChar($dairyName)>> is decorated in $dairyDecoration style.</div>
-	<<includeDOM App.UI.facilityRedecoration("dairyDecoration")>>
-<</if>>
-
-<<if $farmyard > 0>>
-	<div><<= capFirstChar($farmyardName)>> is decorated in $farmyardDecoration style.</div>
-	<<includeDOM App.UI.facilityRedecoration("farmyardDecoration")>>
-<</if>>
-
-<<if $spa > 0>>
-	<div><<= capFirstChar($spaName)>> is decorated in $spaDecoration style.</div>
-	<<includeDOM App.UI.facilityRedecoration("spaDecoration")>>
-<</if>>
-
-<<if $nursery > 0>>
-	<div><<= capFirstChar($nurseryName)>> is decorated in $nurseryDecoration style.</div>
-	<<includeDOM App.UI.facilityRedecoration("nurseryDecoration")>>
-<</if>>
-
-<<if $clinic > 0>>
-	<div><<= capFirstChar($clinicName)>> is decorated in $clinicDecoration style.</div>
-	<<includeDOM App.UI.facilityRedecoration("clinicDecoration")>>
-<</if>>
-
-<<if $schoolroom > 0>>
-	<div><<= capFirstChar($schoolroomName)>> is decorated in $schoolroomDecoration style.</div>
-	<<includeDOM App.UI.facilityRedecoration("schoolroomDecoration")>>
-<</if>>
-
-<<if $cellblock > 0>>
-	<div><<= capFirstChar($cellblockName)>> is decorated in $cellblockDecoration style.</div>
-	<<includeDOM App.UI.facilityRedecoration("cellblockDecoration")>>
-<</if>>
-
-<<if $servantsQuarters > 0>>
-	<div><<= capFirstChar($servantsQuartersName)>> is decorated in $servantsQuartersDecoration style.</div>
-	<<includeDOM App.UI.facilityRedecoration("servantsQuartersDecoration")>>
-<</if>>
-
-<<if $arcade > 0>>
-	<div><<= capFirstChar($arcadeName)>> is decorated in $arcadeDecoration style.</div>
-	<<includeDOM App.UI.facilityRedecoration("arcadeDecoration")>>
-<</if>>
-
-<<if $masterSuite > 0>>
-	<div><<= capFirstChar($masterSuiteName)>> is decorated in $masterSuiteDecoration style.</div>
-	<<includeDOM App.UI.facilityRedecoration("masterSuiteDecoration")>>
-<</if>>
+<<includeDOM App.UI.facilityRedecoration()>>
diff --git a/src/uncategorized/genericPlotEvents.tw b/src/uncategorized/genericPlotEvents.tw
index de9ac5d467ed39ef52f7c829c40becb45dda7afd..acaa3e8ca1455d0f7516cdb224826fd358b0e56f 100644
--- a/src/uncategorized/genericPlotEvents.tw
+++ b/src/uncategorized/genericPlotEvents.tw
@@ -1,1428 +1,1309 @@
 :: Generic Plot Events [nobr]
 
-/* GENERIC PLOT EVENTS */
-
 <<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event", $returnTo = "Random Nonindividual Event">>
-
 <<setAssistantPronouns>>
 
 <<switch $Event>>
 <<case "bad curatives">>
+	<<set _genPlot = $slaves.findIndex(function(s) { return s.curatives > 1 || s.inflationType == "curative"; })>>
+	<<setLocalPronouns $slaves[_genPlot]>>
+	<<if _genPlot !== -1>>
+		<<run $slaves.forEach(function(s) {
+			if (s.curatives > 1 || s.inflationType === "curative") {
+				healthDamage(s, Math.floor(Math.random() * 2 + 1));
+			}
+		})>>
+	<<else>>
+		<<goto "Random Nonindividual Event">>
+	<</if>>
+	<<run cashX(500*$slaves.length, "event")>>
 
-<<set _genPlot = $slaves.findIndex(function(s) { return s.curatives > 1 || s.inflationType == "curative"; })>>
-<<setLocalPronouns $slaves[_genPlot]>>
-<<if _genPlot != -1>>
-	<<run $slaves.forEach(function(s) {
-		if (s.curatives > 1 || s.inflationType == "curative") {
-			healthDamage(s, Math.floor(Math.random() * 2 + 1));
-		}
-	})>>
-<<else>>
-	<<goto "Random Nonindividual Event">>
-<</if>>
-<<run cashX(500*$slaves.length, "event")>>
-
-Early one morning, you hear convulsive dry heaving coming from one of the bathrooms. On investigation, it seems that $slaves[_genPlot].slaveName woke up feeling terribly nauseous. $He's in no danger, but you've hardly checked $him over before more slaves stagger in. Every one of your slaves on curatives has been struck by the mysterious malady and has @@.health.dec;sickened.@@
-<br><br>
-It doesn't take much investigation before you find other slaveowners reporting the same thing. Elementary detective work fingers a particular drug supplier as the culprit, and before long the unfortunate pharmaceutical concern is drowning under a rain of harsh public comment and harsher private contract warfare. As the day wears on, the poor slaves feel a bit better, but begin to report discomfort in their breasts. Apparently the problem has to do with contamination of the curative production line with A-HGH production reactants.
-<br><br>
-The firm promptly pays @@.yellowgreen;fair compensation@@ for the minor damage to your slaves' health. However, you're left with the matter of the boobs to deal with. Over the week, all your slaves on curatives experience at least a little @@.lime;breast growth,@@ and some gain several cup sizes.<<if $boughtItem.toys.medicalEnema == 1>> Those with bellies full of curative mixture, on the other hand, have not stopped growing yet and won't until they completely absorb their load. They will likely end up @@.lime;sporting enormous tits@@ by the end of this.<</if>>
-
+	Early one morning, you hear convulsive dry heaving coming from one of the bathrooms. On investigation, it seems that $slaves[_genPlot].slaveName woke up feeling terribly nauseous. $He's in no danger, but you've hardly checked $him over before more slaves stagger in. Every one of your slaves on curatives has been struck by the mysterious malady and has @@.health.dec;sickened.@@
+	<br><br>
+	It doesn't take much investigation before you find other slaveowners reporting the same thing. Elementary detective work fingers a particular drug supplier as the culprit, and before long the unfortunate pharmaceutical concern is drowning under a rain of harsh public comment and harsher private contract warfare. As the day wears on, the poor slaves feel a bit better, but begin to report discomfort in their breasts. Apparently the problem has to do with contamination of the curative production line with A-HGH production reactants.
+	<br><br>
+	The firm promptly pays @@.yellowgreen;fair compensation@@ for the minor damage to your slaves' health. However, you're left with the matter of the boobs to deal with. Over the week, all your slaves on curatives experience at least a little @@.lime;breast growth,@@ and some gain several cup sizes.<<if $boughtItem.toys.medicalEnema == 1>> Those with bellies full of curative mixture, on the other hand, have not stopped growing yet and won't until they completely absorb their load. They will likely end up @@.lime;sporting enormous tits@@ by the end of this.<</if>>
 <<case "bad breasts">>
+	<<set _genPlot = $slaves.findIndex(function(s) { return ["breast injections", "intensive breast injections", "hyper breast injections"].includes(s.drugs); })>>
+	<<setLocalPronouns $slaves[_genPlot]>>
+	<<if _genPlot !== -1>>
+		<<run $slaves.forEach(function(s) {
+			if (["breast injections", "hyper breast injections", "intensive breast injections"].includes(s.drugs)) {
+				healthDamage(s, Math.floor(Math.random() * 2 + 1));
+			}
+		})>>
+	<<else>>
+		<<goto "Random Nonindividual Event">>
+	<</if>>
 
-<<set _genPlot = $slaves.findIndex(function(s) { return ["breast injections", "intensive breast injections", "hyper breast injections"].includes(s.drugs); })>>
-<<setLocalPronouns $slaves[_genPlot]>>
-<<if _genPlot != -1>>
-	<<run $slaves.forEach(function(s) {
-		if (["breast injections", "hyper breast injections", "intensive breast injections"].includes(s.drugs)) {
-			healthDamage(s, Math.floor(Math.random() * 2 + 1));
-		}
-	})>>
-<<else>>
-	<<goto "Random Nonindividual Event">>
-<</if>>
-
-Early one morning, you hear heaving coming from one of the bathrooms. On investigation, it seems that $slaves[_genPlot].slaveName woke up feeling terribly nauseous. $He's in no danger, but you've hardly checked $him over before more slaves stagger in. Every one of your slaves on breast focused A-HGH has been struck by the mysterious malady and has @@.health.dec;sickened.@@
-<br><br>
-It doesn't take much investigation before you find other slaveowners reporting the same thing. Elementary detective work fingers a particular drug supplier as the culprit, and before long the unfortunate pharmaceutical concern is drowning under a rain of harsh public comment and harsher private contract warfare. As the day wears on, the poor slaves feel much better, and appear positively glowing. However, their breasts swell slightly and their bellies bulge, pointing to the issue being the contamination of the A-HGH production line with fertility agents.
-<br><br>
-The firm promptly pays @@.yellowgreen; a large compensation@@ for potentially ruining your slaves. However, you're left with the matter of all the growing bellies to deal with. Over the week, all of your slaves on breast injections show signs of @@.yellow;early pregnancy,@@ and hyper pregnancy at that, save those who aren't fertile. They just experienced some hip and ass growth. You have no idea how much fertility agent was in the enhancers but you feel they may become a problem if left alone!
-
+	Early one morning, you hear heaving coming from one of the bathrooms. On investigation, it seems that $slaves[_genPlot].slaveName woke up feeling terribly nauseous. $He's in no danger, but you've hardly checked $him over before more slaves stagger in. Every one of your slaves on breast focused A-HGH has been struck by the mysterious malady and has @@.health.dec;sickened.@@
+	<br><br>
+	It doesn't take much investigation before you find other slaveowners reporting the same thing. Elementary detective work fingers a particular drug supplier as the culprit, and before long the unfortunate pharmaceutical concern is drowning under a rain of harsh public comment and harsher private contract warfare. As the day wears on, the poor slaves feel much better, and appear positively glowing. However, their breasts swell slightly and their bellies bulge, pointing to the issue being the contamination of the A-HGH production line with fertility agents.
+	<br><br>
+	The firm promptly pays @@.yellowgreen; a large compensation@@ for potentially ruining your slaves. However, you're left with the matter of all the growing bellies to deal with. Over the week, all of your slaves on breast injections show signs of @@.yellow;early pregnancy,@@ and hyper pregnancy at that, save those who aren't fertile. They just experienced some hip and ass growth. You have no idea how much fertility agent was in the enhancers but you feel they may become a problem if left alone!
 <<case "strip club closing">>
-
-It's been a good few weeks, getting settled in as owner of $arcologies[0].name. The power of being overlord of this great building and everyone in it is incredible, but so is the responsibility. It's a good thing you have ample opportunities for stress relief. You're going to need them after today. There's a nasty disturbance on a business level of the arcology. Normally, the arcology's public safety drones would suppress this kind of nonsense, but $assistant.name program is suggesting that you resolve the dispute.
-<br><br>
-As you step off the elevator, you hear several <<if $seeDicks != 100>>female <</if>>voices shouting. Apparently one of $arcologies[0].name's few remaining strip joints has closed. It was a topless bar and strip club all in one, but the owner is packing up his things. He's explaining to a crowd of his angry former employees that he can't make ends meet. As the price of a slave whore is barely higher than that of a lap dance from a free stripper, it's not surprising. It looks like the former dancers are on the verge of trashing the place.
-
+	It's been a good few weeks, getting settled in as owner of $arcologies[0].name. The power of being overlord of this great building and everyone in it is incredible, but so is the responsibility. It's a good thing you have ample opportunities for stress relief. You're going to need them after today. There's a nasty disturbance on a business level of the arcology. Normally, the arcology's public safety drones would suppress this kind of nonsense, but $assistant.name program is suggesting that you resolve the dispute.
+	<br><br>
+	As you step off the elevator, you hear several <<if $seeDicks !== 100>>female <</if>>voices shouting. Apparently one of $arcologies[0].name's few remaining strip joints has closed. It was a topless bar and strip club all in one, but the owner is packing up his things. He's explaining to a crowd of his angry former employees that he can't make ends meet. As the price of a slave whore is barely higher than that of a lap dance from a free stripper, it's not surprising. It looks like the former dancers are on the verge of trashing the place.
 <<case "strip club aftermath">>
-
-<<set _ContractCost = 1000>>
-<<set $activeSlaveOneTimeMinAge = $minimumSlaveAge>>
-<<set $activeSlaveOneTimeMaxAge = 42>>
-<<set $oneTimeDisableDisability = 1>>
-<<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
-<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-	<<set $fixedRace = _races.random()>>
-<</if>>
-<<set $activeSlave = GenerateNewSlave()>>
-<<if $eventResults.strip == 1>>
-	<<set $activeSlave.origin = "$He offered $himself to you as a slave to escape the hard life of a free whore.">>
-	<<set $activeSlave.career = "a prostitute">>
-	<<set $activeSlave.devotion = 20>>
-	<<set $activeSlave.trust = 5>>
-	<<run setHealth($activeSlave, jsRandom(-90, 10), undefined, undefined, undefined, 40)>>
-	<<set $activeSlave.anus = 2>>
-	<<if $activeSlave.dick == 0>>
-		<<set $activeSlave.vagina = 2>>
-		<<set $activeSlave.skill.vaginal = 15>>
+	<<set _ContractCost = 1000>>
+	<<set _pram = {minAge: $minimumSlaveAge, maxAge: 42, disableDisability: 1}>>
+	<<if $arcologies[0].FSSupremacistLawME === 1>>
+		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
+	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
+		<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
+		<<set _pram.race = _races.random()>>
 	<</if>>
-	<<set $activeSlave.skill.oral = 15>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 15>>
-	<<set $activeSlave.addict = 2>>
-	<<set _slaveCost = slaveCost($activeSlave)>>
-<<elseif $eventResults.strip == 2>>
-	<<set $activeSlave.origin = "$He offered $himself to you, impressed by your handling of $his employment situation.">>
-	<<set $activeSlave.career = "a prostitute">>
-	<<set $activeSlave.devotion = 45>>
-	<<set $activeSlave.trust = 25>>
-	<<run setHealth($activeSlave, 20, undefined, undefined, undefined, 20)>>
-	<<set $activeSlave.anus = 2>>
-	<<if $activeSlave.dick == 0>>
-		<<set $activeSlave.vagina = 2>>
-		<<set $activeSlave.skill.vaginal = 35>>
+	<<set _slave = GenerateNewSlave(null, _pram)>>
+	<<if $eventResults.strip === 1>>
+		<<set _slave.origin = "$He offered $himself to you as a slave to escape the hard life of a free whore.">>
+		<<set _slave.career = "a prostitute">>
+		<<set _slave.devotion = 20>>
+		<<set _slave.trust = 5>>
+		<<run setHealth(_slave, jsRandom(-90, 10), undefined, undefined, undefined, 40)>>
+		<<set _slave.anus = 2>>
+		<<if _slave.dick == 0>>
+			<<set _slave.vagina = 2>>
+			<<set _slave.skill.vaginal = 15>>
+		<</if>>
+		<<set _slave.skill.oral = 15>>
+		<<set _slave.skill.anal = 15>>
+		<<set _slave.skill.whoring = 15>>
+		<<set _slave.addict = 2>>
+		<<set _slaveCost = slaveCost(_slave)>>
+	<<elseif $eventResults.strip === 2>>
+		<<set _slave.origin = "$He offered $himself to you, impressed by your handling of $his employment situation.">>
+		<<set _slave.career = "a prostitute">>
+		<<set _slave.devotion = 45>>
+		<<set _slave.trust = 25>>
+		<<run setHealth(_slave, 20, undefined, undefined, undefined, 20)>>
+		<<set _slave.anus = 2>>
+		<<if _slave.dick == 0>>
+			<<set _slave.vagina = 2>>
+			<<set _slave.skill.vaginal = 35>>
+		<</if>>
+		<<set _slave.skill.oral = 35>>
+		<<set _slave.skill.anal = 35>>
+		<<set _slave.skill.whoring = 35>>
+		<<set _slave.boobs += 600>>
+		<<set _slave.boobsImplant = 600>>
+		<<set _slave.boobsImplantType = "string">>
+		<<set _slave.lipsPiercing = 1>>
+		<<set _slave.earPiercing = 1>>
+		<<set _slave.nosePiercing = 1>>
+		<<set _slave.eyebrowPiercing = 1>>
+		<<set _slave.navelPiercing = 1>>
+		<<set _slave.nipplesPiercing = 1>>
+		<<set _slave.clitPiercing = 1>>
+		<<set _slave.hStyle = "strip">>
+		<<set _slaveCost = slaveCost(_slave)>>
 	<</if>>
-	<<set $activeSlave.skill.oral = 35>>
-	<<set $activeSlave.skill.anal = 35>>
-	<<set $activeSlave.skill.whoring = 35>>
-	<<set $activeSlave.boobs += 600>>
-	<<set $activeSlave.boobsImplant = 600>>
-	<<set $activeSlave.boobsImplantType = "string">>
-	<<set $activeSlave.lipsPiercing = 1>>
-	<<set $activeSlave.earPiercing = 1>>
-	<<set $activeSlave.nosePiercing = 1>>
-	<<set $activeSlave.eyebrowPiercing = 1>>
-	<<set $activeSlave.navelPiercing = 1>>
-	<<set $activeSlave.nipplesPiercing = 1>>
-	<<set $activeSlave.clitPiercing = 1>>
-	<<set $activeSlave.hStyle = "strip">>
-	<<set _slaveCost = slaveCost($activeSlave)>>
-<</if>>
-<<run App.Utils.setLocalPronouns($activeSlave)>>
-<<run Enunciate($activeSlave)>>
-<<if $eventResults.strip == 1>>
-	One day, you walk by the commercial space where the strip club that closed was located. It's now advertised as a massage parlor, but the real merchandise on offer is obvious. You can see a bored-looking, half-dressed masseuse rubbing a client, but the sounds of someone having hard sex are filtering out from the back room, and the pricing sheet lists more orifices than massage options.
-	<br><br>
-	As you pass, a tired-looking streetwalker walking by wearing ripped jeans and a torn top offers $himself to you. $He's halfway through $his clumsy come-on before $he curses and rushes over to kneel at your feet. As $he does, $he shrieks, "You own thi<<s>> arcology! You — you offered to en<<s>>lave u<<s>> <<s>>tripper<<s>> when the old pla<<c>>e clo<<s>>ed down! Plea<<s>>e, plea<<s>>e, can I a<<cc>>ept? I'm <<s>>orry I didn't earlier. I'm <<s>>orry. I'll fucking do anything! Plea<<s>>e!"
-	<br><br>
-	//Enslaving $him will cost <<print cashFormat(_ContractCost)>>. Alternatively, you could sell $him. Less costs, this will bring in <<print cashFormat(_slaveCost)>>.//
+	<<run App.Utils.setLocalPronouns(_slave)>>
+	<<run Enunciate(_slave)>>
+	<<if $eventResults.strip === 1>>
+		One day, you walk by the commercial space where the strip club that closed was located. It's now advertised as a massage parlor, but the real merchandise on offer is obvious. You can see a bored-looking, half-dressed masseuse rubbing a client, but the sounds of someone having hard sex are filtering out from the back room, and the pricing sheet lists more orifices than massage options.
+		<br><br>
+		As you pass, a tired-looking streetwalker walking by wearing ripped jeans and a torn top offers $himself to you. $He's halfway through $his clumsy come-on before $he curses and rushes over to kneel at your feet. As $he does, $he shrieks, "You own thi<<s>> arcology! You — you offered to en<<s>>lave u<<s>> <<s>>tripper<<s>> when the old pla<<c>>e clo<<s>>ed down! Plea<<s>>e, plea<<s>>e, can I a<<cc>>ept? I'm <<s>>orry I didn't earlier. I'm <<s>>orry. I'll fucking do anything! Plea<<s>>e!"
+		<br><br>
+		//Enslaving $him will cost <<print cashFormat(_ContractCost)>>. Alternatively, you could sell $him. Less costs, this will bring in <<print cashFormat(_slaveCost)>>.//
+		<br><br>
+		<<includeDOM App.Desc.longSlave(_slave)>>
+	<<elseif $eventResults.strip === 2>>
+		One day, you walk by the commercial space where the strip club that closed was located. It's now advertised as a massage parlor, and indeed, you can see a couple of competent-looking, modestly dressed masseuses seeing to clients. The only chink in the old world decorum is the pretty sign detailing pricing, which lists not only various massages but the masseuses' hands, breasts, mouths,<<if $seeDicks !== 100>> pussies,<</if>> and anuses.
+		<br><br>
+		As you pass, a pretty streetwalker walking by wearing an attractive club $girl outfit sidles up to you. $He's halfway through $his first flirty come-on before $he recognizes you. $He gasps and <<say>>s, "You own thi<<s>> arcology! <<if $PC.title !== 0>><<S>>ir<<else>>Ma'am<</if>>, I wa<<s>> a <<s>>tripper here! Thank you <<s>>o much for helping u<<s>>. That money <<s>>et mo<<s>>t of u<<s>> up pretty well." $He hefts $his chest. "It bought me new boob<<s>>, that'<<s>> for <<s>>ure. <<S>>o, um," $he bites $his lip in indecision, "I hear —" $he hesitates and then the words come out in a rush. "I hear your $girl<<s>> do really well. I've <<s>>een them, they look good. Can I come?" You arch an eyebrow and begin to ask whether $he knows what that means. "Yep," $he interrupts. "I'll be your <<s>>e<<x>> <<s>>lave."
+		<br><br>
+		//Enslaving $him will cost <<print cashFormat(_ContractCost)>>. Alternatively, you could sell $him. Less costs, this will bring in <<print cashFormat(_slaveCost)>>.//
+		<br><br>
+		<<includeDOM App.Desc.longSlave(_slave)>>
+	<<else>>
+		<<setNonlocalPronouns $seeDicks>>
+		One day, you walk by the commercial space where the strip club that closed was located. The <<= _girlU>>s you set up in cheap housing tried to run the place as a worker-owned strip bar for a while, but as you suspected, they were obliged to start whoring in short order. With the price of sex driven so low by slave competition, there's hardly any profit in bodies patrons can't even touch. The <<= _girlU>>s here might be prostitutes now, but they're still free and they're surviving.
+		<br><br>
+		As you pass, a pretty bottle blonde comes running out. "Hey," _heU calls, "you're the owner! You set us up with this place!" You ask _himU how they're doing. "Well," _heU says, smiling ruefully, "turning tricks ain't easy, you know. But we get by. Those rooms you set up for us are nice and cheap, even if we're packed in there like <<if _heU == "he">>fraternity boys<<else>>sorority girls<</if>>." _HeU winks. "Hey, I don't suppose you've fucked a free _womanU lately? I'll give you an Arcology Tour, on the house. Least I can do."
+	<</if>>
+<<case "militia">>
+	The outside world continues to deteriorate. The Free Cities are a popular target for old world demagogues looking for a convenient scapegoat for the restive populate to hate. The Free Cities were originally founded without much thought towards how they might be defended, should it come to that. But recently, the leading citizens have begun to worry that there might one day be barbarians at the gates. It has been suggested that citizens of means should form a militia.
 	<br><br>
-	<<includeDOM App.Desc.longSlave(V.activeSlave)>>
-<<elseif $eventResults.strip == 2>>
-	One day, you walk by the commercial space where the strip club that closed was located. It's now advertised as a massage parlor, and indeed, you can see a couple of competent-looking, modestly dressed masseuses seeing to clients. The only chink in the old world decorum is the pretty sign detailing pricing, which lists not only various massages but the masseuses' hands, breasts, mouths,<<if $seeDicks != 100>> pussies,<</if>> and anuses.
+	This is a less ludicrous suggestion than it might sound. Your arcology's security drones alone could form a formidable means of defense if adapted for that purpose. However, it's not likely that the anarchic Free Cities are going to ever make this anything more than a polite suggestion.
 	<br><br>
-	As you pass, a pretty streetwalker walking by wearing an attractive club $girl outfit sidles up to you. $He's halfway through $his first flirty come-on before $he recognizes you. $He gasps and <<say>>s, "You own thi<<s>> arcology! <<if $PC.title != 0>><<S>>ir<<else>>Ma'am<</if>>, I wa<<s>> a <<s>>tripper here! Thank you <<s>>o much for helping u<<s>>. That money <<s>>et mo<<s>>t of u<<s>> up pretty well." $He hefts $his chest. "It bought me new boob<<s>>, that'<<s>> for <<s>>ure. <<S>>o, um," $he bites $his lip in indecision, "I hear —" $he hesitates and then the words come out in a rush. "I hear your $girl<<s>> do really well. I've <<s>>een them, they look good. Can I come?" You arch an eyebrow and begin to ask whether $he knows what that means. "Yep," $he interrupts. "I'll be your <<s>>e<<x>> <<s>>lave."
+	''This is a unique opportunity.'' Without this security scare, it's unlikely you could convince any of your free-spirited tenants to even stay near lethally armed drones.
+<<case "shoot invitation">>
+	<<= capFirstChar($assistant.name)>> usually delays message delivery when you're relieving your sexual needs with your property, but messages from other arcology owners have a special priority. This one is a brief but rather well-spoken audio invitation from one of your more notoriously wealthy peers.
 	<br><br>
-	//Enslaving $him will cost <<print cashFormat(_ContractCost)>>. Alternatively, you could sell $him. Less costs, this will bring in <<print cashFormat(_slaveCost)>>.//
+	"A week from today, I will be hosting a novel sporting event for the well-to-do. A new tradition, if it's as diverting as I hope. If you wish to take part in a very exclusive contest of marksmanship, exhibitionism, and grace under pressure, buy in. Five thousand. And, believe me, you have a fine chance to come out ahead."
+<<case "shoot result">>
+	You are delivered to your host's arcology by hired VTOL limousine. His arcology is flared at the top, to allow a flat space occupied by a classic Georgian mansion surrounded by lawns. After a brief reception for the handful of well-heeled attendees, the host calls for your attention. "Ladies and gentlemen," he says, "I would like to celebrate here today the return of many things which should not have been allowed to lapse."
 	<br><br>
-	<<includeDOM App.Desc.longSlave(V.activeSlave)>>
-<<else>>
-	<<setNonlocalPronouns $seeDicks>>
-	One day, you walk by the commercial space where the strip club that closed was located. The <<= _girlU>>s you set up in cheap housing tried to run the place as a worker-owned strip bar for a while, but as you suspected, they were obliged to start whoring in short order. With the price of sex driven so low by slave competition, there's hardly any profit in bodies patrons can't even touch. The <<= _girlU>>s here might be prostitutes now, but they're still free and they're surviving.
+	He leads the party towards a broad lawn with a long table along one side, and indicates the handsome single-barrel shotguns lined up on the table. He continues, "In a few moments, some really choice livestock are going to be led up onto this lawn. They have been told that if they can run from one side to the other, they'll be freed." He winks. "Those guns are loaded with taser slugs, of course. Whatever you drop and fuck, you get to take home."
 	<br><br>
-	As you pass, a pretty bottle blonde comes running out. "Hey," _heU calls, "you're the owner! You set us up with this place!" You ask _himU how they're doing. "Well," _heU says, smiling ruefully, "turning tricks ain't easy, you know. But we get by. Those rooms you set up for us are nice and cheap, even if we're packed in there like <<if _heU == "he">>fraternity boys<<else>>sorority girls<</if>>." _HeU winks. "Hey, I don't suppose you've fucked a free _womanU lately? I'll give you an Arcology Tour, on the house. Least I can do."
-<</if>>
-
-<<case "militia">>
-
-The outside world continues to deteriorate. The Free Cities are a popular target for old world demagogues looking for a convenient scapegoat for the restive populate to hate. The Free Cities were originally founded without much thought towards how they might be defended, should it come to that. But recently, the leading citizens have begun to worry that there might one day be barbarians at the gates. It has been suggested that citizens of means should form a militia.
-<br><br>
-This is a less ludicrous suggestion than it might sound. Your arcology's security drones alone could form a formidable means of defense if adapted for that purpose. However, it's not likely that the anarchic Free Cities are going to ever make this anything more than a polite suggestion.
-<br><br>
-''This is a unique opportunity.'' Without this security scare, it's unlikely you could convince any of your free-spirited tenants to even stay near lethally armed drones.
-
-<<case "shoot invitation">>
-
-<<= capFirstChar($assistant.name)>> usually delays message delivery when you're relieving your sexual needs with your property, but messages from other arcology owners have a special priority. This one is a brief but rather well-spoken audio invitation from one of your more notoriously wealthy peers.
-<br><br>
-"A week from today, I will be hosting a novel sporting event for the well-to-do. A new tradition, if it's as diverting as I hope. If you wish to take part in a very exclusive contest of marksmanship, exhibitionism, and grace under pressure, buy in. Five thousand. And, believe me, you have a fine chance to come out ahead."
-
-<<case "shoot result">>
-
-You are delivered to your host's arcology by hired VTOL limousine. His arcology is flared at the top, to allow a flat space occupied by a classic Georgian mansion surrounded by lawns. After a brief reception for the handful of well-heeled attendees, the host calls for your attention. "Ladies and gentlemen," he says, "I would like to celebrate here today the return of many things which should not have been allowed to lapse."
-<br><br>
-He leads the party towards a broad lawn with a long table along one side, and indicates the handsome single-barrel shotguns lined up on the table. He continues, "In a few moments, some really choice livestock are going to be led up onto this lawn. They have been told that if they can run from one side to the other, they'll be freed." He winks. "Those guns are loaded with taser slugs, of course. Whatever you drop and fuck, you get to take home."
-<br><br>
-The crowd of nude slaves led up to the lawn and chained to rings along one edge all have pale skin — the better to show impacts, perhaps. But besides that, they are extremely varied, and all physically extraordinary in some way. After you and your fellow partiers are ready, your host fires an old-fashioned revolver in the air and the chained slaves are all released at once. You could easily hit any of them, but you only have one shot.
-
+	The crowd of nude slaves led up to the lawn and chained to rings along one edge all have pale skin — the better to show impacts, perhaps. But besides that, they are extremely varied, and all physically extraordinary in some way. After you and your fellow partiers are ready, your host fires an old-fashioned revolver in the air and the chained slaves are all released at once. You could easily hit any of them, but you only have one shot.
 <<case "aid invitation">>
-
-<<set _trapped = []>>
-<<if ($seeDicks <= 75)>>
-	<<set _trapped.push("convent")>>
-	<<set _trapped.push("school")>>
-	<<set _trapped.push("housewives")>>
-	<<set _trapped.push("volleyballTeam")>>
-	<<if $seePreg != 0>>
-		<<set _trapped.push("maternity")>>
-		<<if $continent == "Africa">>
-			<<set _trapped.push("seizedMission")>>
+	<<set _trapped = []>>
+	<<if ($seeDicks <= 75)>>
+		<<set _trapped.push("convent")>>
+		<<set _trapped.push("school")>>
+		<<set _trapped.push("housewives")>>
+		<<set _trapped.push("volleyballTeam")>>
+		<<if $seePreg !== 0>>
+			<<set _trapped.push("maternity")>>
+			<<if $continent === "Africa">>
+				<<set _trapped.push("seizedMission")>>
+			<</if>>
 		<</if>>
 	<</if>>
-<</if>>
-<<if ($seeDicks >= 25)>>
-	<<set _trapped.push("conversion")>>
-<</if>>
-<<set _trapped.push("gradeSchool")>>
-<<set $eventResults.aidTarget = _trapped.random()>>
-A small old world country near the arcology is experiencing serious unrest. Its corrupt government is doing an even poorer job than most of addressing chronic joblessness and general malaise. Thus far, it's been a fertile source of people in poverty for slavers to target, and little else. Lately, though, it's been showing signs worse may be to come. You've instructed $assistant.name to flag communications from the area; there's always a possibility that business opportunities may arise from the benighted country, and the situation is becoming so unstable it's prudent to keep a personal eye on it anyway. You receive just such a call from
-<<if $eventResults.aidTarget == "convent">>
-	the leader of a female-oriented religious retreat
-<<elseif $eventResults.aidTarget == "school">>
-	the principal of a preparatory school for girls
-<<elseif $eventResults.aidTarget == "housewives">>
-	the queen bee of a small group of suburban housewives
-<<elseif $eventResults.aidTarget == "maternity">>
-	the maternity ward of a hospital
-<<elseif $eventResults.aidTarget == "conversion">>
-	the owner of a religious sexual orientation therapy camp
-<<elseif $eventResults.aidTarget == "gradeSchool">>
-	a student stranded
-<<elseif $eventResults.aidTarget == "volleyballTeam">>
-	a student athlete
-<<elseif $eventResults.aidTarget == "seizedMission">>
-	the leader of a group of missionaries
-<</if>>
-in the capital city.
-<br><br>
-<<if $eventResults.aidTarget != "seizedMission">>
-	They are deeply worried by the situation. There have been large riots over the past week, and yesterday they became seriously violent. The unrest is targeting
-	<<if $eventResults.aidTarget == "convent">>
-		better-off citizens, including the caller. Though most of the nuns have already left, the leader and a few of her women are now stuck in the area and are running out of options as the riots lock down transportation.
-	<<elseif $eventResults.aidTarget == "school">>
-		better-off citizens, including the caller. Though most of the students and faculty have already made it out, the principal and a few students are now stuck in the area and are running out of options as the riots lock down transportation.
-	<<elseif $eventResults.aidTarget == "housewives">>
-		better-off citizens, including the caller. Though most of them have taken flights out, the leader and a few of them are now stuck in the area and are running out of options as the riots lock down transportation.
-	<<elseif $eventResults.aidTarget == "maternity">>
-		better-off citizens, including the caller. Though most of the patients have already left, several of the most pregnant are now stuck in the area and are running out of options as the riots lock down transportation.
-	<<elseif $eventResults.aidTarget == "conversion">>
-		better-off citizens, including the caller. Though most of the camp's inmates have already left, a few of them and the owner are now stuck in the area and are running out of options as the riots lock down transportation.
-	<<elseif $eventResults.aidTarget == "gradeSchool">>
-		better-off citizens, including the caller. Though most of the other students and faculty escaped, a few of the students are now stuck in the school and are running out of options as the riots steadily creep closer to the grounds.
-	<<elseif $eventResults.aidTarget == "volleyballTeam">>
-		vulnerable citizens, including the caller. Their bus broke down on the way to the championship game and all those that have left to get help have not returned. She and her several remaining teammates are running out of options as those looking for easy targets creep ever closer.
+	<<if ($seeDicks >= 25)>>
+		<<set _trapped.push("conversion")>>
 	<</if>>
-<<else>>
-	After years of constant rape and abuse, an opening finally arrived for escape when a rival faction raided the decaying church they were stored in, however the situation outside isn't much better. Violent riots are taking place and the mobs are eagerly snatching up what ever loot and women they can get their hands on. She and the remaining women are trapped and in no condition to run; most particularly the youngest of the group who is ripe with child, though she herself and one of the others are also carrying their rapists' babies. They are completely out of options as the looters work their way down the city streets.
-<</if>>
-They beg you to help evacuate them, and promise to pay you once they're out.
-
+	<<set _trapped.push("gradeSchool")>>
+	<<set $eventResults.aidTarget = _trapped.random()>>
+	A small old world country near the arcology is experiencing serious unrest. Its corrupt government is doing an even poorer job than most of addressing chronic joblessness and general malaise. Thus far, it's been a fertile source of people in poverty for slavers to target, and little else. Lately, though, it's been showing signs worse may be to come. You've instructed $assistant.name to flag communications from the area; there's always a possibility that business opportunities may arise from the benighted country, and the situation is becoming so unstable it's prudent to keep a personal eye on it anyway. You receive just such a call from
+	<<if $eventResults.aidTarget === "convent">>
+		the leader of a female-oriented religious retreat
+	<<elseif $eventResults.aidTarget === "school">>
+		the principal of a preparatory school for girls
+	<<elseif $eventResults.aidTarget === "housewives">>
+		the queen bee of a small group of suburban housewives
+	<<elseif $eventResults.aidTarget === "maternity">>
+		the maternity ward of a hospital
+	<<elseif $eventResults.aidTarget === "conversion">>
+		the owner of a religious sexual orientation therapy camp
+	<<elseif $eventResults.aidTarget === "gradeSchool">>
+		a student stranded
+	<<elseif $eventResults.aidTarget === "volleyballTeam">>
+		a student athlete
+	<<elseif $eventResults.aidTarget === "seizedMission">>
+		the leader of a group of missionaries
+	<</if>>
+	in the capital city.
+	<br><br>
+	<<if $eventResults.aidTarget !== "seizedMission">>
+		They are deeply worried by the situation. There have been large riots over the past week, and yesterday they became seriously violent. The unrest is targeting
+		<<if $eventResults.aidTarget === "convent">>
+			better-off citizens, including the caller. Though most of the nuns have already left, the leader and a few of her women are now stuck in the area and are running out of options as the riots lock down transportation.
+		<<elseif $eventResults.aidTarget === "school">>
+			better-off citizens, including the caller. Though most of the students and faculty have already made it out, the principal and a few students are now stuck in the area and are running out of options as the riots lock down transportation.
+		<<elseif $eventResults.aidTarget === "housewives">>
+			better-off citizens, including the caller. Though most of them have taken flights out, the leader and a few of them are now stuck in the area and are running out of options as the riots lock down transportation.
+		<<elseif $eventResults.aidTarget === "maternity">>
+			better-off citizens, including the caller. Though most of the patients have already left, several of the most pregnant are now stuck in the area and are running out of options as the riots lock down transportation.
+		<<elseif $eventResults.aidTarget === "conversion">>
+			better-off citizens, including the caller. Though most of the camp's inmates have already left, a few of them and the owner are now stuck in the area and are running out of options as the riots lock down transportation.
+		<<elseif $eventResults.aidTarget === "gradeSchool">>
+			better-off citizens, including the caller. Though most of the other students and faculty escaped, a few of the students are now stuck in the school and are running out of options as the riots steadily creep closer to the grounds.
+		<<elseif $eventResults.aidTarget === "volleyballTeam">>
+			vulnerable citizens, including the caller. Their bus broke down on the way to the championship game and all those that have left to get help have not returned. She and her several remaining teammates are running out of options as those looking for easy targets creep ever closer.
+		<</if>>
+	<<else>>
+		After years of constant rape and abuse, an opening finally arrived for escape when a rival faction raided the decaying church they were stored in, however the situation outside isn't much better. Violent riots are taking place and the mobs are eagerly snatching up what ever loot and women they can get their hands on. She and the remaining women are trapped and in no condition to run; most particularly the youngest of the group who is ripe with child, though she herself and one of the others are also carrying their rapists' babies. They are completely out of options as the looters work their way down the city streets.
+	<</if>>
+	They beg you to help evacuate them, and promise to pay you once they're out.
 <<case "aid result">>
+	<<set $eventResults.aid = 0>>
+	<<set $nationHate += 2>>
+	You watch on the feeds from your VTOL craft as it settles <<if $eventResults.aidTarget === "volleyballTeam">>beside<<else>>onto the roof of<</if>> the
+	<<if $eventResults.aidTarget === "convent">>
+		convent whose remaining women
+	<<elseif $eventResults.aidTarget === "school">>
+		girls' school whose remaining students and principal
+	<<elseif $eventResults.aidTarget === "housewives">>
+		mansion of the leader of the group of housewives
+	<<elseif $eventResults.aidTarget === "maternity">>
+		maternity ward whose remaining patients
+	<<elseif $eventResults.aidTarget === "conversion">>
+		religious sexual orientation therapy camp whose inmates and owner
+	<<elseif $eventResults.aidTarget === "gradeSchool">>
+		school whose students
+	<<elseif $eventResults.aidTarget === "volleyballTeam">>
+		bus whose athletes
+	<<elseif $eventResults.aidTarget === "seizedMission">>
+		building the raped missionaries
+	<</if>>
+	you promised to rescue<<if $eventResults.aidTarget === "seizedMission">> were holed up in<</if>>. Its side doors retract, allowing the escapees to hustle aboard with their bundles of personal possessions. Once they're on board and strapped into their seats, the turbofans howl and the craft peels smoothly off the roof, the hot jet wash setting it alight. Once it transitions fully into level flight, the true plan goes into operation. At a carefully selected moment, injectors concealed within each seat lance into the passengers' buttocks, knocking them out. It works flawlessly, the drugs precisely calibrated to each body based on the weight added to the VTOL as each climbed aboard. This avoids the potential for over- or under-dosage present when using gas or darts to subdue groups. In perfect unison, the passengers slump against the harnesses holding them against the seats.
+	<br><br>
+	When the aircraft lands at your penthouse pad, the would-be escapees are still unconscious. This makes putting them through enslavement physically laborious, though it does cut down on the usual whining; fortunately, you reserved the credits necessary to obscure their questionably legitimate enslavement. By the time they awake, they'll be indistinguishable from any other new slave in the arcology. The possibility remains, however that rumor of the incident will leak out. Your VTOL bird's entry and exit from the capital city was likely noticed and remarked upon.
+	<br><br>
+	<<set _newSlaves = []>>
+	<<if $eventResults.aidTarget === "convent">>
+		<<set _slave = GenerateNewSlave("XX", {minAge: 30, maxAge: 42, disableDisability: 1})>>
+		<<set _slave.origin = "$He was the head of a religious community of women you enslaved.">>
+		<<set _slave.career = "a nun">>
+		<<set _slave.devotion = -20>>
+		<<set _slave.trust = random(-90,-75)>>
+		<<run setHealth(_slave, jsRandom(-10, 10), undefined, undefined, undefined, 0)>>
+		<<set _slave.face = 15>>
+		<<set _slave.anus = 0>>
+		<<set _slave.vagina = 0>>
+		<<set _slave.weight = random(20,140)>>
+		<<set _slave.attrXX = random(60,90)>>
+		<<set _slave.attrXY = random(10,50)>>
+		<<set _slave.energy = random(60,80)>>
+		<<set _slave.skill.vaginal = 0>>
+		<<set _slave.skill.oral = 35>>
+		<<set _slave.skill.anal = 0>>
+		<<set _slave.skill.whoring = 0>>
+		<<set _slave.skill.entertainment = 0>>
+		<<set _slave.pubicHStyle = "bushy">>
+		<<set _slave.fetish = "dom">>
+		<<set _slave.behavioralFlaw = "devout">>
+		<<set _slave.sexualFlaw = "repressed">>
+		<<set _slave.sexualQuirk = "perverted">>
+		<<set _newSlaves.push(_slave)>>
+		In any case, you've enslaved a fine group. The leader is on the older side, but not unattractive. $His girls are younger, and probably have all sorts of delightful repressed tendencies to be manipulated.
+		<<for _i = 0; _i < 3; _i++>>
+			<<set _slave = GenerateNewSlave("XX", {minAge: 18, maxAge: 24})>>
+			<<set _slave.origin = "$He was an initiate in a religious community of women you enslaved.">>
+			<<set _slave.career = "a nun">>
+			<<set _slave.devotion = random(-90,-75)>>
+			<<set _slave.trust = -20>>
+			<<run setHealth(_slave, jsRandom(-10, 10), undefined, undefined, undefined, 20)>>
+			<<set _slave.anus = 0>>
+			<<set _slave.vagina = 0>>
+			<<set _slave.weight = random(-20,-100)>>
+			<<set _slave.attrXX = random(10,50)>>
+			<<set _slave.attrXY = random(10,50)>>
+			<<set _slave.energy = random(5,20)>>
+			<<set _slave.skill.vaginal = 0>>
+			<<set _slave.skill.oral = 15>>
+			<<set _slave.skill.anal = 0>>
+			<<set _slave.skill.whoring = 0>>
+			<<set _slave.skill.entertainment = 0>>
+			<<set _slave.pubicHStyle = "bushy">>
+			<<set _slave.behavioralFlaw = "devout">>
+			<<set _slave.sexualFlaw = "repressed">>
+			<<set _newSlaves.push(_slave)>>
+		<</for>>
+	<<elseif $eventResults.aidTarget === "school">>
+		<<set _slave = GenerateNewSlave("XX", {minAge: 26, maxAge: 42, disableDisability: 1})>>
+		<<set _slave.origin = "$He was the principal of a girls' school whose remnants you enslaved. A strap-on and a large quantity of personal lubricant were found in $his possession when $he was enslaved.">>
+		<<set _slave.intelligence = random(16,80)>>
+		<<set _slave.intelligenceImplant = 15>>
+		<<set _slave.teeth = "normal">>
+		<<set _slave.career = "a principal">>
+		<<set _slave.devotion = -20>>
+		<<set _slave.trust = random(-90,-75)>>
+		<<run setHealth(_slave, jsRandom(-10, 10), undefined, undefined, undefined, 0)>>
+		<<set _slave.anus = 1>>
+		<<set _slave.vagina = 1>>
+		<<set _slave.weight = random(20,80)>>
+		<<set _slave.attrXX = random(60,90)>>
+		<<set _slave.attrXY = random(10,50)>>
+		<<set _slave.energy = random(60,80)>>
+		<<set _slave.skill.vaginal = 15>>
+		<<set _slave.skill.oral = 15>>
+		<<set _slave.skill.anal = 15>>
+		<<set _slave.skill.whoring = 0>>
+		<<set _slave.skill.entertainment = 15>>
+		<<set _slave.pubicHStyle = "waxed">>
+		<<set _slave.fetish = "dom">>
+		<<set _slave.behavioralFlaw = either("arrogant", "bitchy", "hates men", "hates men", "liberated")>>
+		<<set _slave.sexualFlaw = "shamefast">>
+		<<set _newSlaves.push(_slave)>>
+		In any case, you've enslaved a fine group. The principal is on the older side, and seems to have paid unusually close attention to $his appearance, for the female principal of a girls' school. And for whatever reason, the school's uniform skirt seems to have been rather short in back.
+		<<for _i = 0; _i < 3; _i++>>
+			<<set _slave = GenerateNewSlave("XX", {maxAge: 18, disableDisability: 1})>>
+			<<set _slave.origin = "$He was a student at a girls' school whose remnants you enslaved.">>
+			<<set _slave.career = "a student">>
+			<<run generateSalonModifications(_slave)>>
+			<<set _slave.devotion = random(-90,-75)>>
+			<<set _slave.trust = -20>>
+			<<run setHealth(_slave, jsRandom(-10, 10), undefined, undefined, undefined, 10)>>
+			<<set _slave.anus = 1>>
+			<<set _slave.vagina = random(0, 0, 1)>>
+			<<set _slave.weight = random(-50,0)>>
+			<<set _slave.attrXX = 70>>
+			<<set _slave.attrXY = random(10,70)>>
+			<<set _slave.energy = random(50,70)>>
+			<<set _slave.skill.vaginal = 0>>
+			<<set _slave.skill.oral = 0>>
+			<<set _slave.skill.anal = 15>>
+			<<set _slave.skill.whoring = 0>>
+			<<set _slave.skill.entertainment = 0>>
+			<<set _slave.fetish = "buttslut">>
+			<<set _slave.behavioralFlaw = either("anorexic", "arrogant", "bitchy")>>
+			<<set _slave.sexualFlaw = either("hates anal", "idealistic", "shamefast")>>
+			<<set _newSlaves.push(_slave)>>
+		<</for>>
+	<<elseif $eventResults.aidTarget === "maternity">>
+		<<for _i = 0; _i < 4; _i++>>
+			<<set _pram = {mature: 0, disableDisability: 1, ageOverridesPedoMode: 1}>>
+			<<if $pedo_mode === 1>>
+				<<set _pram.minAge = $fertilityAge>>
+			<<else>>
+				<<set _pram.minAge = 20>>
+				<<set _pram.maxAge = 39>>
+			<</if>>
+			<<set _slave = GenerateNewSlave("XX", _pram)>>
+			<<set _slave.origin = "$He was an expectant mother you enslaved when you evacuated $him from a threatened old world hospital.">>
+			<<set _slave.career = "a housewife">>
+			<<set _slave.devotion = random(-90,-75)>>
+			<<set _slave.trust = -20>>
+			<<set _slave.preg = random(28,40)>>
+			<<set _slave.pregType = either(1, 1, 1, 1, 1, 1, 2)>>
+			<<set _slave.pregKnown = 1>>
+			<<set _slave.pregWeek = _slave.preg>>
+			<<run SetBellySize(_slave)>>
+			<<run setHealth(_slave, jsRandom(-10, 10), undefined, undefined, undefined, 50)>>
+			<<set _slave.vagina = random(1,3)>>
+			<<set _slave.boobs += 100*random(0,2)>>
+			<<set _slave.lactation = 1>>
+			<<set _slave.lactationDuration = 2>>
+			<<set _slave.nipples = either("cute", "inverted", "partially inverted", "puffy")>>
+			<<set _newSlaves.push(_slave)>>
+		<</for>>
+		In any case, you've enslaved a fine group. The expectant mothers vary widely; the only thing they have in common is their gravid bellies. None of them are in really serious condition, either, and they should bear the transition to slave life reasonably well despite their pregnancies.
+	<<elseif $eventResults.aidTarget === "gradeSchool">>
+		In any case, you've enslaved a fine group. The girls are all within a similar age range, young, and healthy. Their youth and vigor should make them quite popular.
+		<<for _i = 0; _i < 4; _i++>>
+			<<set _pram = {disableDisability: 1, ageOverridesPedoMode: 1}>>
+			<<if $minimumSlaveAge <= 7>>
+				<<set _pram.minAge = 7>>
+				<<set _pram.maxAge = 10>>
+			<<elseif $minimumSlaveAge <= 11>>
+				<<set _pram.minAge = 11>>
+				<<set _pram.maxAge = 14>>
+			<<elseif $minimumSlaveAge <= 15>>
+				<<set _pram.minAge = 15>>
+				<<set _pram.maxAge = 18>>
+			<<else>>
+				<<set _pram.minAge = 18>>
+				<<set _pram.maxAge = 18>>
+			<</if>>
+			<<set _slave = GenerateNewSlave(null, _pram)>>
+			<<set _slave.origin = "$He was a student you enslaved when you evacuated $him from a threatened old world grade school.">>
+			<<set _slave.career = "a student">>
+			<<run generateSalonModifications(_slave)>>
+			<<set _slave.devotion = random(-90,-75)>>
+			<<set _slave.trust = random(-90,-75)>>
+			<<run setHealth(_slave, jsRandom(-10, 10), undefined, undefined, 0, jsRandom(40, 70))>>
+			<<set _newSlaves.push(_slave)>>
+		<</for>>
+	<<elseif $eventResults.aidTarget === "conversion">>
+		In any case, you've enslaved a fine group. Certain religious groups persist in the hilarious delusion that it's possible to alter sexual orientation through prayer. In your experience, hormones, drugs, and compliance training are far more effective.
+		<<set _slave = GenerateNewSlave("XY", {disableDisability: 1, minAge: 26, maxAge: 42})>>
+		<<set _slave.origin = "$He was the owner of a religious orientation conversion therapy camp whose remnants you enslaved.">>
+		<<set _slave.career = "a business owner">>
+		<<set _slave.devotion = -20>>
+		<<set _slave.trust = random(-90,-75)>>
+		<<run setHealth(_slave, jsRandom(-10, 10), undefined, undefined, undefined, 0)>>
+		<<set _slave.anus = random(2,3)>>
+		<<set _slave.weight = random(20,80)>>
+		<<set _slave.attrXX = random(10,50)>>
+		<<set _slave.attrXY = 90>>
+		<<set _slave.energy = random(30,80)>>
+		<<set _slave.skill.oral = random(50,100)>>
+		<<set _slave.skill.anal = random(50,100)>>
+		<<set _slave.skill.whoring = 0>>
+		<<set _slave.skill.entertainment = random(15,40)>>
+		<<set _slave.pubicHStyle = "waxed">>
+		<<set _slave.fetish = either("submissive", "cumslut", "buttslut")>>
+		<<set _slave.fetishStrength = random(1,2)>>
+		<<set _slave.behavioralFlaw = either("arrogant", "bitchy", "hates women", "odd", "liberated")>>
+		<<set _slave.sexualFlaw = either("repressed", "shamefast")>>
+		<<set _newSlaves.push(_slave)>>
+		<<for _i = 0; _i < 3; _i++>>
+			<<set _slave = GenerateNewSlave("XY", {disableDisability: 1, minAge: 16, maxAge: 18})>>
+			<<set _slave.origin = "$He was an inmate at a religious orientation conversion therapy camp whose remnants you enslaved.">>
+			<<set _slave.career = "a student">>
+			<<set _slave.devotion = random(-90,-75)>>
+			<<set _slave.trust = -20>>
+			<<run setHealth(_slave, jsRandom(-10, 10), undefined, undefined, undefined, 20)>>
+			<<set _slave.anus = 1>>
+			<<set _slave.weight = random(-50,0)>>
+			<<set _slave.attrXX = random(10,50)>>
+			<<set _slave.attrXY = random(60,90)>>
+			<<set _slave.energy = random(30,70)>>
+			<<set _slave.skill.oral = random(15,40)>>
+			<<set _slave.skill.anal = random(15,40)>>
+			<<set _slave.skill.whoring = 0>>
+			<<set _slave.skill.entertainment = 0>>
+			<<set _slave.fetish = "buttslut">>
+			<<set _slave.behavioralFlaw = either("anorexic", "bitchy", "devout", "odd")>>
+			<<set _slave.sexualFlaw = either("apathetic", "repressed", "shamefast")>>
+			<<set _newSlaves.push(_slave)>>
+		<</for>>
+	<<elseif $eventResults.aidTarget === "volleyballTeam">>
+		In any case, you've enslaved a fine group. The girls are in fine health, fit and just past their majority, likely the reason any that stepped off the bus were promptly abducted. Their youth and vigor should make them quite popular, as will their experience with handling balls.
+		<<for _i = 0; _i < 4; _i++>>
+			<<set _slave = GenerateNewSlave("XX", {disableDisability: 1, ageOverridesPedoMode: 1, minAge: 18, maxAge: 18})>>
+			<<set _slave.height = Math.round(Height.random(_slave, {skew: 1, limitMult: [0, 2]}))>>
+			<<set _slave.origin = "$He was a volleyball player you enslaved when you evacuated $him from a broken down bus.">>
+			<<set _slave.career = "a student athlete">>
+			<<run generateSalonModifications(_slave)>>
+			<<set _slave.devotion = random(-90,-75)>>
+			<<set _slave.trust = random(-90,-75)>>
+			<<run setHealth(_slave, jsRandom(20, 60), 0, 0, undefined, 90)>>
+			<<set _slave.muscles = random(20,40)>>
+			<<set _slave.weight = random(-10,5)>>
+			<<set _slave.waist = random(-40,0)>>
+			<<set _slave.boobs = random(3,5)*100>>
+			<<set _slave.butt = random(1,2)>>
+			<<set _newSlaves.push(_slave)>>
+		<</for>>
+	<<elseif $eventResults.aidTarget === "seizedMission">>
+		/* leader */
+		<<set _pram = {mature: 0, disableDisability: 1, ageOverridesPedoMode: 1, race: "white"}>>
+		<<if $pedo_mode === 1>>
+			<<set _pram.minAge = 18>>
+			<<set _pram.maxAge = 24>>
+		<<else>>
+			<<set _pram.minAge = 25>>
+			<<set _pram.maxAge = 39>>
+		<</if>>
+		<<set _missLeader = GenerateNewSlave("XX", _pram)>>
+		<<set _missLeader.origin = "$He was the head nun of a conquered mission. Once claimed, $he was reduced to nothing more than a cum dump for $his black masters.">>
+		<<set _missLeader.career = "a nun">>
+		<<set _missLeader.intelligence = random(16,80)>>
+		<<set _missLeader.intelligenceImplant = 15>>
+		<<set _missLeader.devotion = 40>>
+		<<set _missLeader.trust = random(0,40)>>
+		<<run setHealth(_missLeader, jsRandom(-50, 10), normalRandInt(15, 3), undefined, undefined, 60)>>
+		<<set _missLeader.anus = 3>>
+		<<set _missLeader.vagina = 5>>
+		<<set _missLeader.weight = random(-80,-20)>>
+		<<set _missLeader.muscles = random(-20,0)>>
+		<<set _missLeader.waist = random(-40,0)>>
+		<<set _missLeader.attrXY = random(0,10)>>
+		<<set _missLeader.energy = random(0,20)>>
+		<<set _missLeader.skill.vaginal = 50>>
+		<<set _missLeader.skill.oral = 75>>
+		<<set _missLeader.skill.anal = 25>>
+		<<set _missLeader.pubicHStyle = "bushy">>
+		<<set _missLeader.underarmHStyle = "bushy">>
+		<<set _missLeader.preg = random(15,25)>>
+		<<set _missLeader.pregType = 1>>
+		<<set _missLeader.pregKnown = 1>>
+		<<set _missLeader.pregWeek = _missLeader.preg>>
+		<<run SetBellySize(_missLeader)>>
+		<<run WombFatherRace(_missLeader, "black")>>
+		<<set _missLeader.counter.birthsTotal = 3>>
+		<<set _missLeader.bellySag = 5>>
+		<<set _missLeader.bellySagPreg = 5>>
+		<<set _missLeader.boobs += 100*random(1,3)>>
+		<<set _missLeader.lactation = 1>>
+		<<set _missLeader.lactationDuration = 2>>
+		<<set _missLeader.boobShape = "saggy">>
+		<<set _missLeader.nipples = "huge">>
+		<<set _newSlaves.push(_missLeader)>>
+		
+		/* preggo */
+		<<set _pram = {disableDisability: 1, ageOverridesPedoMode: 1, race: "white"}>>
+		<<if $pedo_mode === 1>>
+			<<set _pram.minAge = 16>>
+			<<set _pram.maxAge = 18>>
+		<<else>>
+			<<set _pram.minAge = 18>>
+			<<set _pram.maxAge = 24>>
+		<</if>>
+		<<set _slave = GenerateNewSlave("XX", _pram)>>
+		<<set _slave.origin = "$He was a nun in a felled mission. Once claimed, $he was reduced to nothing more than a cum dump for $his black masters.">>
+		<<set _slave.career = "a nun">>
+		<<set _slave.intelligenceImplant = 15>>
+		<<set _slave.devotion = 30>>
+		<<set _slave.trust = random(-20,20)>>
+		<<run setHealth(_slave, jsRandom(-60, -10), normalRandInt(15, 3), undefined, undefined, 40)>>
+		<<set _slave.anus = 3>>
+		<<set _slave.vagina = 4>>
+		<<set _slave.weight = random(-90,-20)>>
+		<<set _slave.muscles = random(-50,-20)>>
+		<<set _slave.waist = random(-40,0)>>
+		<<set _slave.attrXY = random(0,10)>>
+		<<set _slave.energy = random(0,20)>>
+		<<set _slave.skill.vaginal = 50>>
+		<<set _slave.skill.oral = 75>>
+		<<set _slave.skill.anal = 25>>
+		<<set _slave.pubicHStyle = "bushy">>
+		<<set _slave.underarmHStyle = "bushy">>
+		<<set _slave.preg = random(30,35)>>
+		<<set _slave.pregType = 1>>
+		<<set _slave.pregKnown = 1>>
+		<<set _slave.pregWeek = _slave.preg>>
+		<<run SetBellySize(_slave)>>
+		<<run WombFatherRace(_slave, "black")>>
+		<<set _slave.counter.birthsTotal = 3>>
+		<<set _slave.bellySag = 5>>
+		<<set _slave.bellySagPreg = 5>>
+		<<set _slave.boobs += 100*random(0,2)>>
+		<<set _slave.lactation = 1>>
+		<<set _slave.lactationDuration = 2>>
+		<<set _slave.boobShape = "saggy">>
+		<<set _slave.nipples = either("cute", "puffy")>>
+		<<set _newSlaves.push(_slave)>>
 
-<<set $eventResults.aid = 0>>
-<<set $nationHate += 2>>
-You watch on the feeds from your VTOL craft as it settles <<if $eventResults.aidTarget == "volleyballTeam">>beside<<else>>onto the roof of<</if>> the
-<<if $eventResults.aidTarget == "convent">>
-	convent whose remaining women
-<<elseif $eventResults.aidTarget == "school">>
-	girls' school whose remaining students and principal
-<<elseif $eventResults.aidTarget == "housewives">>
-	mansion of the leader of the group of housewives
-<<elseif $eventResults.aidTarget == "maternity">>
-	maternity ward whose remaining patients
-<<elseif $eventResults.aidTarget == "conversion">>
-	religious sexual orientation therapy camp whose inmates and owner
-<<elseif $eventResults.aidTarget == "gradeSchool">>
-	school whose students
-<<elseif $eventResults.aidTarget == "volleyballTeam">>
-	bus whose athletes
-<<elseif $eventResults.aidTarget == "seizedMission">>
-	building the raped missionaries
-<</if>>
-you promised to rescue<<if $eventResults.aidTarget == "seizedMission">> were holed up in<</if>>. Its side doors retract, allowing the escapees to hustle aboard with their bundles of personal possessions. Once they're on board and strapped into their seats, the turbofans howl and the craft peels smoothly off the roof, the hot jet wash setting it alight. Once it transitions fully into level flight, the true plan goes into operation. At a carefully selected moment, injectors concealed within each seat lance into the passengers' buttocks, knocking them out. It works flawlessly, the drugs precisely calibrated to each body based on the weight added to the VTOL as each climbed aboard. This avoids the potential for over- or under-dosage present when using gas or darts to subdue groups. In perfect unison, the passengers slump against the harnesses holding them against the seats.
-<br><br>
-When the aircraft lands at your penthouse pad, the would-be escapees are still unconscious. This makes putting them through enslavement physically laborious, though it does cut down on the usual whining; fortunately, you reserved the credits necessary to obscure their questionably legitimate enslavement. By the time they awake, they'll be indistinguishable from any other new slave in the arcology. The possibility remains, however that rumor of the incident will leak out. Your VTOL bird's entry and exit from the capital city was likely noticed and remarked upon.
-<br><br>
-<<set _newSlaves = []>>
-<<if $eventResults.aidTarget == "convent">>
-	<<set $activeSlaveOneTimeMinAge = 30>>
-	<<set $activeSlaveOneTimeMaxAge = 42>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.origin = "$He was the head of a religious community of women you enslaved.">>
-	<<set $activeSlave.career = "a nun">>
-	<<set $activeSlave.devotion = -20>>
-	<<set $activeSlave.trust = random(-90,-75)>>
-	<<run setHealth($activeSlave, jsRandom(-10, 10), undefined, undefined, undefined, 0)>>
-	<<set $activeSlave.face = 15>>
-	<<set $activeSlave.anus = 0>>
-	<<set $activeSlave.vagina = 0>>
-	<<set $activeSlave.weight = random(20,140)>>
-	<<set $activeSlave.attrXX = random(60,90)>>
-	<<set $activeSlave.attrXY = random(10,50)>>
-	<<set $activeSlave.energy = random(60,80)>>
-	<<set $activeSlave.skill.vaginal = 0>>
-	<<set $activeSlave.skill.oral = 35>>
-	<<set $activeSlave.skill.anal = 0>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = 0>>
-	<<set $activeSlave.pubicHStyle = "bushy">>
-	<<set $activeSlave.fetish = "dom">>
-	<<set $activeSlave.behavioralFlaw = "devout">>
-	<<set $activeSlave.sexualFlaw = "repressed">>
-	<<set $activeSlave.sexualQuirk = "perverted">>
-	<<set _newSlaves.push($activeSlave)>>
-	In any case, you've enslaved a fine group. The leader is on the older side, but not unattractive. $His girls are younger, and probably have all sorts of delightful repressed tendencies to be manipulated.
-	<<for $i = 0; $i < 3; $i++>>
-		<<set $activeSlaveOneTimeMinAge = 18>>
-		<<set $activeSlaveOneTimeMaxAge = 24>>
-		<<set $activeSlave = GenerateNewSlave("XX")>>
-		<<set $activeSlave.origin = "$He was an initiate in a religious community of women you enslaved.">>
-		<<set $activeSlave.career = "a nun">>
-		<<set $activeSlave.devotion = random(-90,-75)>>
-		<<set $activeSlave.trust = -20>>
-		<<run setHealth($activeSlave, jsRandom(-10, 10), undefined, undefined, undefined, 20)>>
-		<<set $activeSlave.anus = 0>>
-		<<set $activeSlave.vagina = 0>>
-		<<set $activeSlave.weight = random(-20,-100)>>
-		<<set $activeSlave.attrXX = random(10,50)>>
-		<<set $activeSlave.attrXY = random(10,50)>>
-		<<set $activeSlave.energy = random(5,20)>>
-		<<set $activeSlave.skill.vaginal = 0>>
-		<<set $activeSlave.skill.oral = 15>>
-		<<set $activeSlave.skill.anal = 0>>
-		<<set $activeSlave.skill.whoring = 0>>
-		<<set $activeSlave.skill.entertainment = 0>>
-		<<set $activeSlave.pubicHStyle = "bushy">>
-		<<set $activeSlave.behavioralFlaw = "devout">>
-		<<set $activeSlave.sexualFlaw = "repressed">>
-		<<set _newSlaves.push($activeSlave)>>
-	<</for>>
-<<elseif $eventResults.aidTarget == "school">>
-	<<set $activeSlaveOneTimeMinAge = 26>>
-	<<set $activeSlaveOneTimeMaxAge = 42>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.origin = "$He was the principal of a girls' school whose remnants you enslaved. A strap-on and a large quantity of personal lubricant were found in $his possession when $he was enslaved.">>
-	<<set $activeSlave.intelligence = random(16,80)>>
-	<<set $activeSlave.intelligenceImplant = 15>>
-	<<set $activeSlave.teeth = "normal">>
-	<<set $activeSlave.career = "a principal">>
-	<<set $activeSlave.devotion = -20>>
-	<<set $activeSlave.trust = random(-90,-75)>>
-	<<run setHealth($activeSlave, jsRandom(-10, 10), undefined, undefined, undefined, 0)>>
-	<<set $activeSlave.anus = 1>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.weight = random(20,80)>>
-	<<set $activeSlave.attrXX = random(60,90)>>
-	<<set $activeSlave.attrXY = random(10,50)>>
-	<<set $activeSlave.energy = random(60,80)>>
-	<<set $activeSlave.skill.vaginal = 15>>
-	<<set $activeSlave.skill.oral = 15>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = 15>>
-	<<set $activeSlave.pubicHStyle = "waxed">>
-	<<set $activeSlave.fetish = "dom">>
-	<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy", "hates men", "hates men", "liberated")>>
-	<<set $activeSlave.sexualFlaw = "shamefast">>
-	<<set _newSlaves.push($activeSlave)>>
-	In any case, you've enslaved a fine group. The principal is on the older side, and seems to have paid unusually close attention to $his appearance, for the female principal of a girls' school. And for whatever reason, the school's uniform skirt seems to have been rather short in back.
-	<<for $i = 0; $i < 3; $i++>>
-		<<set $activeSlaveOneTimeMaxAge = 18>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XX")>>
-		<<set $activeSlave.origin = "$He was a student at a girls' school whose remnants you enslaved.">>
-		<<set $activeSlave.career = "a student">>
-		<<run generateSalonModifications($activeSlave)>>
-		<<set $activeSlave.devotion = random(-90,-75)>>
-		<<set $activeSlave.trust = -20>>
-		<<run setHealth($activeSlave, jsRandom(-10, 10), undefined, undefined, undefined, 10)>>
-		<<set $activeSlave.anus = 1>>
-		<<set $activeSlave.vagina = random(0, 0, 1)>>
-		<<set $activeSlave.weight = random(-50,0)>>
-		<<set $activeSlave.attrXX = 70>>
-		<<set $activeSlave.attrXY = random(10,70)>>
-		<<set $activeSlave.energy = random(50,70)>>
-		<<set $activeSlave.skill.vaginal = 0>>
-		<<set $activeSlave.skill.oral = 0>>
-		<<set $activeSlave.skill.anal = 15>>
-		<<set $activeSlave.skill.whoring = 0>>
-		<<set $activeSlave.skill.entertainment = 0>>
-		<<set $activeSlave.fetish = "buttslut">>
-		<<set $activeSlave.behavioralFlaw = either("anorexic", "arrogant", "bitchy")>>
-		<<set $activeSlave.sexualFlaw = either("hates anal", "idealistic", "shamefast")>>
-		<<set _newSlaves.push($activeSlave)>>
-	<</for>>
-<<elseif $eventResults.aidTarget == "maternity">>
-	<<for $i = 0; $i < 4; $i++>>
-		<<if $pedo_mode == 1>>
-			<<set $activeSlaveOneTimeMinAge = $fertilityAge>>
+		/* post preggo */
+		<<set _pram = {disableDisability: 1, ageOverridesPedoMode: 1, race: "white"}>>
+		<<if $pedo_mode === 1>>
+			<<set _pram.minAge = 16>>
+			<<set _pram.maxAge = 18>>
 		<<else>>
-			<<set $activeSlaveOneTimeMinAge = 20>>
-			<<set $activeSlaveOneTimeMaxAge = 39>>
+			<<set _pram.minAge = 19>>
+			<<set _pram.maxAge = 22>>
 		<</if>>
-		<<set $one_time_age_overrides_pedo_mode = 1>> /% Old enough to be pregnant. %/
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XX", {mature: 0})>>
-		<<set $activeSlave.origin = "$He was an expectant mother you enslaved when you evacuated $him from a threatened old world hospital.">>
-		<<set $activeSlave.career = "a housewife">>
-		<<set $activeSlave.devotion = random(-90,-75)>>
-		<<set $activeSlave.trust = -20>>
-		<<set $activeSlave.preg = random(28,40)>>
-		<<set $activeSlave.pregType = either(1, 1, 1, 1, 1, 1, 2)>>
-		<<set $activeSlave.pregKnown = 1>>
-		<<set $activeSlave.pregWeek = $activeSlave.preg>>
-		<<run SetBellySize($activeSlave)>>
-		<<run setHealth($activeSlave, jsRandom(-10, 10), undefined, undefined, undefined, 50)>>
-		<<set $activeSlave.vagina = random(1,3)>>
-		<<set $activeSlave.boobs += 100*random(0,2)>>
-		<<set $activeSlave.lactation = 1>>
-		<<set $activeSlave.lactationDuration = 2>>
-		<<set $activeSlave.nipples = either("cute", "inverted", "partially inverted", "puffy")>>
-		<<set _newSlaves.push($activeSlave)>>
-	<</for>>
-	In any case, you've enslaved a fine group. The expectant mothers vary widely; the only thing they have in common is their gravid bellies. None of them are in really serious condition, either, and they should bear the transition to slave life reasonably well despite their pregnancies.
-<<elseif $eventResults.aidTarget == "gradeSchool">>
-	In any case, you've enslaved a fine group. The girls are all within a similar age range, young, and healthy. Their youth and vigor should make them quite popular.
-	<<for $i = 0; $i < 4; $i++>>
-		<<if $minimumSlaveAge <= 7>>
-			<<set $activeSlaveOneTimeMinAge = 7>>
-			<<set $activeSlaveOneTimeMaxAge = 10>>
-		<<elseif $minimumSlaveAge <= 11>>
-			<<set $activeSlaveOneTimeMinAge = 11>>
-			<<set $activeSlaveOneTimeMaxAge = 14>>
-		<<elseif $minimumSlaveAge <= 15>>
-			<<set $activeSlaveOneTimeMinAge = 15>>
-			<<set $activeSlaveOneTimeMaxAge = 18>>
+		<<set _slave = GenerateNewSlave("XX", _pram)>>
+		<<set _slave.origin = "$He was a nun in a felled mission. Once claimed, $he was reduced to nothing more than a cum dump for $his black masters.">>
+		<<set _slave.career = "a nun">>
+		<<set _slave.devotion = 50>>
+		<<set _slave.trust = random(0,50)>>
+		<<run setHealth(_slave, jsRandom(-90, -50), normalRandInt(15, 3), undefined, undefined, 80)>>
+		<<set _slave.anus = 3>>
+		<<set _slave.vagina = 5>>
+		<<set _slave.weight = random(-90,-60)>>
+		<<set _slave.muscles = random(-70,-20)>>
+		<<set _slave.waist = random(-10,0)>>
+		<<set _slave.attrXY = random(0,10)>>
+		<<set _slave.energy = random(0,20)>>
+		<<set _slave.skill.vaginal = 50>>
+		<<set _slave.skill.oral = 75>>
+		<<set _slave.skill.anal = 25>>
+		<<set _slave.pubicHStyle = "bushy">>
+		<<set _slave.underarmHStyle = "bushy">>
+		<<set _slave.preg = 0>>
+		<<set _slave.pregWeek = -3>>
+		<<set _slave.counter.birthsTotal = 2>>
+		<<set _slave.bellySag = 5>>
+		<<set _slave.bellySagPreg = 5>>
+		<<set _slave.boobs += 100*random(1,3)>>
+		<<set _slave.lactation = 1>>
+		<<set _slave.lactationDuration = 1>>
+		<<set _slave.boobsMilk = 200>>
+		<<set _slave.boobs += _slave.boobsMilk>>
+		<<set _slave.boobShape = "saggy">>
+		<<set _slave.nipples = either("cute", "puffy")>>
+		<<set _newSlaves.push(_slave)>>
+		
+		/* young preggo*/
+		<<set _pram = {disableDisability: 1, ageOverridesPedoMode: 1, race: "white"}>>
+		<<if $minimumSlaveAge < $fertilityAge>>
+			<<if $minimumSlaveAge < 8>>
+				<<set _pram.minAge = 8>>
+				<<set _pram.maxAge = 8>>
+			<<else>>
+				<<set _pram.minAge = $fertilityAge>>
+				<<set _pram.maxAge = $fertilityAge>>
+			<</if>>
 		<<else>>
-			<<set $activeSlaveOneTimeMinAge = 18>>
-			<<set $activeSlaveOneTimeMaxAge = 18>>
+			<<if $fertilityAge < 8>>
+				<<set _pram.minAge = 8>>
+				<<set _pram.maxAge = 8>>
+			<<else>>
+				<<set _pram.minAge = $minimumSlaveAge>>
+				<<set _pram.maxAge = $minimumSlaveAge>>
+			<</if>>
 		<</if>>
-		<<set $one_time_age_overrides_pedo_mode = 1>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave()>>
-		<<set $activeSlave.origin = "$He was a student you enslaved when you evacuated $him from a threatened old world grade school.">>
-		<<set $activeSlave.career = "a student">>
-		<<run generateSalonModifications($activeSlave)>>
-		<<set $activeSlave.devotion = random(-90,-75)>>
-		<<set $activeSlave.trust = random(-90,-75)>>
-		<<run setHealth($activeSlave, jsRandom(-10, 10), undefined, undefined, 0, jsRandom(40, 70))>>
-		<<set _newSlaves.push($activeSlave)>>
-	<</for>>
-<<elseif $eventResults.aidTarget == "conversion">>
-	In any case, you've enslaved a fine group. Certain religious groups persist in the hilarious delusion that it's possible to alter sexual orientation through prayer. In your experience, hormones, drugs, and compliance training are far more effective.
-	<<set $activeSlaveOneTimeMinAge = 26>>
-	<<set $activeSlaveOneTimeMaxAge = 42>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XY")>>
-	<<set $activeSlave.origin = "$He was the owner of a religious orientation conversion therapy camp whose remnants you enslaved.">>
-	<<set $activeSlave.career = "a business owner">>
-	<<set $activeSlave.devotion = -20>>
-	<<set $activeSlave.trust = random(-90,-75)>>
-	<<run setHealth($activeSlave, jsRandom(-10, 10), undefined, undefined, undefined, 0)>>
-	<<set $activeSlave.anus = random(2,3)>>
-	<<set $activeSlave.weight = random(20,80)>>
-	<<set $activeSlave.attrXX = random(10,50)>>
-	<<set $activeSlave.attrXY = 90>>
-	<<set $activeSlave.energy = random(30,80)>>
-	<<set $activeSlave.skill.oral = random(50,100)>>
-	<<set $activeSlave.skill.anal = random(50,100)>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = random(15,40)>>
-	<<set $activeSlave.pubicHStyle = "waxed">>
-	<<set $activeSlave.fetish = either("submissive", "cumslut", "buttslut")>>
-	<<set $activeSlave.fetishStrength = random(1,2)>>
-	<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy", "hates women", "odd", "liberated")>>
-	<<set $activeSlave.sexualFlaw = either("repressed", "shamefast")>>
-	<<set _newSlaves.push($activeSlave)>>
-	<<for $i = 0; $i < 3; $i++>>
-		<<set $activeSlaveOneTimeMinAge = 16>>
-		<<set $activeSlaveOneTimeMaxAge = 18>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XY")>>
-		<<set $activeSlave.origin = "$He was an inmate at a religious orientation conversion therapy camp whose remnants you enslaved.">>
-		<<set $activeSlave.career = "a student">>
-		<<set $activeSlave.devotion = random(-90,-75)>>
-		<<set $activeSlave.trust = -20>>
-		<<run setHealth($activeSlave, jsRandom(-10, 10), undefined, undefined, undefined, 20)>>
-		<<set $activeSlave.anus = 1>>
-		<<set $activeSlave.weight = random(-50,0)>>
-		<<set $activeSlave.attrXX = random(10,50)>>
-		<<set $activeSlave.attrXY = random(60,90)>>
-		<<set $activeSlave.energy = random(30,70)>>
-		<<set $activeSlave.skill.oral = random(15,40)>>
-		<<set $activeSlave.skill.anal = random(15,40)>>
-		<<set $activeSlave.skill.whoring = 0>>
-		<<set $activeSlave.skill.entertainment = 0>>
-		<<set $activeSlave.fetish = "buttslut">>
-		<<set $activeSlave.behavioralFlaw = either("anorexic", "bitchy", "devout", "odd")>>
-		<<set $activeSlave.sexualFlaw = either("apathetic", "repressed", "shamefast")>>
-		<<set _newSlaves.push($activeSlave)>>
-	<</for>>
-<<elseif $eventResults.aidTarget == "volleyballTeam">>
-	In any case, you've enslaved a fine group. The girls are in fine health, fit and just past their majority, likely the reason any that stepped off the bus were promptly abducted. Their youth and vigor should make them quite popular, as will their experience with handling balls.
-	<<for $i = 0; $i < 4; $i++>>
-		<<set $activeSlaveOneTimeMinAge = 18>>
-		<<set $activeSlaveOneTimeMaxAge = 18>>
-		<<set $one_time_age_overrides_pedo_mode = 1>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XX")>>
-		<<set $activeSlave.height = Math.round(Height.random($activeSlave, {skew: 1, limitMult: [0, 2]}))>>
-		<<set $activeSlave.origin = "$He was a volleyball player you enslaved when you evacuated $him from a broken down bus.">>
-		<<set $activeSlave.career = "a student athlete">>
-		<<run generateSalonModifications($activeSlave)>>
-		<<set $activeSlave.devotion = random(-90,-75)>>
-		<<set $activeSlave.trust = random(-90,-75)>>
-		<<run setHealth($activeSlave, jsRandom(20, 60), 0, 0, undefined, 90)>>
-		<<set $activeSlave.muscles = random(20,40)>>
-		<<set $activeSlave.weight = random(-10,5)>>
-		<<set $activeSlave.waist = random(-40,0)>>
-		<<set $activeSlave.boobs = random(3,5)*100>>
-		<<set $activeSlave.butt = random(1,2)>>
-		<<set _newSlaves.push($activeSlave)>>
-	<</for>>
-<<elseif $eventResults.aidTarget == "seizedMission">>
-	/* leader */
-	<<if $pedo_mode == 1>>
-		<<set $activeSlaveOneTimeMinAge = 18>>
-		<<set $activeSlaveOneTimeMaxAge = 24>>
-	<<else>>
-		<<set $activeSlaveOneTimeMinAge = 25>>
-		<<set $activeSlaveOneTimeMaxAge = 39>>
-	<</if>>
-	<<set $one_time_age_overrides_pedo_mode = 1>> /% Old enough to be pregnant. %/
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $fixedRace = "white">>
-	<<set _missLeader = GenerateNewSlave("XX", {mature: 0})>>
-	<<set _missLeader.origin = "$He was the head nun of a conquered mission. Once claimed, $he was reduced to nothing more than a cum dump for $his black masters.">>
-	<<set _missLeader.career = "a nun">>
-	<<set _missLeader.intelligence = random(16,80)>>
-	<<set _missLeader.intelligenceImplant = 15>>
-	<<set _missLeader.devotion = 40>>
-	<<set _missLeader.trust = random(0,40)>>
-	<<run setHealth(_missLeader, jsRandom(-50, 10), normalRandInt(15, 3), undefined, undefined, 60)>>
-	<<set _missLeader.anus = 3>>
-	<<set _missLeader.vagina = 5>>
-	<<set _missLeader.weight = random(-80,-20)>>
-	<<set _missLeader.muscles = random(-20,0)>>
-	<<set _missLeader.waist = random(-40,0)>>
-	<<set _missLeader.attrXY = random(0,10)>>
-	<<set _missLeader.energy = random(0,20)>>
-	<<set _missLeader.skill.vaginal = 50>>
-	<<set _missLeader.skill.oral = 75>>
-	<<set _missLeader.skill.anal = 25>>
-	<<set _missLeader.pubicHStyle = "bushy">>
-	<<set _missLeader.underarmHStyle = "bushy">>
-	<<set _missLeader.preg = random(15,25)>>
-	<<set _missLeader.pregType = 1>>
-	<<set _missLeader.pregKnown = 1>>
-	<<set _missLeader.pregWeek = _missLeader.preg>>
-	<<run SetBellySize(_missLeader)>>
-	<<run WombFatherRace(_missLeader, "black")>>
-	<<set _missLeader.counter.birthsTotal = 3>>
-	<<set _missLeader.bellySag = 5>>
-	<<set _missLeader.bellySagPreg = 5>>
-	<<set _missLeader.boobs += 100*random(1,3)>>
-	<<set _missLeader.lactation = 1>>
-	<<set _missLeader.lactationDuration = 2>>
-	<<set _missLeader.boobShape = "saggy">>
-	<<set _missLeader.nipples = "huge">>
-	<<set _newSlaves.push(_missLeader)>>
-	/* preggo */
-	<<if $pedo_mode == 1>>
-		<<set $activeSlaveOneTimeMinAge = 16>>
-		<<set $activeSlaveOneTimeMaxAge = 18>>
-	<<else>>
-		<<set $activeSlaveOneTimeMinAge = 18>>
-		<<set $activeSlaveOneTimeMaxAge = 24>>
-	<</if>>
-	<<set $one_time_age_overrides_pedo_mode = 1>> /% Old enough to be pregnant. %/
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $fixedRace = "white">>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.origin = "$He was a nun in a felled mission. Once claimed, $he was reduced to nothing more than a cum dump for $his black masters.">>
-	<<set $activeSlave.career = "a nun">>
-	<<set $activeSlave.intelligenceImplant = 15>>
-	<<set $activeSlave.devotion = 30>>
-	<<set $activeSlave.trust = random(-20,20)>>
-	<<run setHealth($activeSlave, jsRandom(-60, -10), normalRandInt(15, 3), undefined, undefined, 40)>>
-	<<set $activeSlave.anus = 3>>
-	<<set $activeSlave.vagina = 4>>
-	<<set $activeSlave.weight = random(-90,-20)>>
-	<<set $activeSlave.muscles = random(-50,-20)>>
-	<<set $activeSlave.waist = random(-40,0)>>
-	<<set $activeSlave.attrXY = random(0,10)>>
-	<<set $activeSlave.energy = random(0,20)>>
-	<<set $activeSlave.skill.vaginal = 50>>
-	<<set $activeSlave.skill.oral = 75>>
-	<<set $activeSlave.skill.anal = 25>>
-	<<set $activeSlave.pubicHStyle = "bushy">>
-	<<set $activeSlave.underarmHStyle = "bushy">>
-	<<set $activeSlave.preg = random(30,35)>>
-	<<set $activeSlave.pregType = 1>>
-	<<set $activeSlave.pregKnown = 1>>
-	<<set $activeSlave.pregWeek = $activeSlave.preg>>
-	<<run SetBellySize($activeSlave)>>
-	<<run WombFatherRace($activeSlave, "black")>>
-	<<set $activeSlave.counter.birthsTotal = 3>>
-	<<set $activeSlave.bellySag = 5>>
-	<<set $activeSlave.bellySagPreg = 5>>
-	<<set $activeSlave.boobs += 100*random(0,2)>>
-	<<set $activeSlave.lactation = 1>>
-	<<set $activeSlave.lactationDuration = 2>>
-	<<set $activeSlave.boobShape = "saggy">>
-	<<set $activeSlave.nipples = either("cute", "puffy")>>
-	<<set _newSlaves.push($activeSlave)>>
-	/* post preggo */
-	<<if $pedo_mode == 1>>
-		<<set $activeSlaveOneTimeMinAge = 16>>
-		<<set $activeSlaveOneTimeMaxAge = 18>>
-	<<else>>
-		<<set $activeSlaveOneTimeMinAge = 19>>
-		<<set $activeSlaveOneTimeMaxAge = 22>>
-	<</if>>
-	<<set $one_time_age_overrides_pedo_mode = 1>> /% Old enough to be pregnant. %/
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $fixedRace = "white">>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.origin = "$He was a nun in a felled mission. Once claimed, $he was reduced to nothing more than a cum dump for $his black masters.">>
-	<<set $activeSlave.career = "a nun">>
-	<<set $activeSlave.devotion = 50>>
-	<<set $activeSlave.trust = random(0,50)>>
-	<<run setHealth($activeSlave, jsRandom(-90, -50), normalRandInt(15, 3), undefined, undefined, 80)>>
-	<<set $activeSlave.anus = 3>>
-	<<set $activeSlave.vagina = 5>>
-	<<set $activeSlave.weight = random(-90,-60)>>
-	<<set $activeSlave.muscles = random(-70,-20)>>
-	<<set $activeSlave.waist = random(-10,0)>>
-	<<set $activeSlave.attrXY = random(0,10)>>
-	<<set $activeSlave.energy = random(0,20)>>
-	<<set $activeSlave.skill.vaginal = 50>>
-	<<set $activeSlave.skill.oral = 75>>
-	<<set $activeSlave.skill.anal = 25>>
-	<<set $activeSlave.pubicHStyle = "bushy">>
-	<<set $activeSlave.underarmHStyle = "bushy">>
-	<<set $activeSlave.preg = 0>>
-	<<set $activeSlave.pregWeek = -3>>
-	<<set $activeSlave.counter.birthsTotal = 2>>
-	<<set $activeSlave.bellySag = 5>>
-	<<set $activeSlave.bellySagPreg = 5>>
-	<<set $activeSlave.boobs += 100*random(1,3)>>
-	<<set $activeSlave.lactation = 1>>
-	<<set $activeSlave.lactationDuration = 1>>
-	<<set $activeSlave.boobsMilk = 200>>
-	<<set $activeSlave.boobs += $activeSlave.boobsMilk>>
-	<<set $activeSlave.boobShape = "saggy">>
-	<<set $activeSlave.nipples = either("cute", "puffy")>>
-	<<set _newSlaves.push($activeSlave)>>
-	/* young preggo*/
-	<<if $minimumSlaveAge < $fertilityAge>>
-		<<if $minimumSlaveAge < 8>>
-			<<set $activeSlaveOneTimeMinAge = 8>>
-			<<set $activeSlaveOneTimeMaxAge = 8>>
+		<<set _missLoli = GenerateNewSlave("XX", _pram)>>
+		<<set _missLoli.origin = "$He was a fucktoy held in a felled mission. $He was nothing more than a cum dump to $his black masters.">>
+		<<set _missLoli.career = "an orphan">>
+		<<set _missLoli.devotion = -20>>
+		<<set _missLoli.trust = random(-100,-80)>>
+		<<run setHealth(_missLoli, jsRandom(-90, -70), normalRandInt(25, 3), undefined, undefined, 100)>>
+		<<set _missLoli.anus = 3>>
+		<<set _missLoli.vagina = 5>>
+		<<set _missLoli.pubertyXX = 1>>
+		<<set _missLoli.weight = random(-100,-60)>>
+		<<set _missLoli.muscles = random(-100,-80)>>
+		<<set _missLoli.waist = random(-40,-10)>>
+		<<set _missLoli.attrXY = random(0,10)>>
+		<<set _missLoli.energy = random(0,20)>>
+		<<set _missLoli.skill.vaginal = 75>>
+		<<set _missLoli.skill.oral = 75>>
+		<<set _missLoli.skill.anal = 50>>
+		<<set _missLoli.pubicHStyle = "bushy">>
+		<<set _missLoli.underarmHStyle = "bushy">>
+		<<set _missLoli.preg = 40>>
+		<<set _missLoli.pregType = 1>>
+		<<set _missLoli.pregKnown = 1>>
+		<<set _missLoli.pregWeek = _missLoli.preg>>
+		<<run SetBellySize(_missLoli)>>
+		<<run WombFatherRace(_missLoli, "black")>>
+		<<set _missLoli.counter.birthsTotal = 0>>
+		<<set _missLoli.bellySag = 5>>
+		<<set _missLoli.bellySagPreg = 5>>
+		<<if _missLoli.boobs < 300>>
+			<<set _missLoli.boobs = 400>>
 		<<else>>
-			<<set $activeSlaveOneTimeMinAge = $fertilityAge>>
-			<<set $activeSlaveOneTimeMaxAge = $fertilityAge>>
+			<<set _missLoli.boobs += 100>>
 		<</if>>
-	<<else>>
-		<<if $fertilityAge < 8>>
-			<<set $activeSlaveOneTimeMinAge = 8>>
-			<<set $activeSlaveOneTimeMaxAge = 8>>
+		<<set _missLoli.lactation = 1>>
+		<<set _missLoli.lactationDuration = 2>>
+		<<set _missLoli.boobShape = either("perky", "torpedo-shaped")>>
+		<<set _missLoli.nipples = either("cute", "puffy")>>
+		<<set _newSlaves.push(_missLoli)>>
+		<<setLocalPronouns _missLeader>>
+		<<setLocalPronouns _missLoli 2>>
+		In any case, you've enslaved a fine group. The women will clean up nicely and are already accustomed to being raped and abused, so they should bear the transition to slave life reasonably well. The leader is a little older than the rest and clearly has been pregnant several times given the sag to $his breasts and the stretch marks coating $his swollen belly; it's clear $he has a rape baby growing inside $him. The next two are younger, but no better off; one is hugely pregnant and the other shows signs of a recent birth. The last, however, is the most eye-catching;
+		<<if $minimumSlaveAge < 8 && $fertilityAge < 8>>
+			_he2 is just a little _girl2 and a massively pregnant one at that. The leader was right to worry about _his2 well-being, there is no way _he2 would survive giving birth.
+		<<elseif $fertilityAge < 18 && $minimumSlaveAge < 18>>
+			_he2 is in no way prepared to be as pregnant as _he2 is. The leader was right to worry about _his2 well-being, birth is going to be a struggle for _him2.
 		<<else>>
-			<<set $activeSlaveOneTimeMinAge = $minimumSlaveAge>>
-			<<set $activeSlaveOneTimeMaxAge = $minimumSlaveAge>>
+			_his2 stomach has already dropped and _he2 clearly has no experience with pregnancy. The leader was right to worry about _his2 well-being, _his2 body is ill-suited for childbirth.
 		<</if>>
-	<</if>>
-	<<set $one_time_age_overrides_pedo_mode = 1>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $fixedRace = "white">>
-	<<set _missLoli = GenerateNewSlave("XX")>>
-	<<set _missLoli.origin = "$He was a fucktoy held in a felled mission. $He was nothing more than a cum dump to $his black masters.">>
-	<<set _missLoli.career = "an orphan">>
-	<<set _missLoli.devotion = -20>>
-	<<set _missLoli.trust = random(-100,-80)>>
-	<<run setHealth(_missLoli, jsRandom(-90, -70), normalRandInt(25, 3), undefined, undefined, 100)>>
-	<<set _missLoli.anus = 3>>
-	<<set _missLoli.vagina = 5>>
-	<<set _missLoli.pubertyXX = 1>>
-	<<set _missLoli.weight = random(-100,-60)>>
-	<<set _missLoli.muscles = random(-100,-80)>>
-	<<set _missLoli.waist = random(-40,-10)>>
-	<<set _missLoli.attrXY = random(0,10)>>
-	<<set _missLoli.energy = random(0,20)>>
-	<<set _missLoli.skill.vaginal = 75>>
-	<<set _missLoli.skill.oral = 75>>
-	<<set _missLoli.skill.anal = 50>>
-	<<set _missLoli.pubicHStyle = "bushy">>
-	<<set _missLoli.underarmHStyle = "bushy">>
-	<<set _missLoli.preg = 40>>
-	<<set _missLoli.pregType = 1>>
-	<<set _missLoli.pregKnown = 1>>
-	<<set _missLoli.pregWeek = _missLoli.preg>>
-	<<run SetBellySize(_missLoli)>>
-	<<run WombFatherRace(_missLoli, "black")>>
-	<<set _missLoli.counter.birthsTotal = 0>>
-	<<set _missLoli.bellySag = 5>>
-	<<set _missLoli.bellySagPreg = 5>>
-	<<if _missLoli.boobs < 300>>
-		<<set _missLoli.boobs = 400>>
 	<<else>>
-		<<set _missLoli.boobs += 100>>
+		In any case, you've enslaved a fine group. The women seem to have banded together when they were left to fend for themselves in their suburban neighborhood. They're older than many slaves, but they seem to have had rich husbands; they're conventionally pretty, and have lived soft lives that have left them healthy.
+		<<for _i = 0; _i < 4; _i++>>
+			<<set _slave = GenerateNewSlave("XX", {disableDisability: 1, minAge: 26, maxAge: 42})>>
+			<<set _slave.origin = "$He was a wealthy housewife who you enslaved as $he fled societal collapse.">>
+			<<set _slave.career = "a housewife">>
+			<<set _slave.devotion = -20>>
+			<<set _slave.trust = random(-10,10)>>
+			<<run setHealth(_slave, jsRandom(30, 50), 0, 0, 0)>>
+			<<set _slave.anus = 1>>
+			<<set _slave.vagina = random(1,2)>>
+			<<set _slave.weight = random(-20,20)>>
+			<<set _slave.boobs += 100*random(0,3)>>
+			<<set _slave.butt += random(0,2)>>
+			<<set _slave.attrXX = random(10,50)>>
+			<<set _slave.attrXY = random(60,90)>>
+			<<set _slave.energy = random(20,80)>>
+			<<set _slave.skill.vaginal = 15>>
+			<<set _slave.skill.oral = 15>>
+			<<set _slave.skill.anal = 0>>
+			<<set _slave.skill.whoring = 0>>
+			<<set _slave.skill.entertainment = 15>>
+			<<set _slave.behavioralFlaw = either("anorexic", "arrogant", "bitchy", "liberated")>>
+			<<set _slave.sexualFlaw = either("apathetic", "hates anal", "hates oral", "idealistic", "shamefast")>>
+			<<set _newSlaves.push(_slave)>>
+		<</for>>
 	<</if>>
-	<<set _missLoli.lactation = 1>>
-	<<set _missLoli.lactationDuration = 2>>
-	<<set _missLoli.boobShape = either("perky", "torpedo-shaped")>>
-	<<set _missLoli.nipples = either("cute", "puffy")>>
-	<<set _newSlaves.push(_missLoli)>>
-	<<setLocalPronouns _missLeader>>
-	<<setLocalPronouns _missLoli 2>>
-	In any case, you've enslaved a fine group. The women will clean up nicely and are already accustomed to being raped and abused, so they should bear the transition to slave life reasonably well. The leader is a little older than the rest and clearly has been pregnant several times given the sag to $his breasts and the stretch marks coating $his swollen belly; it's clear $he has a rape baby growing inside $him. The next two are younger, but no better off; one is hugely pregnant and the other shows signs of a recent birth. The last, however, is the most eye-catching;
-	<<if $minimumSlaveAge < 8 && $fertilityAge < 8>>
-		_he2 is just a little _girl2 and a massively pregnant one at that. The leader was right to worry about _his2 well-being, there is no way _he2 would survive giving birth.
-	<<elseif $fertilityAge < 18 && $minimumSlaveAge < 18>>
-		_he2 is in no way prepared to be as pregnant as _he2 is. The leader was right to worry about _his2 well-being, birth is going to be a struggle for _him2.
+<<case "arcology naming">>
+	As a society free of the encumbrance of governmental oversight, the arcologies of the Free Cities are places where societal evolution and corporate expansion can occur rapidly.
+	Even so, the incredible speed with which the arcology has improved under your tenure as compared to that of your predecessor, after you obtained ownership through
+	<<if $PC.rumor === "wealth">>
+		a leveraged buyout,
+	<<elseif $PC.rumor === "diligence">>
+		hard work and competence,
+	<<elseif $PC.rumor === "force">>
+		some episodes of violence,
+	<<elseif $PC.rumor === "social engineering">>
+		the creative use of psychology,
+	<<elseif $PC.rumor === "luck">>
+		an incredible opportunity,
+	<</if>>
+	is nothing short of astonishing. Other arcologies have taken many years to develop along anything but strictly conservative lines, and you are not the only arcology owner with a background
+	<<if $PC.career === "wealth" || $PC.career === "trust fund" || $PC.career === "rich kid">>
+		of substantial wealth.
+	<<elseif $PC.career === "capitalist" || $PC.career === "entrepreneur" || $PC.career === "business kid">>
+		in business.
+	<<elseif $PC.career === "mercenary">>
+		in the world of private contracting.
+	<<elseif $PC.career === "recruit" || $PC.career === "child soldier">>
+		in the military.
+	<<elseif $PC.career === "slaver">>
+		as a slavebreaker.
+	<<elseif $PC.career === "slave overseer">>
+		as a slave trainer.
+	<<elseif $PC.career === "slave tender">>
+		as a slave tamer.
+	<<elseif $PC.career === "engineer">>
+		in arcology engineering.
+	<<elseif $PC.career === "construction" || $PC.career === "worksite helper">>
+		in construction.
+	<<elseif $PC.career === "medicine" || $PC.career === "medical assistant">>
+		in medicine and surgery.
+	<<elseif $PC.career === "nurse">>
+		in medicine.
+	<<elseif $PC.career === "celebrity" || $PC.career === "rising star" || $PC.career === "child star">>
+		in the public sphere.
+	<<elseif $PC.career === "escort" || $PC.career === "prostitute" || $PC.career === "child prostitute">>
+		involving many personal contacts.
+	<<elseif $PC.career === "servant" || $PC.career === "handmaiden" || $PC.career === "child servant">>
+		involving the rich and powerful.
+	<<elseif $PC.career === "gang" || $PC.career === "hoodlum" || $PC.career === "street urchin">>
+		involving gangs.
+	<<elseif $PC.career === "BlackHat" || $PC.career === "hacker" || $PC.career === "script kiddy">>
+		involving mysterious data breaches.
 	<<else>>
-		_his2 stomach has already dropped and _he2 clearly has no experience with pregnancy. The leader was right to worry about _his2 well-being, _his2 body is ill-suited for childbirth.
+		in the Free Cities.
 	<</if>>
-<<else>>
-	In any case, you've enslaved a fine group. The women seem to have banded together when they were left to fend for themselves in their suburban neighborhood. They're older than many slaves, but they seem to have had rich husbands; they're conventionally pretty, and have lived soft lives that have left them healthy.
-	<<for $i = 0; $i < 4; $i++>>
-		<<set $activeSlaveOneTimeMinAge = 26>>
-		<<set $activeSlaveOneTimeMaxAge = 42>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XX")>>
-		<<set $activeSlave.origin = "$He was a wealthy housewife who you enslaved as $he fled societal collapse.">>
-		<<set $activeSlave.career = "a housewife">>
-		<<set $activeSlave.devotion = -20>>
-		<<set $activeSlave.trust = random(-10,10)>>
-		<<run setHealth($activeSlave, jsRandom(30, 50), 0, 0, 0)>>
-		<<set $activeSlave.anus = 1>>
-		<<set $activeSlave.vagina = random(1,2)>>
-		<<set $activeSlave.weight = random(-20,20)>>
-		<<set $activeSlave.boobs += 100*random(0,3)>>
-		<<set $activeSlave.butt += random(0,2)>>
-		<<set $activeSlave.attrXX = random(10,50)>>
-		<<set $activeSlave.attrXY = random(60,90)>>
-		<<set $activeSlave.energy = random(20,80)>>
-		<<set $activeSlave.skill.vaginal = 15>>
-		<<set $activeSlave.skill.oral = 15>>
-		<<set $activeSlave.skill.anal = 0>>
-		<<set $activeSlave.skill.whoring = 0>>
-		<<set $activeSlave.skill.entertainment = 15>>
-		<<set $activeSlave.behavioralFlaw = either("anorexic", "arrogant", "bitchy", "liberated")>>
-		<<set $activeSlave.sexualFlaw = either("apathetic", "hates anal", "hates oral", "idealistic", "shamefast")>>
-		<<set _newSlaves.push($activeSlave)>>
-	<</for>>
-<</if>>
-
-<<case "arcology naming">>
-
-As a society free of the encumbrance of governmental oversight, the arcologies of the Free Cities are places where societal evolution and corporate expansion can occur rapidly.
-
-Even so, the incredible speed with which the arcology has improved under your tenure as compared to that of your predecessor, after you obtained ownership through
-<<if $PC.rumor == "wealth">>
-	a leveraged buyout,
-<<elseif $PC.rumor == "diligence">>
-	hard work and competence,
-<<elseif $PC.rumor == "force">>
-	some episodes of violence,
-<<elseif $PC.rumor == "social engineering">>
-	the creative use of psychology,
-<<elseif $PC.rumor == "luck">>
-	an incredible opportunity,
-<</if>>
-is nothing short of astonishing. Other arcologies have taken many years to develop along anything but strictly conservative lines, and you are not the only arcology owner with a background
-<<if $PC.career == "wealth">>
-	of substantial wealth.
-<<elseif $PC.career == "capitalist">>
-	in business.
-<<elseif $PC.career == "mercenary">>
-	in the world of private contracting.
-<<elseif $PC.career == "slaver">>
-	as a slavebreaker.
-<<elseif $PC.career == "engineer">>
-	in arcology engineering.
-<<elseif $PC.career == "medicine">>
-	in medicine and surgery.
-<<elseif $PC.career == "celebrity">>
-	in the public sphere.
-<<elseif $PC.career == "escort">>
-	involving many personal contacts.
-<<elseif $PC.career == "servant">>
-	involving the rich and powerful.
-<<elseif $PC.career == "gang">>
-	involving gangs.
-<<elseif $PC.career == "BlackHat">>
-	involving mysterious data breaches.
-<<else>>
-	in the Free Cities.
-<</if>>
-It occurs to you that the arcology's growing role as a place where those with the means to do so can live in the society you have created, enjoying themselves and their lives to the fullest while subjugating others, should be commemorated.
-<br><br>
-As any slaveowner with half a mind in the Free Cities knows, there is power in words, and in what they represent. Master. Slave. These two words alone, more than any others, define the arcologies that have taken up the mantle of leading the world forward in these dark times. The time has come to add a new term to the lexicon of the Free Cities — a name. No longer will your arcology be known only as $arcologies[0].name, a bland and uninspiring name if ever there was one.
-<br><br>
-From this day forward, the arcology shall be known as: <<textbox "$arcologies[0].name" $arcologies[0].name>>
-
+	It occurs to you that the arcology's growing role as a place where those with the means to do so can live in the society you have created, enjoying themselves and their lives to the fullest while subjugating others, should be commemorated.
+	<br><br>
+	As any slaveowner with half a mind in the Free Cities knows, there is power in words, and in what they represent. Master. Slave. These two words alone, more than any others, define the arcologies that have taken up the mantle of leading the world forward in these dark times. The time has come to add a new term to the lexicon of the Free Cities — a name. No longer will your arcology be known only as $arcologies[0].name, a bland and uninspiring name if ever there was one.
+	<br><br>
+	From this day forward, the arcology shall be known as: <<textbox "$arcologies[0].name" $arcologies[0].name>>
 <<case "slave food">>
-
-A screen opposite your desk springs to life, <<if $assistant.personality == 0>>showing your personal assistant's symbol, indicating that it has a complex subject to report. When you instruct it to continue, it displays<<else>>and $assistant.name's avatar appears on it seated, indicating that _heA has something complex to bring up. When you tell _himA to continue, _heA reviews<</if>> medical research that's just been published, on the long term effects of the liquid diet your slaves eat. The current generation of slaves is the first, and new discoveries about the effects of years of modern slavery are made all the time. Apparently, consuming state of the art slave food causes slow atrophy of slaves' digestive tracts. The slaves' ability to digest the slave food does not seem to be affected; the atrophy is the body's natural reaction to never facing digestive challenge, and once it reaches the point where the remaining digestive capacity is necessary for liquid slave food, it stops. The only negative effect known is difficulty readjusting to normal food, becoming more extreme the longer the slave food diet was followed.
-<br><br>"In conclusion,"
-<<if $assistant.personality == 0>>
-	your assistant recites, "no impact on slaves who fully adapt to slave food is likely, as long as they remain slaves. If they were to be freed, they would have to either continue obtaining liquid slave food, or go through a difficult or even impossible dietary transition." _HeA pauses. "This information is likely to remain at the level of a rumor among the slave population, unless it is openly admitted."
-<<else>>
-	_heA says, "your slaves who stay on slave food long enough to need it will be totally fine, as long as they stay slaves. If they're ever freed, though, they have to keep eating slave food, or somehow switch. And that's never been tried."
-	<<switch $assistant.appearance>>
-	<<case "monstergirl">>
-		The monster<<= _girlA>> bares _hisA fangs and becomes very erect. "They're stuck," _heA says. "They're fuckslaves forever." _HeA pauses.
-	<<case "shemale">>
-		The shemale starts to stroke _himselfA. "Their assholes are going to be nice and clean and fuckable forever," _heA says, starting to cum.
-	<<case "amazon">>
-		The amazon looks pleased. "They're changing to fit their place," _heA says.
-	<<case "businesswoman">>
-		The business<<= _womanA>> fans _himselfA, looking rather hot under the collar. "Another way they're bound to you," _heA says breathily.
-	<<case "fairy">>
-		The small fairy giggles and spins around on one foot. "Looks like they'll be under our care for life!" _HeA comes to a stop.
-	<<case "pregnant fairy">>
-		The small fairy giggles and rapidly beats _hisA wings. "Looks like they'll be under our care for life!" _HisA wings settle down.
-	<<case "goddess">>
-		The goddess beams. "It's wonderful," _heA says radiantly. "Their place is here, with us." _HeA pauses.
-	<<case "hypergoddess">>
-		The child filled goddess beams. "It's wonderful," _heA says radiantly. "They are like our children, and this arcology our womb; even after they are born they are forever bound to us." _HeA pauses.
-	<<case "loli">>
-		The little _girlA smiles happily while jumping up and down. "So we can be friends forever? That's great!" _HeA pauses.
-	<<case "preggololi">>
-		The little _girlA smiles happily. "So we can be friends forever? That's great!" _HeA pauses.
-	<<case "angel">>
-		The angel frowns. "How unfair. But you'll tend to your flock, right?"
-	<<case "cherub">>
-		The cherub pauses. "That means they can't stray from your flock, they have to stay near you, right?"
-	<<case "incubus">>
-		The incubus smirks. "I don't care either way. A hole is a hole."
-	<<case "succubus">>
-		The succubus frowns. "That means they are reshaping themselves to fit you better. THAT, is MY job."
-	<<case "imp">>
-		The imp laughs. "They are nothing but toys now, never allowed to be free again!"
-	<<case "witch">>
-		The witch ponders. "It's probably more convenient than casting a spell, less side effects too. Sorry again about that last spell."
-	<<case "ERROR_1606_APPEARANCE_FILE_CORRUPT">>
-		It begins to twitch excitedly. "That means its digestive track is empty. Think how many young can be shoved in there now!" Its avatar is visible erect, maybe? It's sometimes hard to tell.
-	<<case "schoolgirl">>
-		The school<<= _girlA>> snickers cruelly. "Suck dick or starve," _heA sniggers.
-	<<default>>
-		_HisA symbol rotates slowly.
-	<</switch>>
-	"The truth will get out, but it'll be nothing more than a rumor among the slaves unless you let it be known yourself."
-<</if>>
-
+	A screen opposite your desk springs to life, <<if $assistant.personality === 0>>showing your personal assistant's symbol, indicating that it has a complex subject to report. When you instruct it to continue, it displays<<else>>and $assistant.name's avatar appears on it seated, indicating that _heA has something complex to bring up. When you tell _himA to continue, _heA reviews<</if>> medical research that's just been published, on the long term effects of the liquid diet your slaves eat. The current generation of slaves is the first, and new discoveries about the effects of years of modern slavery are made all the time. Apparently, consuming state of the art slave food causes slow atrophy of slaves' digestive tracts. The slaves' ability to digest the slave food does not seem to be affected; the atrophy is the body's natural reaction to never facing digestive challenge, and once it reaches the point where the remaining digestive capacity is necessary for liquid slave food, it stops. The only negative effect known is difficulty readjusting to normal food, becoming more extreme the longer the slave food diet was followed.
+	<br><br>"In conclusion,"
+	<<if $assistant.personality === 0>>
+		your assistant recites, "no impact on slaves who fully adapt to slave food is likely, as long as they remain slaves. If they were to be freed, they would have to either continue obtaining liquid slave food, or go through a difficult or even impossible dietary transition." _HeA pauses. "This information is likely to remain at the level of a rumor among the slave population, unless it is openly admitted."
+	<<else>>
+		_heA says, "your slaves who stay on slave food long enough to need it will be totally fine, as long as they stay slaves. If they're ever freed, though, they have to keep eating slave food, or somehow switch. And that's never been tried."
+		<<switch $assistant.appearance>>
+		<<case "monstergirl">>
+			The monster<<= _girlA>> bares _hisA fangs and becomes very erect. "They're stuck," _heA says. "They're fuckslaves forever." _HeA pauses.
+		<<case "shemale">>
+			The shemale starts to stroke _himselfA. "Their assholes are going to be nice and clean and fuckable forever," _heA says, starting to cum.
+		<<case "amazon">>
+			The amazon looks pleased. "They're changing to fit their place," _heA says.
+		<<case "businesswoman">>
+			The business<<= _womanA>> fans _himselfA, looking rather hot under the collar. "Another way they're bound to you," _heA says breathily.
+		<<case "fairy">>
+			The small fairy giggles and spins around on one foot. "Looks like they'll be under our care for life!" _HeA comes to a stop.
+		<<case "pregnant fairy">>
+			The small fairy giggles and rapidly beats _hisA wings. "Looks like they'll be under our care for life!" _HisA wings settle down.
+		<<case "goddess">>
+			The goddess beams. "It's wonderful," _heA says radiantly. "Their place is here, with us." _HeA pauses.
+		<<case "hypergoddess">>
+			The child filled goddess beams. "It's wonderful," _heA says radiantly. "They are like our children, and this arcology our womb; even after they are born they are forever bound to us." _HeA pauses.
+		<<case "loli">>
+			The little _girlA smiles happily while jumping up and down. "So we can be friends forever? That's great!" _HeA pauses.
+		<<case "preggololi">>
+			The little _girlA smiles happily. "So we can be friends forever? That's great!" _HeA pauses.
+		<<case "angel">>
+			The angel frowns. "How unfair. But you'll tend to your flock, right?"
+		<<case "cherub">>
+			The cherub pauses. "That means they can't stray from your flock, they have to stay near you, right?"
+		<<case "incubus">>
+			The incubus smirks. "I don't care either way. A hole is a hole."
+		<<case "succubus">>
+			The succubus frowns. "That means they are reshaping themselves to fit you better. THAT, is MY job."
+		<<case "imp">>
+			The imp laughs. "They are nothing but toys now, never allowed to be free again!"
+		<<case "witch">>
+			The witch ponders. "It's probably more convenient than casting a spell, less side effects too. Sorry again about that last spell."
+		<<case "ERROR_1606_APPEARANCE_FILE_CORRUPT">>
+			It begins to twitch excitedly. "That means its digestive track is empty. Think how many young can be shoved in there now!" Its avatar is visible erect, maybe? It's sometimes hard to tell.
+		<<case "schoolgirl">>
+			The school<<= _girlA>> snickers cruelly. "Suck dick or starve," _heA sniggers.
+		<<default>>
+			_HisA symbol rotates slowly.
+		<</switch>>
+		"The truth will get out, but it'll be nothing more than a rumor among the slaves unless you let it be known yourself."
+	<</if>>
 <<default>>
 	ERROR: bad event
 <</switch>>
 
 <br><br>
-
 <span id="result">
 <<switch $Event>>
 <<case "bad curatives">>
-
-<<link "Free breast growth is acceptable">>
-	<<replace "#result">>
-	Since you're not displeased with the breast expansion, you accept the health compensation and even make discreet inquiries to see of the effect can perhaps be replicated. Unfortunately, it seems that the result that occurred was as much due to luck as anything else. The process cannot be safely marketed.
-	<<run $slaves.forEach(function(s) {
-		if (s.curatives > 1) {
-			if (s.geneMods.NCS > 0) {
-				s.boobs += Math.floor(Math.random() * 10 + 1) * 50;
+	<<link "Free breast growth is acceptable">>
+		<<replace "#result">>
+		Since you're not displeased with the breast expansion, you accept the health compensation and even make discreet inquiries to see of the effect can perhaps be replicated. Unfortunately, it seems that the result that occurred was as much due to luck as anything else. The process cannot be safely marketed.
+		<<run $slaves.forEach(function(s) {
+			if (s.curatives > 1) {
+				if (s.geneMods.NCS > 0) {
+					s.boobs += Math.floor(Math.random() * 10 + 1) * 50;
+				}
+				else {
+					s.boobs += Math.floor(Math.random() * 10 + 1) * 100;
+				}
 			}
-			else {
-				s.boobs += Math.floor(Math.random() * 10 + 1) * 100;
+			if (s.inflationType === "curative") {
+				if (s.geneMods.NCS > 0) {
+					s.boobs += Math.floor(Math.random() * 10 + 1) * 150 * s.inflation;
+				}
+				else {
+					s.boobs += Math.floor(Math.random() * 10 + 1) * 300 * s.inflation;
+				}
 			}
-		}
-		if (s.inflationType == "curative") {
-			if (s.geneMods.NCS > 0) {
-				s.boobs += Math.floor(Math.random() * 10 + 1) * 150 * s.inflation;
+			if (s.geneticQuirks.macromastia === 3) {
+				s.geneticQuirks.macromastia = 2;
 			}
-			else {
-				s.boobs += Math.floor(Math.random() * 10 + 1) * 300 * s.inflation;
+			if (s.geneticQuirks.gigantomastia === 3) {
+				s.geneticQuirks.gigantomastia = 2;
 			}
-		}
-		if (s.geneticQuirks.macromastia == 3) {
-			s.geneticQuirks.macromastia = 2;
-		}
-		if (s.geneticQuirks.gigantomastia == 3) {
-			s.geneticQuirks.gigantomastia = 2;
-		}
-	})>>
-	<</replace>>
-<</link>>
-<br><<link "Demand further compensation">>
-	<<replace "#result">>
-	You muster all the contractual remedies available to you and join the crowd of slaveowners laying into the hapless manufacturer. Of course, with so many attackers, there is as much infighting between them as conflict with the helpless enemy, since everyone knows the business will go bankrupt before everyone gets paid. Nevertheless you @@.yellowgreen;approximately double@@ the money you make out of the situation.
-	<<run cashX(500*$slaves.length, "event")>>
-	<</replace>>
-<</link>>
-<br><<link "Force surgical repairs">>
-	<<replace "#result">>
-	The hapless manufacturer eventually goes bankrupt. However, you do manage to force surgical repair of the breast expansion before they do. At the manager's expense, your slaves move through a top-flight surgeon's care and are reduced to their former sizes.
-	<</replace>>
-<</link>>
-
+		})>>
+		<</replace>>
+	<</link>>
+	<br><<link "Demand further compensation">>
+		<<replace "#result">>
+		You muster all the contractual remedies available to you and join the crowd of slaveowners laying into the hapless manufacturer. Of course, with so many attackers, there is as much infighting between them as conflict with the helpless enemy, since everyone knows the business will go bankrupt before everyone gets paid. Nevertheless you @@.yellowgreen;approximately double@@ the money you make out of the situation.
+		<<run cashX(500*$slaves.length, "event")>>
+		<</replace>>
+	<</link>>
+	<br><<link "Force surgical repairs">>
+		<<replace "#result">>
+		The hapless manufacturer eventually goes bankrupt. However, you do manage to force surgical repair of the breast expansion before they do. At the manager's expense, your slaves move through a top-flight surgeon's care and are reduced to their former sizes.
+		<</replace>>
+	<</link>>
 <<case "bad breasts">>
+	<<link "The emotional distress isn't worth the trouble">>
+		<<replace "#result">>
+		Since subjecting all the affected slaves to abortions would cause you severe losses, you've decided to let them keep the pregnancies. You hope you are prepared for all the children you'll be producing. Those who couldn't become pregnant @@.lime;gained some breast, hip and ass size,@@ as well as @@.lime;began lactating.@@
 
-<<link "The emotional distress isn't worth the trouble">>
-	<<replace "#result">>
-	Since subjecting all the affected slaves to abortions would cause you severe losses, you've decided to let them keep the pregnancies. You hope you are prepared for all the children you'll be producing. Those who couldn't become pregnant @@.lime;gained some breast, hip and ass size,@@ as well as @@.lime;began lactating.@@
-	<<for $i = 0; $i < $slaves.length; $i++>>
-		<<if ($slaves[$i].drugs == "breast injections") && canGetPregnant($slaves[$i])>>
-			<<set $slaves[$i].preg = 1>>
-			<<set $slaves[$i].pregType = random(10,25)>>
-			<<set $slaves[$i].pregKnown = 1>>
-			<<set $slaves[$i].pregWeek = 1>>
-			<<run SetBellySize($slaves[$i])>>
-		<<elseif $slaves[$i].drugs == "breast injections">>
-			<<set $slaves[$i].lactation = 1>>
-			<<set $slaves[$i].lactationDuration = 2>>
-			<<if ($slaves[$i].geneMods.NCS == 0) && ($slaves[$i].hips < 1)>>
-				<<set $slaves[$i].hips += 1>>
-				<<set $slaves[$i].butt += 1>>
-			<</if>>
-			<<if $precociousPuberty == 1>>
-				<<if $slaves[$i].pubertyXX == 0 && ($slaves[$i].ovaries == 1 || $slaves[$i].mpreg == 1)>>
-					<<set $slaves[$i].pubertyAgeXX -= 1>>
-					<<if $slaves[$i].geneMods.NCS == 1>>
-						<<set $slaves[$i].pubertyAgeXX -= .5>>
+		<<for _slave range $slaves>>
+			<<if _slave.drugs.includes("breast injections")>>
+				<<set _isIntense = _slave.drugs.includes("intensive")>>
+				<<set _isHyper = _slave.drugs.includes("hyper")>>
+				<<if canGetPregnant(_slave)>>
+					<<set _slave.preg = 1>>
+					<<if _isIntense>>
+						<<set _slave.pregType = random(15, 35)>>
+					<<elseif _isHyper>>
+						<<set _slave.pregType = random(20, 45)>>
+					<<else>>
+						<<set _slave.pregType = random(10, 25)>>
 					<</if>>
-				<</if>>
-				<<if $slaves[$i].pubertyXY == 0 && $slaves[$i].balls > 0>>
-					<<set $slaves[$i].pubertyAgeXY += 1>>
-					/* NCS reduces the male puberty slowing affects */
-					<<if $slaves[$i].geneMods.NCS == 1>>
-						<<set $slaves[$i].pubertyAgeXY -= .5>>
+					<<set _slave.pregKnown = 1>>
+					<<set _slave.pregWeek = 1>>
+					<<run SetBellySize(_slave)>>
+				<<else>>
+					<<set _slave.lactation = 1>>
+					<<set _slave.lactationDuration = 2>>
+					<<if _slave.geneMods.NCS === 0 && _slave.hips < 1>>
+						<<set _slave.hips++>>
+						<<if _isHyper>>
+							<<set _slave.butt += 2>>
+						<<else>>
+							<<set _slave.butt++>>
+						<</if>>
 					<</if>>
-				<</if>>
-			<</if>>
-			<<if $slaves[$i].geneMods.NCS == 0>>
-				<<set $slaves[$i].boobs += 300>>
-			<<else>>
-				<<set $slaves[$i].boobs += 150>>
-			<</if>>
-		<<elseif $slaves[$i].drugs == "intensive breast injections" && canGetPregnant($slaves[$i])>>
-			<<set $slaves[$i].preg = 1>>
-			<<set $slaves[$i].pregType = random(15,35)>>
-			<<set $slaves[$i].pregKnown = 1>>
-			<<set $slaves[$i].pregWeek = 1>>
-			<<run SetBellySize($slaves[$i])>>
-		<<elseif $slaves[$i].drugs == "intensive breast injections">>
-			<<set $slaves[$i].lactation = 1>>
-			<<set $slaves[$i].lactationDuration = 2>>
-			<<if ($slaves[$i].geneMods.NCS == 0) && ($slaves[$i].hips < 1)>>
-				<<set $slaves[$i].hips += 1>>
-				<<set $slaves[$i].butt += 1>>
-			<</if>>
-			<<if $precociousPuberty == 1>>
-				<<if $slaves[$i].pubertyXX == 0 && ($slaves[$i].ovaries == 1 || $slaves[$i].mpreg == 1)>>
-					<<set $slaves[$i].pubertyAgeXX -= 1.5>>
-					<<if $slaves[$i].geneMods.NCS == 1>>
-						<<set $slaves[$i].pubertyAgeXX -= .75>>
+					<<if $precociousPuberty === 1>>
+						<<if _slave.pubertyXX === 0 && (_slave.ovaries === 1 || _slave.mpreg === 1)>>
+							<<if _isIntense>>
+								<<set _slave.pubertyAgeXX -= 1.5>>
+							<<elseif _isHyper>>
+								<<set _slave.pubertyAgeXX -= 2>>
+							<<else>>
+								<<set _slave.pubertyAgeXX-->>
+							<</if>>
+							<<if _slave.geneMods.NCS === 1>>
+								<<if _isIntense>>
+									<<set _slave.pubertyAgeXX -= 0.75>>
+								<<elseif _isHyper>>
+									<<set _slave.pubertyAgeXX -= 1>>
+								<<else>>
+									<<set _slave.pubertyAgeXX -= 0.5>>
+								<</if>>
+							<</if>>
+						<</if>>
+						<<if _slave.pubertyXY === 0 && _slave.balls > 0>>
+							<<if _isIntense>>
+								<<set _slave.pubertyAgeXY += 1.5>>
+							<<elseif _isHyper>>
+								<<set _slave.pubertyAgeXY += 2>>
+							<<else>>
+								<<set _slave.pubertyAgeXY += 1>>
+							<</if>>
+							/* NCS reduces the male puberty slowing affects */
+							<<if _slave.geneMods.NCS === 1>>
+								<<if _isIntense>>
+									<<set _slave.pubertyAgeXY -= 0.75>>
+								<<elseif _isHyper>>
+									<<set _slave.pubertyAgeXY -= 1>>
+								<<else>>
+									<<set _slave.pubertyAgeXY -= 0.5>>
+								<</if>>
+							<</if>>
+						<</if>>
 					<</if>>
-				<</if>>
-				<<if $slaves[$i].pubertyXY == 0 && $slaves[$i].balls > 0>>
-					<<set $slaves[$i].pubertyAgeXY += 1.5>>
-					/* NCS reduces the male puberty slowing affects */
-					<<if $slaves[$i].geneMods.NCS == 1>>
-						<<set $slaves[$i].pubertyAgeXY -= .75>>
+					<<if _slave.geneMods.NCS === 0>>
+						<<set _slave.boobs += 300>>
+					<<else>>
+						<<set _slave.boobs += 150>>
 					<</if>>
 				<</if>>
 			<</if>>
-			<<if $slaves[$i].geneMods.NCS == 0>>
-				<<set $slaves[$i].boobs += 300>>
-			<<else>>
-				<<set $slaves[$i].boobs += 150>>
-			<</if>>
-		<<elseif ($slaves[$i].drugs == "hyper breast injections") && canGetPregnant($slaves[$i])>>
-			<<set $slaves[$i].preg = 1>>
-			<<set $slaves[$i].pregType = random(20,45)>>
-			<<set $slaves[$i].pregKnown = 1>>
-			<<set $slaves[$i].pregWeek = 1>>
-			<<run SetBellySize($slaves[$i])>>
-		<<elseif $slaves[$i].drugs == "hyper breast injections">>
-			<<set $slaves[$i].lactation = 1>>
-			<<set $slaves[$i].lactationDuration = 2>>
-			<<if ($slaves[$i].geneMods.NCS == 0) && ($slaves[$i].hips < 1)>>
-				<<set $slaves[$i].hips += 1>>
-				<<set $slaves[$i].butt += 2>>
-			<</if>>
-			<<if $precociousPuberty == 1>>
-				<<if $slaves[$i].pubertyXX == 0 && ($slaves[$i].ovaries == 1 || $slaves[$i].mpreg == 1)>>
-					<<set $slaves[$i].pubertyAgeXX -= 2>>
-					<<if $slaves[$i].geneMods.NCS == 1>>
-						<<set $slaves[$i].pubertyAgeXX -= 1>>
-					<</if>>
-				<</if>>
-				<<if $slaves[$i].pubertyXY == 0 && $slaves[$i].balls > 0>>
-					<<set $slaves[$i].pubertyAgeXY += 2>>
-					/* NCS reduces the male puberty slowing affects */
-					<<if $slaves[$i].geneMods.NCS == 1>>
-						<<set $slaves[$i].pubertyAgeXY -= 1>>
-					<</if>>
-				<</if>>
-			<</if>>
-			<<if $slaves[$i].geneMods.NCS == 0>>
-				<<set $slaves[$i].boobs += 300>>
-			<<else>>
-				<<set $slaves[$i].boobs += 150>>
-			<</if>>
-		<</if>>
-	<</for>>
-	<</replace>>
-<</link>>
-<br><<link "Demand further compensation">>
-	<<replace "#result">>
-	You muster all the contractual remedies available to you and join the crowd of slaveowners laying into the hapless manufacturer. Of course, with so many attackers, there is as much infighting between them as conflict with the helpless enemy, since everyone knows the business will go bankrupt before everyone gets paid. Nevertheless you @@.yellowgreen;approximately double@@ the money you make out of the situation, plenty to deal with the pregnancies.
-		<<run cashX(2000*$slaves.length, "event")>>
-	<</replace>>
-<</link>>
-<br><<link "Force surgical repairs and compensation">>
-	<<replace "#result">>
-	The hapless manufacturer eventually goes bankrupt. However, you do manage to force surgical correction of the pregnancies before they do. As additional compensation, they agree to naturally enhance your afflicted slaves' busts knowing full well that most buyers are not interested in slaves that have been knocked up. At the managers expense, your slaves move through a top-flight surgeons care and are pregnancy free and sporting @@.lime;larger breasts.@@
-	<<run $slaves.forEach(function(s) {
-		if (canGetPregnant(s)) {
-			if (s.drugs == "breast injections") {
-				if (s.geneMods.NCS > 0) {
-					s.boobs += Math.floor(Math.random() * 10 + 1) * 50;
-				}
-				else {
-					s.boobs += Math.floor(Math.random() * 10 + 1) * 100;
-				}
-			} else if (s.drugs == "intensive breast injections") {
-				if (s.geneMods.NCS > 0) {
-					s.boobs += Math.floor(Math.random() * 10 + 1) * 100;
-				}
-				else {
-					s.boobs += Math.floor(Math.random() * 10 + 1) * 150;
-				}
-			} else if (s.drugs == "hyper breast injections") {
-				if (s.geneMods.NCS > 0) {
-					s.boobs += Math.floor(Math.random() * 10 + 1) * 200;
-				}
-				else {
-					s.boobs += Math.floor(Math.random() * 10 + 1) * 300;
+		<</for>>
+		<</replace>>
+	<</link>>
+	<br><<link "Demand further compensation">>
+		<<replace "#result">>
+		You muster all the contractual remedies available to you and join the crowd of slaveowners laying into the hapless manufacturer. Of course, with so many attackers, there is as much infighting between them as conflict with the helpless enemy, since everyone knows the business will go bankrupt before everyone gets paid. Nevertheless you @@.yellowgreen;approximately double@@ the money you make out of the situation, plenty to deal with the pregnancies.
+			<<run cashX(2000*$slaves.length, "event")>>
+		<</replace>>
+	<</link>>
+	<br><<link "Force surgical repairs and compensation">>
+		<<replace "#result">>
+		The hapless manufacturer eventually goes bankrupt. However, you do manage to force surgical correction of the pregnancies before they do. As additional compensation, they agree to naturally enhance your afflicted slaves' busts knowing full well that most buyers are not interested in slaves that have been knocked up. At the managers expense, your slaves move through a top-flight surgeons care and are pregnancy free and sporting @@.lime;larger breasts.@@
+		<<run $slaves.forEach(function(s) {
+			if (canGetPregnant(s)) {
+				if (s.drugs === "breast injections") {
+					if (s.geneMods.NCS > 0) {
+						s.boobs += Math.floor(Math.random() * 10 + 1) * 50;
+					}
+					else {
+						s.boobs += Math.floor(Math.random() * 10 + 1) * 100;
+					}
+				} else if (s.drugs === "intensive breast injections") {
+					if (s.geneMods.NCS > 0) {
+						s.boobs += Math.floor(Math.random() * 10 + 1) * 100;
+					}
+					else {
+						s.boobs += Math.floor(Math.random() * 10 + 1) * 150;
+					}
+				} else if (s.drugs === "hyper breast injections") {
+					if (s.geneMods.NCS > 0) {
+						s.boobs += Math.floor(Math.random() * 10 + 1) * 200;
+					}
+					else {
+						s.boobs += Math.floor(Math.random() * 10 + 1) * 300;
+					}
 				}
 			}
-		}
-	})>>
-	<</replace>>
-<</link>>
-
+		})>>
+		<</replace>>
+	<</link>>
 <<case "strip club closing">>
-
-<<set $eventResults.strip = 1>>
-<<link "Offer to take them in">>
-	<<replace "#result">>
-	The now-unemployed strippers are not impressed by your offer to take them in. "What," one of them says, "be one of your shivering little cunts? You'd have us signing ourselves into slavery inside two weeks. Fuck off, we'll take the streets." Under the nonlethal riot cannons of the security drones, they file off, muttering mutinously. Unfortunately, you don't have any pretense to enslave or imprison them.
-	<<set $nextButton = "Continue">>
-	<</replace>>
-<</link>>
-<br><<link "Offer them severance pay">>
-	<<replace "#result">>
-	You have a word with them, stepping closer and speaking quietly to defuse the situation. You tell them you're aware that they're in a difficult place, but you also explain that the Free Cities are a new and changing place. No one can rely on the old way of doing things any more. You offer to pay each of them a small stipend to help tide them over until they find other employment. They're surprised at your munificence but @@.green;accept it with gratitude.@@
-	<<set $nextButton = "Continue">>
-	<<run repX(2000, "event")>>
-	<<run cashX(-1000, "event")>>
-	<<set $eventResults.strip = 2>>
-	<</replace>>
-<</link>> //This will cost <<print cashFormat(1000)>>//
-<br><<link "Offer to set them up independently">>
-	<<replace "#result">>
-	You offer a way out of their situation. They, you suggest, can keep working in the now-vacant shop if they work together to pay the rent. They can move into a couple of vacant rooms nearby that you can easily have set up as a bunkhouse. You'll collect a little more rent, and they'll have a second chance. They @@.green;accept it with gratitude.@@ It's quite likely they'll either fail or have to accept being whores rather than strippers, but that's not your concern. @@.green;Your arcology's prosperity has increased.@@
-	<<set $nextButton = "Continue">>
-	<<set $arcologies[0].prosperity += 1>>
-	<<run repX(500, "event")>>
-	<<run cashX(-500, "event")>>
-	<<set $eventResults.strip = 3>>
-	<</replace>>
-<</link>> //This will cost <<print cashFormat(500)>>//
-
-<<case "strip club aftermath">>
-
-<<if $eventResults.strip != 3>>
-	<<if $cash >= _ContractCost>>
-	<<link "Enslave $him">>
-		<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $activeSlave)>>
+	<<set $eventResults.strip = 1>>
+	<<link "Offer to take them in">>
 		<<replace "#result">>
-		<<if $eventResults.strip == 1>>
-			$He sobs with gratitude as the biometric scanners scrupulously record $his every particular as belonging not to a person but to a piece of human property. The medical scan discloses that $his aphrodisiac addiction is very new: $he will probably be able to kick the habit in short order if you decide to withhold further doses.
-		<<else>>
-			$He smiles with gratitude as the biometric scanners scrupulously record $his every particular as belonging not to a person but to a piece of human property. $He's seen what Free Cities life is, and $he seems to have come to the conclusion that being a slave in the penthouse is better than being a free whore on the lower levels.
-		<</if>>
-		<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+		The now-unemployed strippers are not impressed by your offer to take them in. "What," one of them says, "be one of your shivering little cunts? You'd have us signing ourselves into slavery inside two weeks. Fuck off, we'll take the streets." Under the nonlethal riot cannons of the security drones, they file off, muttering mutinously. Unfortunately, you don't have any pretense to enslave or imprison them.
+		<<set $nextButton = "Continue">>
 		<</replace>>
 	<</link>>
+	<br><<link "Offer them severance pay">>
+		<<replace "#result">>
+		You have a word with them, stepping closer and speaking quietly to defuse the situation. You tell them you're aware that they're in a difficult place, but you also explain that the Free Cities are a new and changing place. No one can rely on the old way of doing things any more. You offer to pay each of them a small stipend to help tide them over until they find other employment. They're surprised at your munificence but @@.green;accept it with gratitude.@@
+		<<set $nextButton = "Continue">>
+		<<run repX(2000, "event")>>
+		<<run cashX(-1000, "event")>>
+		<<set $eventResults.strip = 2>>
+		<</replace>>
+	<</link>> //This will cost <<print cashFormat(1000)>>//
+	<br><<link "Offer to set them up independently">>
+		<<replace "#result">>
+		You offer a way out of their situation. They, you suggest, can keep working in the now-vacant shop if they work together to pay the rent. They can move into a couple of vacant rooms nearby that you can easily have set up as a bunkhouse. You'll collect a little more rent, and they'll have a second chance. They @@.green;accept it with gratitude.@@ It's quite likely they'll either fail or have to accept being whores rather than strippers, but that's not your concern. @@.green;Your arcology's prosperity has increased.@@
+		<<set $nextButton = "Continue">>
+		<<set $arcologies[0].prosperity++>>
+		<<run repX(500, "event")>>
+		<<run cashX(-500, "event")>>
+		<<set $eventResults.strip = 3>>
+		<</replace>>
+	<</link>> //This will cost <<print cashFormat(500)>>//
+<<case "strip club aftermath">>
+	<<if $eventResults.strip !== 3>>
+		<<if $cash >= _ContractCost>>
+		<<link "Enslave $him">>
+			<<run cashX(forceNeg(_ContractCost), "slaveTransfer", _slave)>>
+			<<replace "#result">>
+			<<if $eventResults.strip === 1>>
+				$He sobs with gratitude as the biometric scanners scrupulously record $his every particular as belonging not to a person but to a piece of human property. The medical scan discloses that $his aphrodisiac addiction is very new: $he will probably be able to kick the habit in short order if you decide to withhold further doses.
+			<<else>>
+				$He smiles with gratitude as the biometric scanners scrupulously record $his every particular as belonging not to a person but to a piece of human property. $He's seen what Free Cities life is, and $he seems to have come to the conclusion that being a slave in the penthouse is better than being a free whore on the lower levels.
+			<</if>>
+			<<includeDOM App.UI.newSlaveIntro(_slave)>>
+			<</replace>>
+		<</link>>
+		<<else>>
+			//You lack the necessary funds to enslave $him.//
+		<</if>>
 	<<else>>
-		//You lack the necessary funds to enslave $him.//
+		<<link "Take an Arcology Tour">>
+			<<replace "#result">>
+			The cubicle _heU takes you back into is small, but clean and well-kept. _HeU gives you a kiss on the cheek. "That's not part of the Arcology Tour. Sorry. Here's the start of the real tour." <<if $PC.dick !== 0>>_HeU sucks you to full mast while shucking off _hisU skimpy clothing<<if $PC.vagina !== -1>>, giggling appreciatively at your pussy and lavishing attention on it with _hisU hands<</if>>. Then _heU turns around and slides you into _hisU <<if _heU === "he">>ass<<else>>pussy<</if>> with the ease of long practice. After a good long standing fuck, _heU begs you to "finish the tour" in _hisU ass and then "pay the tour guide" by coming in _hisU mouth.<<else>>_HeU giggles. "Tour's a little different for a lady like you, Ma'am. Here," _heU says, and starts to make out with you, pressing you back down onto a bench. _HeU lavishes expert oral attention on your pussy in a series of clever positions that offer every part of _hisU body to you in turn for you to grope, squeeze, and penetrate with your fingers.<</if>> Afterward, as _heU's hurrying back into _hisU clothes, _heU says, "We've got the money you paid to set those rooms up, @@.yellowgreen;here it is.@@ And we're doing pretty good, so we could use a little more working space. We'd like the vacant space next door. We'll furnish it, if you'll let us have it?" @@.green;$arcologies[0].name's prosperity has increased.@@
+			<<set $arcologies[0].prosperity += 2>>
+			<<run cashX(500, "event")>>
+			<</replace>>
+		<</link>>
+		<br><<link "Politely decline">>
+			<<replace "#result">>
+			"Aw," _heU says, "you're no fun. Well anyway, we've got the money you paid to set those rooms up, @@.yellowgreen;here it is.@@ And we're doing pretty good, so we could use a little more working space. We'd like the vacant space next door. We'll furnish it, if you'll let us have it?" @@.green;$arcologies[0].name's prosperity has increased.@@
+			<<set $arcologies[0].prosperity += 2>>
+			<<run cashX(500, "event")>>
+			<</replace>>
+		<</link>>
 	<</if>>
-<<else>>
-	<<link "Take an Arcology Tour">>
+<<case "militia">>
+	<<set $personalArms = 0>>
+	<<if $arcologyUpgrade.drones === 1>>
+		<<link "Arm yourself and your drones">>
+			<<replace "#result">>
+			In a time of uncertainty, the public adores people who protect them. So, in addition to publicly procuring yourself the latest weapons and armor, you update the arcology's drone systems. The security drones' riot cannons can be replaced for easy maintenance, so it's rather easy to provide them with alternate, lethal weaponry that they can switch to if it becomes necessary. $arcologies[0].name becomes known as one of the best-protected in the Free Cities. @@.green;Your reputation has greatly improved.@@
+			<<set $nextButton = "Continue">>
+			<<run repX(4000, "event")>>
+			<<run cashX(-5000, "event")>>
+			<<set $personalArms = 3>>
+			<</replace>>
+		<</link>> //This will cost <<print cashFormat(5000)>>//
+		<br>
+	<</if>>
+	<<link "Arm yourself">>
 		<<replace "#result">>
-		The cubicle _heU takes you back into is small, but clean and well-kept. _HeU gives you a kiss on the cheek. "That's not part of the Arcology Tour. Sorry. Here's the start of the real tour." <<if $PC.dick != 0>>_HeU sucks you to full mast while shucking off _hisU skimpy clothing<<if $PC.vagina != -1>>, giggling appreciatively at your pussy and lavishing attention on it with _hisU hands<</if>>. Then _heU turns around and slides you into _hisU <<if _heU == "he">>ass<<else>>pussy<</if>> with the ease of long practice. After a good long standing fuck, _heU begs you to "finish the tour" in _hisU ass and then "pay the tour guide" by coming in _hisU mouth.<<else>>_HeU giggles. "Tour's a little different for a lady like you, Ma'am. Here," _heU says, and starts to make out with you, pressing you back down onto a bench. _HeU lavishes expert oral attention on your pussy in a series of clever positions that offer every part of _hisU body to you in turn for you to grope, squeeze, and penetrate with your fingers.<</if>> Afterward, as _heU's hurrying back into _hisU clothes, _heU says, "We've got the money you paid to set those rooms up, @@.yellowgreen;here it is.@@ And we're doing pretty good, so we could use a little more working space. We'd like the vacant space next door. We'll furnish it, if you'll let us have it?" @@.green;$arcologies[0].name's prosperity has increased.@@
-		<<set $arcologies[0].prosperity += 2>>
-		<<run cashX(500, "event")>>
+		In a time of uncertainty, the public looks up to people who project strength. So, you purchase yourself some of the latest armor and weapons, and make sure they are visible in a glass-walled cabinet in your office. Many of your wealthier tenants follow suit. A few of them even emulate your example and practice using these implements once a week. @@.green;Your reputation has improved.@@
+		<<set $nextButton = "Continue">>
+		<<run repX(1500, "event")>>
+		<<run cashX(-2000, "event")>> //This will cost <<print cashFormat(2000)>>//
+		<<set $personalArms = 1>>
+		<</replace>>
+	<</link>> //This will cost <<print cashFormat(2000)>>//
+	<br><<link "Ignore this foolishness">>
+		<<replace "#result">>
+		No doubt this panicky fad will pass. You ignore the controversy. In a few days, the subject of a militia passes from the public mind.
+		<<set $nextButton = "Continue">>
+		<<set $personalArms = 0>>
+		<</replace>>
+	<</link>>
+<<case "shoot invitation">>
+	<<set $eventResults.shoot = 0>>
+	<<link "Buy in">>
+		<<replace "#result">>
+		You receive a brief but elegant confirmation. It looks like you've RSVP'd.
+		<<run cashX(-5000, "event")>>
+		<<set $eventResults.shoot = 1>>
 		<</replace>>
 	<</link>>
 	<br><<link "Politely decline">>
 		<<replace "#result">>
-		"Aw," _heU says, "you're no fun. Well anyway, we've got the money you paid to set those rooms up, @@.yellowgreen;here it is.@@ And we're doing pretty good, so we could use a little more working space. We'd like the vacant space next door. We'll furnish it, if you'll let us have it?" @@.green;$arcologies[0].name's prosperity has increased.@@
-		<<set $arcologies[0].prosperity += 2>>
-		<<run cashX(500, "event")>>
+		You decline the invitation.
 		<</replace>>
 	<</link>>
-<</if>>
-
-<<case "militia">>
-
-<<set $personalArms = 0>>
-<<if $arcologyUpgrade.drones == 1>>
-<<link "Arm yourself and your drones">>
-	<<replace "#result">>
-	In a time of uncertainty, the public adores people who protect them. So, in addition to publicly procuring yourself the latest weapons and armor, you update the arcology's drone systems. The security drones' riot cannons can be replaced for easy maintenance, so it's rather easy to provide them with alternate, lethal weaponry that they can switch to if it becomes necessary. $arcologies[0].name becomes known as one of the best-protected in the Free Cities. @@.green;Your reputation has greatly improved.@@
-	<<set $nextButton = "Continue">>
-	<<run repX(4000, "event")>>
-	<<run cashX(-5000, "event")>>
-	<<set $personalArms = 3>>
-	<</replace>>
-<</link>> //This will cost <<print cashFormat(5000)>>//
-<br>
-<</if>>
-<<link "Arm yourself">>
-	<<replace "#result">>
-	In a time of uncertainty, the public looks up to people who project strength. So, you purchase yourself some of the latest armor and weapons, and make sure they are visible in a glass-walled cabinet in your office. Many of your wealthier tenants follow suit. A few of them even emulate your example and practice using these implements once a week. @@.green;Your reputation has improved.@@
-	<<set $nextButton = "Continue">>
-	<<run repX(1500, "event")>>
-	<<run cashX(-2000, "event")>> //This will cost <<print cashFormat(2000)>>//
-	<<set $personalArms = 1>>
-	<</replace>>
-<</link>> //This will cost <<print cashFormat(2000)>>//
-<br><<link "Ignore this foolishness">>
-	<<replace "#result">>
-	No doubt this panicky fad will pass. You ignore the controversy. In a few days, the subject of a militia passes from the public mind.
-	<<set $nextButton = "Continue">>
-	<<set $personalArms = 0>>
-	<</replace>>
-<</link>>
-
-<<case "shoot invitation">>
-
-<<set $eventResults.shoot = 0>>
-<<link "Buy in">>
-	<<replace "#result">>
-	You receive a brief but elegant confirmation. It looks like you've RSVP'd.
-	<<run cashX(-5000, "event")>>
-	<<set $eventResults.shoot = 1>>
-	<</replace>>
-<</link>>
-<br><<link "Politely decline">>
-	<<replace "#result">>
-	You decline the invitation.
-	<</replace>>
-<</link>>
-
 <<case "shoot result">>
-
-<<set $eventResults.shoot = 0>>
-<<link "Hit the muscular slave about to successfully cross the lawn">>
-	<<replace "#result">>
-	<<set $activeSlaveOneTimeMinAge = 18>>
-	<<set $activeSlaveOneTimeMaxAge = 28>>
-	<<set $one_time_age_overrides_pedo_mode = 1>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.origin = "You won $him at a shotgun match against other arcology owners.">>
-	<<set $activeSlave.lips = random(5,25)>>
-	<<set $activeSlave.anus = 1>>
-	<<set $activeSlave.skill.vaginal = 15>>
-	<<set $activeSlave.skill.oral = 15>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = 0>>
-	<<set $activeSlave.counter.vaginal += 1>>
-	<<set $vaginalTotal += 1>>
-	<<set $activeSlave.devotion = 25>>
-	<<set $activeSlave.trust = 5>>
-	<<set $activeSlave.oldDevotion = 25>>
-	<<set $activeSlave.face = 0>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.preg = -1>>
-	<<set $activeSlave.muscles = 50>>
-	<<set $activeSlave.weight = 0>>
-	<<run setHealth($activeSlave, 80, undefined, undefined, undefined, 0)>>
-	<<set $activeSlave.boobs = 400>>
-	<<set $activeSlave.butt = 2>>
-	<<set $activeSlave.waist = 0>>
-	<<set $activeSlave.fetish = "none">>
-	<<set $activeSlave.behavioralFlaw = "arrogant">>
-	<<set $activeSlave.sexualFlaw = "idealistic">>
-	<<run App.Utils.setLocalPronouns($activeSlave)>>
-	<span id="art-frame">
-		/* 000-250-006 */
-		<<if $seeImages == 1>>
-			<<if $imageChoice == 1>>
-				<div class="imageRef medImg"><<= SlaveArt($activeSlave, 2, 0)>></div>
-			<<else>>
-				<div class="imageRef medImg"><<= SlaveArt($activeSlave, 2, 0)>></div>
-			<</if>>
-		<</if>>
-		/* 000-250-006 */
-	</span>
-	You decide to stop the athletic slave $girl about to win $his freedom, and place your taser slug in $his muscular buttock. $He goes stiff and skids across the grass with a growl. Your taser slug is linked to $assistant.name, who hits $him again whenever $he tries to continue running. Fury glints from $his eyes, but $he apparently knows how to pick $his battles. By the time you approach $him, $he's already bent over, presenting $himself, and from the oily sheen on $his privates, it looks like $he even managed to get some lube somewhere to make the experience a little easier. It is a strange thing, respecting a slave, but $he rises even higher in your estimation as you fuck $him on the grass. $He does $his best to please you, having clearly decided to do $his best given $his situation. $He's sexually inexpert, but clearly smart enough to know when to submit.
-	<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</replace>>
-<</link>>
-<<if $minimumSlaveAge <= 8>>
-	<br><<link "Hit the young slave with the unnaturally wide hips struggling along">>
+	<<set $eventResults.shoot = 0>>
+	<<link "Hit the muscular slave about to successfully cross the lawn">>
 		<<replace "#result">>
-		<<set $activeSlaveOneTimeMinAge = 8>>
-		<<set $activeSlaveOneTimeMaxAge = 8>>
-		<<set $one_time_age_overrides_pedo_mode = 1>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XX")>>
-		<<set $activeSlave.origin = "You won $him at a shotgun match against other arcology owners.">>
-		<<set $activeSlave.lips = random(5,25)>>
-		<<set $activeSlave.anus = 0>>
-		<<set $activeSlave.skill.whoring = 0>>
-		<<set $activeSlave.skill.entertainment = 0>>
-		<<set $activeSlave.counter.vaginal += 1>>
-		<<set $vaginalTotal += 1>>
-		<<set $activeSlave.devotion = 25>>
-		<<set $activeSlave.trust = 5>>
-		<<set $activeSlave.oldDevotion = 25>>
-		<<set $activeSlave.face = 25>>
-		<<set $activeSlave.vagina = 1>>
-		<<set $activeSlave.preg = 0>>
-		<<if $precociousPuberty == 1>>
-			<<set $activeSlave.pubertyXX = 1>>
-		<</if>>
-		<<set $activeSlave.muscles = 0>>
-		<<set $activeSlave.weight = -10>>
-		<<set $activeSlave.height = 135>>
-		<<run setHealth($activeSlave, 80, undefined, undefined, undefined, 0)>>
-		<<set $activeSlave.boobs = 200>>
-		<<set $activeSlave.butt = 1>>
-		<<set $activeSlave.waist = -50>>
-		<<set $activeSlave.shoulders = -2>>
-		<<set $activeSlave.hips = 3>>
-		<<set $activeSlave.ovaries = 1>>
-		<<set $activeSlave.hipsImplant = 1>>
-		<<set $activeSlave.skill.anal = 0>>
-		<<set $activeSlave.skill.oral = 0>>
-		<<set $activeSlave.skill.vaginal = 0>>
-		<<set $activeSlave.fetish = "pregnancy">>
-		<<set $activeSlave.fetishStrength = 60>>
-		<<set $activeSlave.behavioralFlaw = "anorexic">>
-		<<set $activeSlave.sexualFlaw = "idealistic">>
-		<<run App.Utils.setLocalPronouns($activeSlave)>>
+		<<set _slave = GenerateNewSlave("XX", {disableDisability: 1, ageOverridesPedoMode: 1, mixAge: 18, maxAge: 28})>>
+		<<set _slave.origin = "You won $him at a shotgun match against other arcology owners.">>
+		<<set _slave.lips = random(5,25)>>
+		<<set _slave.anus = 1>>
+		<<set _slave.skill.vaginal = 15>>
+		<<set _slave.skill.oral = 15>>
+		<<set _slave.skill.anal = 15>>
+		<<set _slave.skill.whoring = 0>>
+		<<set _slave.skill.entertainment = 0>>
+		<<run actX(_slave, "vaginal")>>
+		<<set _slave.devotion = 25>>
+		<<set _slave.trust = 5>>
+		<<set _slave.oldDevotion = 25>>
+		<<set _slave.face = 0>>
+		<<set _slave.vagina = 1>>
+		<<set _slave.preg = -1>>
+		<<set _slave.muscles = 50>>
+		<<set _slave.weight = 0>>
+		<<run setHealth(_slave, 80, undefined, undefined, undefined, 0)>>
+		<<set _slave.boobs = 400>>
+		<<set _slave.butt = 2>>
+		<<set _slave.waist = 0>>
+		<<set _slave.fetish = "none">>
+		<<set _slave.behavioralFlaw = "arrogant">>
+		<<set _slave.sexualFlaw = "idealistic">>
+		<<run App.Utils.setLocalPronouns(_slave)>>
 		<span id="art-frame">
 			/* 000-250-006 */
-			<<if $seeImages == 1>>
-				<<if $imageChoice == 1>>
-					<div class="imageRef medImg"><<= SlaveArt($activeSlave, 2, 0)>></div>
+			<<if $seeImages === 1>>
+				<<if $imageChoice === 1>>
+					<div class="imageRef medImg"><<= SlaveArt(_slave, 2, 0)>></div>
 				<<else>>
-					<div class="imageRef medImg"><<= SlaveArt($activeSlave, 2, 0)>></div>
+					<div class="imageRef medImg"><<= SlaveArt(_slave, 2, 0)>></div>
 				<</if>>
 			<</if>>
 			/* 000-250-006 */
 		</span>
-		You decide to stop the wide-hipped $loli struggling to run, and easily place your taser slug in $his broad rear. $He goes stiff and falls flat on $his face. Your taser slug is linked to $assistant.name, but since the $girl can't manage to flip over, let alone stand, shocking $him more is unneeded. Fury glints from $his eyes, but $he fully realizes it's over for $him. By the time you approach $him, $he's hoisted $his overly wide rear upwards, presenting $himself, moisture beginning to ooze from $his virgin cunt. It looks like $he was being groomed to be a breeding slave, and $he seems to understand $his role quite well, judging by the way $he rocks $his hips back and forth for you. You thoroughly enjoy $his gratifyingly tight pussy, which is so nice that you confine yourself entirely to it despite the appealing sight of $his virgin butthole.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+		You decide to stop the athletic slave $girl about to win $his freedom, and place your taser slug in $his muscular buttock. $He goes stiff and skids across the grass with a growl. Your taser slug is linked to $assistant.name, who hits $him again whenever $he tries to continue running. Fury glints from $his eyes, but $he apparently knows how to pick $his battles. By the time you approach $him, $he's already bent over, presenting $himself, and from the oily sheen on $his privates, it looks like $he even managed to get some lube somewhere to make the experience a little easier. It is a strange thing, respecting a slave, but $he rises even higher in your estimation as you fuck $him on the grass. $He does $his best to please you, having clearly decided to do $his best given $his situation. $He's sexually inexpert, but clearly smart enough to know when to submit.
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 		<</replace>>
 	<</link>>
-<</if>>
-<br><<link "Hit the plush older slave lagging behind">>
-	<<setNonlocalPronouns $seeDicks>>
-	<<replace "#result">>
-	<<set $activeSlaveOneTimeMinAge = 36>>
-	<<set $activeSlaveOneTimeMaxAge = 42>>
-	<<set $one_time_age_overrides_pedo_mode = 1>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.origin = "You won $him at a shotgun match against other arcology owners.">>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.skill.vaginal = 15>>
-	<<set $activeSlave.skill.oral = 15>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = 0>>
-	<<set $activeSlave.counter.vaginal += 1>>
-	<<set $vaginalTotal += 1>>
-	<<set $activeSlave.devotion = -60>>
-	<<set $activeSlave.trust = -40>>
-	<<set $activeSlave.oldDevotion = -60>>
-	<<set $activeSlave.face = 15>>
-	<<set $activeSlave.ovaries = 1>>
-	<<set $activeSlave.preg = -1>>
-	<<set $activeSlave.anus = 0>>
-	<<set $activeSlave.skill.anal = 0>>
-	<<set $activeSlave.muscles = 20>>
-	<<set $activeSlave.weight = 20>>
-	<<run setHealth($activeSlave, 30, undefined, undefined, undefined, 0)>>
-	<<if $activeSlave.lips < 10>><<set $activeSlave.lips += 10>><</if>>
-	<<set $activeSlave.boobs = 1000>>
-	<<set $activeSlave.butt = 6>>
-	<<set $activeSlave.waist = -15>>
-	<<set $activeSlave.fetish = "none">>
-	<<set $activeSlave.behavioralFlaw = "bitchy">>
-	<<set $activeSlave.sexualFlaw = "hates anal">>
-	<<run App.Utils.setLocalPronouns($activeSlave)>>
-	<span id="art-frame">
-		/* 000-250-006 */
-		<<if $seeImages == 1>>
-			<<if $imageChoice == 1>>
-				<div class="imageRef medImg"><<= SlaveArt($activeSlave, 2, 0)>></div>
-			<<else>>
-				<div class="imageRef medImg"><<= SlaveArt($activeSlave, 2, 0)>></div>
+	<<if $minimumSlaveAge <= 8>>
+		<br><<link "Hit the young slave with the unnaturally wide hips struggling along">>
+			<<replace "#result">>
+			<<set _slave = GenerateNewSlave("XX", {disableDisability: 1, ageOverridesPedoMode: 1, minAge: 8, maxAge: 8})>>
+			<<set _slave.origin = "You won $him at a shotgun match against other arcology owners.">>
+			<<set _slave.lips = random(5,25)>>
+			<<set _slave.anus = 0>>
+			<<set _slave.skill.whoring = 0>>
+			<<set _slave.skill.entertainment = 0>>
+			<<run actX(_slave, "vaginal")>>
+			<<set _slave.devotion = 25>>
+			<<set _slave.trust = 5>>
+			<<set _slave.oldDevotion = 25>>
+			<<set _slave.face = 25>>
+			<<set _slave.vagina = 1>>
+			<<set _slave.preg = 0>>
+			<<if $precociousPuberty === 1>>
+				<<set _slave.pubertyXX = 1>>
 			<</if>>
-		<</if>>
-		/* 000-250-006 */
-	</span>
-	You decide to drop the luscious specimen in the rear, and place your taser slug in $his huge buttock. $He goes stiff and slumps to the grass in defeat. Your taser slug is linked to $assistant.name, who hits $him again whenever $he tries to rise. Meanwhile, an athletic slave has successfully crossed the lawn, and is sobbing with joy as _hisU manumission forms are completed. Disbelief and anger fills your supine prize's eyes, and $he's spitting with rage by the time you reach $him. It's a comical sight, since $his gyrations only serve to display $his magnificent breasts and broad butt. $He must have been recently enslaved, and is new enough to slavery that you are obliged to tase $him twice more before $he presents $his holes. The impression of newness to slavery despite $his age is reinforced by $his gratifyingly tight pussy, which is so nice that you confine yourself entirely to it despite the appealing sight of what is almost certainly a virgin butthole.
-	<<run newSlave($activeSlave)>> /* skip New Slave Intro */
-	<</replace>>
-<</link>>
-<<if $seeDicks != 0 || $makeDicks != 0>>
-	<br><<link "Hit the slave with the tits, pussy and impressive dick">>
+			<<set _slave.muscles = 0>>
+			<<set _slave.weight = -10>>
+			<<set _slave.height = 135>>
+			<<run setHealth(_slave, 80, undefined, undefined, undefined, 0)>>
+			<<set _slave.boobs = 200>>
+			<<set _slave.butt = 1>>
+			<<set _slave.waist = -50>>
+			<<set _slave.shoulders = -2>>
+			<<set _slave.hips = 3>>
+			<<set _slave.ovaries = 1>>
+			<<set _slave.hipsImplant = 1>>
+			<<set _slave.skill.anal = 0>>
+			<<set _slave.skill.oral = 0>>
+			<<set _slave.skill.vaginal = 0>>
+			<<set _slave.fetish = "pregnancy">>
+			<<set _slave.fetishStrength = 60>>
+			<<set _slave.behavioralFlaw = "anorexic">>
+			<<set _slave.sexualFlaw = "idealistic">>
+			<<run App.Utils.setLocalPronouns(_slave)>>
+			<span id="art-frame">
+				/* 000-250-006 */
+				<<if $seeImages === 1>>
+					<<if $imageChoice === 1>>
+						<div class="imageRef medImg"><<= SlaveArt(_slave, 2, 0)>></div>
+					<<else>>
+						<div class="imageRef medImg"><<= SlaveArt(_slave, 2, 0)>></div>
+					<</if>>
+				<</if>>
+				/* 000-250-006 */
+			</span>
+			You decide to stop the wide-hipped $loli struggling to run, and easily place your taser slug in $his broad rear. $He goes stiff and falls flat on $his face. Your taser slug is linked to $assistant.name, but since the $girl can't manage to flip over, let alone stand, shocking $him more is unneeded. Fury glints from $his eyes, but $he fully realizes it's over for $him. By the time you approach $him, $he's hoisted $his overly wide rear upwards, presenting $himself, moisture beginning to ooze from $his virgin cunt. It looks like $he was being groomed to be a breeding slave, and $he seems to understand $his role quite well, judging by the way $he rocks $his hips back and forth for you. You thoroughly enjoy $his gratifyingly tight pussy, which is so nice that you confine yourself entirely to it despite the appealing sight of $his virgin butthole.
+			<<run newSlave(_slave)>> /* skip New Slave Intro */
+			<</replace>>
+		<</link>>
+	<</if>>
+	<br><<link "Hit the plush older slave lagging behind">>
 		<<setNonlocalPronouns $seeDicks>>
 		<<replace "#result">>
-		<<set $activeSlaveOneTimeMinAge = 18>>
-		<<set $activeSlaveOneTimeMaxAge = 24>>
-		<<set $one_time_age_overrides_pedo_mode = 1>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XY")>>
-		<<set $activeSlave.origin = "You won $him at a shotgun match against other arcology owners.">>
-		<<set $activeSlave.skill.vaginal = 15>>
-		<<set $activeSlave.skill.oral = 15>>
-		<<set $activeSlave.skill.whoring = 0>>
-		<<set $activeSlave.skill.entertainment = 0>>
-		<<set $activeSlave.counter.anal += 1>>
-		<<set $analTotal += 1>>
-		<<set $activeSlave.counter.vaginal += 1>>
-		<<set $vaginalTotal += 1>>
-		<<set $activeSlave.devotion = 25>>
-		<<set $activeSlave.trust = 5>>
-		<<set $activeSlave.oldDevotion = 25>>
-		<<if $activeSlave.foreskin > 0>><<set $activeSlave.foreskin = $activeSlave.dick>><</if>>
-		<<if $activeSlave.balls > 0>><<set $activeSlave.scrotum = $activeSlave.balls>><</if>>
-		<<set $activeSlave.vagina = 1>>
-		<<set $activeSlave.ovaries = 0>>
-		<<set $activeSlave.dick = 6>>
-		<<set $activeSlave.balls = 3>>
-		<<set $activeSlave.face = 0>>
-		<<set $activeSlave.clit = 0>>
-		<<set $activeSlave.preg = -2>>
-		<<set $activeSlave.anus = 2>>
-		<<set $activeSlave.skill.anal = 35>>
-		<<set $activeSlave.muscles = 0>>
-		<<set $activeSlave.weight = 0>>
-		<<run setHealth($activeSlave, 30, undefined, undefined, undefined, 0)>>
-		<<if $activeSlave.lips < 10>><<set $activeSlave.lips += 10>><</if>>
-		<<set $activeSlave.boobs = 800>>
-		<<set $activeSlave.butt = 4>>
-		<<set $activeSlave.waist = -15>>
-		<<set $activeSlave.fetish = "none">>
-		<<set $activeSlave.sexualFlaw = "none">>
-		<<set $activeSlave.behavioralFlaw = "odd">>
-		<<run App.Utils.setLocalPronouns($activeSlave)>>
+		<<set _slave = GenerateNewSlave("XX", {disableDisability: 1, ageOverridesPedoMode: 1, minAge: 36, maxAge: 42})>>
+		<<set _slave.origin = "You won $him at a shotgun match against other arcology owners.">>
+		<<set _slave.vagina = 1>>
+		<<set _slave.skill.vaginal = 15>>
+		<<set _slave.skill.oral = 15>>
+		<<set _slave.skill.whoring = 0>>
+		<<set _slave.skill.entertainment = 0>>
+		<<run actX(_slave, "vaginal")>>
+		<<set _slave.devotion = -60>>
+		<<set _slave.trust = -40>>
+		<<set _slave.oldDevotion = -60>>
+		<<set _slave.face = 15>>
+		<<set _slave.ovaries = 1>>
+		<<set _slave.preg = -1>>
+		<<set _slave.anus = 0>>
+		<<set _slave.skill.anal = 0>>
+		<<set _slave.muscles = 20>>
+		<<set _slave.weight = 20>>
+		<<run setHealth(_slave, 30, undefined, undefined, undefined, 0)>>
+		<<if _slave.lips < 10>><<set _slave.lips += 10>><</if>>
+		<<set _slave.boobs = 1000>>
+		<<set _slave.butt = 6>>
+		<<set _slave.waist = -15>>
+		<<set _slave.fetish = "none">>
+		<<set _slave.behavioralFlaw = "bitchy">>
+		<<set _slave.sexualFlaw = "hates anal">>
+		<<run App.Utils.setLocalPronouns(_slave)>>
 		<span id="art-frame">
 			/* 000-250-006 */
-			<<if $seeImages == 1>>
-				<<if $imageChoice == 1>>
-					<div class="imageRef medImg"><<= SlaveArt($activeSlave, 2, 0)>></div>
+			<<if $seeImages === 1>>
+				<<if $imageChoice === 1>>
+					<div class="imageRef medImg"><<= SlaveArt(_slave, 2, 0)>></div>
 				<<else>>
-					<div class="imageRef medImg"><<= SlaveArt($activeSlave, 2, 0)>></div>
+					<div class="imageRef medImg"><<= SlaveArt(_slave, 2, 0)>></div>
 				<</if>>
 			<</if>>
 			/* 000-250-006 */
 		</span>
-		You decide to drop the really rare specimen, and place your taser slug in $his leg. $He goes stiff and slumps to the grass, squealing with pain since the taser robbed $his ability to break $his fall, leading $him to land on nearly <<if $showInches == 2>>a foot<<else>>thirty centimeters<</if>> of flaccid cock. Your taser slug is linked to $assistant.name, who hits $him again whenever $he tries to rise. Meanwhile, an athletic slave has successfully crossed the lawn, and is sobbing with joy as _hisU manumission forms are completed. Apathy fills your supine prize's eyes, and $he simply lies face-down and quiescent. $He obeys orders to roll over so you can see what you've gotten, however. $He's clearly a work of long and careful hormonal treatment. $He has no implants, but sports big breasts, feminine hips, a nice butt, plush lips, and a huge dick. When you fuck $his pussy and then $his anus, $he even gets a massive erection, showing that $he isn't even on hormone treatment to maintain this unusual set of attributes.
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+		You decide to drop the luscious specimen in the rear, and place your taser slug in $his huge buttock. $He goes stiff and slumps to the grass in defeat. Your taser slug is linked to $assistant.name, who hits $him again whenever $he tries to rise. Meanwhile, an athletic slave has successfully crossed the lawn, and is sobbing with joy as _hisU manumission forms are completed. Disbelief and anger fills your supine prize's eyes, and $he's spitting with rage by the time you reach $him. It's a comical sight, since $his gyrations only serve to display $his magnificent breasts and broad butt. $He must have been recently enslaved, and is new enough to slavery that you are obliged to tase $him twice more before $he presents $his holes. The impression of newness to slavery despite $his age is reinforced by $his gratifyingly tight pussy, which is so nice that you confine yourself entirely to it despite the appealing sight of what is almost certainly a virgin butthole.
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 		<</replace>>
 	<</link>>
-<</if>>
-<<= IncreasePCSkills('warfare', 2)>>
-
-<<case "aid invitation">>
-
-<<set $eventResults.aid = 0>>
-	<<set _price = 10000>>
-<<link "Agree">>
-	<<replace "#result">>
-	You dispatch your personal VTOL bird immediately. It lands <<if $eventResults.aidTarget == "volleyballTeam">>beside the bus<<else>>on the roof of the building<</if>> they're sheltering in, and brings them across the closest border and into a more functional country. You receive a call expressing their heartfelt thanks and promising to @@.green;spread the word@@ about how you helped them escape, and a wire transfer of their @@.yellowgreen;payment@@ for the airlift.
-	<<run cashX(2000, "event")>>
-	<<run repX(1000, "event")>>
-	<</replace>>
-<</link>>
-<br><<link "Do it for free">>
-	<<replace "#result">>
-	You dispatch your personal VTOL bird immediately. It lands <<if $eventResults.aidTarget == "volleyballTeam">>beside the bus<<else>>on the roof of the building<</if>> they're sheltering in, and brings them across the closest border and into a more functional country. You receive a call expressing their heartfelt thanks, and when you refuse their payment for the airlift, they tearfully promise to tell the story of how you @@.green;extended charity@@ to those in need, belying the rumors about slaveowners.
-	<<run repX(2500, "event")>>
-	<</replace>>
-<</link>>
-<br><<link "Airlift them into slavery">>
-	<<replace "#result">>
-	You send your personal VTOL bird to the shop for some immediate and very expensive modifications to its cargo and passenger area. Since this will take several days, you stall the supplicants.
-	<<if $eventResults.aidTarget == "volleyballTeam">>
-		A few of the girls decide to leave, but the sight of them pushed against the wall of a nearby building, toned bodies glistening with sweat and seed as their captors rape them into submission, keep the rest happy to stay on the bus. Those that remained
-	<<else>>
-		Their situation isn't truly dire yet, and they can wait. They
+	<<if $seeDicks !== 0 || $makeDicks !== 0>>
+		<br><<link "Hit the slave with the tits, pussy and impressive dick">>
+			<<setNonlocalPronouns $seeDicks>>
+			<<replace "#result">>
+			<<set _slave = GenerateNewSlave("XY", {disableDisability: 1, ageOverridesPedoMode: 1, minAge: 18, maxAge: 24})>>
+			<<set _slave.origin = "You won $him at a shotgun match against other arcology owners.">>
+			<<set _slave.skill.vaginal = 15>>
+			<<set _slave.skill.oral = 15>>
+			<<set _slave.skill.whoring = 0>>
+			<<set _slave.skill.entertainment = 0>>
+			<<run actX(_slave, "anal")>>
+			<<run actX(_slave, "vaginal")>>
+			<<set _slave.devotion = 25>>
+			<<set _slave.trust = 5>>
+			<<set _slave.oldDevotion = 25>>
+			<<if _slave.foreskin > 0>><<set _slave.foreskin = _slave.dick>><</if>>
+			<<if _slave.balls > 0>><<set _slave.scrotum = _slave.balls>><</if>>
+			<<set _slave.vagina = 1>>
+			<<set _slave.ovaries = 0>>
+			<<set _slave.dick = 6>>
+			<<set _slave.balls = 3>>
+			<<set _slave.face = 0>>
+			<<set _slave.clit = 0>>
+			<<set _slave.preg = -2>>
+			<<set _slave.anus = 2>>
+			<<set _slave.skill.anal = 35>>
+			<<set _slave.muscles = 0>>
+			<<set _slave.weight = 0>>
+			<<run setHealth(_slave, 30, undefined, undefined, undefined, 0)>>
+			<<if _slave.lips < 10>><<set _slave.lips += 10>><</if>>
+			<<set _slave.boobs = 800>>
+			<<set _slave.butt = 4>>
+			<<set _slave.waist = -15>>
+			<<set _slave.fetish = "none">>
+			<<set _slave.sexualFlaw = "none">>
+			<<set _slave.behavioralFlaw = "odd">>
+			<<run App.Utils.setLocalPronouns(_slave)>>
+			<span id="art-frame">
+				/* 000-250-006 */
+				<<if $seeImages === 1>>
+					<<if $imageChoice === 1>>
+						<div class="imageRef medImg"><<= SlaveArt(_slave, 2, 0)>></div>
+					<<else>>
+						<div class="imageRef medImg"><<= SlaveArt(_slave, 2, 0)>></div>
+					<</if>>
+				<</if>>
+				/* 000-250-006 */
+			</span>
+			You decide to drop the really rare specimen, and place your taser slug in $his leg. $He goes stiff and slumps to the grass, squealing with pain since the taser robbed $his ability to break $his fall, leading $him to land on nearly <<if $showInches === 2>>a foot<<else>>thirty centimeters<</if>> of flaccid cock. Your taser slug is linked to $assistant.name, who hits $him again whenever $he tries to rise. Meanwhile, an athletic slave has successfully crossed the lawn, and is sobbing with joy as _hisU manumission forms are completed. Apathy fills your supine prize's eyes, and $he simply lies face-down and quiescent. $He obeys orders to roll over so you can see what you've gotten, however. $He's clearly a work of long and careful hormonal treatment. $He has no implants, but sports big breasts, feminine hips, a nice butt, plush lips, and a huge dick. When you fuck $his pussy and then $his anus, $he even gets a massive erection, showing that $he isn't even on hormone treatment to maintain this unusual set of attributes.
+			<<run newSlave(_slave)>> /* skip New Slave Intro */
+			<</replace>>
+		<</link>>
 	<</if>>
-	are extremely grateful, though they would be less hopeful if they knew the true nature of the aircraft coming to retrieve them.
-	<<set $eventResults.aid = 1>>
-	<<run cashX(forceNeg(_price), "event")>>
-	<</replace>>
-<</link>> //This will cost <<print cashFormat(_price)>>//
-
+	<<= IncreasePCSkills('warfare', 2)>>
+<<case "aid invitation">>
+	<<set $eventResults.aid = 0>>
+		<<set _price = 10000>>
+	<<link "Agree">>
+		<<replace "#result">>
+		You dispatch your personal VTOL bird immediately. It lands <<if $eventResults.aidTarget === "volleyballTeam">>beside the bus<<else>>on the roof of the building<</if>> they're sheltering in, and brings them across the closest border and into a more functional country. You receive a call expressing their heartfelt thanks and promising to @@.green;spread the word@@ about how you helped them escape, and a wire transfer of their @@.yellowgreen;payment@@ for the airlift.
+		<<run cashX(2000, "event")>>
+		<<run repX(1000, "event")>>
+		<</replace>>
+	<</link>>
+	<br><<link "Do it for free">>
+		<<replace "#result">>
+		You dispatch your personal VTOL bird immediately. It lands <<if $eventResults.aidTarget === "volleyballTeam">>beside the bus<<else>>on the roof of the building<</if>> they're sheltering in, and brings them across the closest border and into a more functional country. You receive a call expressing their heartfelt thanks, and when you refuse their payment for the airlift, they tearfully promise to tell the story of how you @@.green;extended charity@@ to those in need, belying the rumors about slaveowners.
+		<<run repX(2500, "event")>>
+		<</replace>>
+	<</link>>
+	<br><<link "Airlift them into slavery">>
+		<<replace "#result">>
+		You send your personal VTOL bird to the shop for some immediate and very expensive modifications to its cargo and passenger area. Since this will take several days, you stall the supplicants.
+		<<if $eventResults.aidTarget === "volleyballTeam">>
+			A few of the girls decide to leave, but the sight of them pushed against the wall of a nearby building, toned bodies glistening with sweat and seed as their captors rape them into submission, keep the rest happy to stay on the bus. Those that remained
+		<<else>>
+			Their situation isn't truly dire yet, and they can wait. They
+		<</if>>
+		are extremely grateful, though they would be less hopeful if they knew the true nature of the aircraft coming to retrieve them.
+		<<set $eventResults.aid = 1>>
+		<<run cashX(forceNeg(_price), "event")>>
+		<</replace>>
+	<</link>> //This will cost <<print cashFormat(_price)>>//
 <<case "aid result">>
-
-<<set $eventResults.aid = 0>>
-<<link "Sell your captures immediately">>
-	<<replace "#result">>
-	<<for _genPlot = 0; _genPlot < _newSlaves.length; _genPlot++>>
-		<<set _slaveCost = slaveCost(_newSlaves[_genPlot])>>
-		<<run cashX(_slaveCost, "slaveTransfer")>>
-	<</for>>
-	Prisoners @@.green;sold.@@
-	<</replace>>
-<</link>>
-<br><<link "Enslave them all">>
-	<<replace "#result">>
-	<<for _genPlot = 0; _genPlot < _newSlaves.length; _genPlot++>>
-		<<run newSlave(_newSlaves[_genPlot])>> /* skip New Slave Intro — TODO: use Bulk Slave Intro */
-	<</for>>
-	You simply enslave all of the escapees yourself. These slaves will more than make up for the costs you expended, in the long run.
-	<</replace>>
-<</link>>
-
+	<<set $eventResults.aid = 0>>
+	<<link "Sell your captures immediately">>
+		<<replace "#result">>
+		<<for _genPlot = 0; _genPlot < _newSlaves.length; _genPlot++>>
+			<<set _slaveCost = slaveCost(_newSlaves[_genPlot])>>
+			<<run cashX(_slaveCost, "slaveTransfer")>>
+		<</for>>
+		Prisoners @@.green;sold.@@
+		<</replace>>
+	<</link>>
+	<br><<link "Enslave them all">>
+		<<replace "#result">>
+		<<for _genPlot = 0; _genPlot < _newSlaves.length; _genPlot++>>
+			<<run newSlave(_newSlaves[_genPlot])>> /* skip New Slave Intro — TODO: use Bulk Slave Intro */
+		<</for>>
+		You simply enslave all of the escapees yourself. These slaves will more than make up for the costs you expended, in the long run.
+		<</replace>>
+	<</link>>
 <<case "arcology naming">>
-
-<<link "Hurrah!">>
-	<<replace "#result">>
-	Your citizens enthusiastically respond to your naming of the arcology as $arcologies[0].name. They are proud to finally have a real name for their home. Other Free Cities take note, and some take up their own names as well, another indication of the Cities' collective ascension over the old world.
-	<<set $nextButton = "Continue">>
-	<</replace>>
-<</link>> // Click to confirm your arcology's name, for now and ever! Or until you decide to change it again while managing your arcology.//
-
+	<<link "Hurrah!">>
+		<<replace "#result">>
+		Your citizens enthusiastically respond to your naming of the arcology as $arcologies[0].name. They are proud to finally have a real name for their home. Other Free Cities take note, and some take up their own names as well, another indication of the Cities' collective ascension over the old world.
+		<<set $nextButton = "Continue">>
+		<</replace>>
+	<</link>> // Click to confirm your arcology's name, for now and ever! Or until you decide to change it again while managing your arcology.//
 <<case "slave food">>
-
-<<set $revealFoodEffects = 0>>
-<<link "Conceal the effects from your slaves">>
-	<<replace "#result">>
-	Your slaves don't need to know that every drop of food they drink is making the light of any eventual freedom they may someday enjoy dimmer and dimmer. Slaves talk to each other all the time, and rumors fly around in such profusion that the truth often gets lost among them. The cruel irony of the symptoms the research discovered is that they're impossible for the slaves to notice so long as they continue to eat the slave food.
-	<</replace>>
-<</link>>
-<br><<link "Admit the truth to your slaves">>
-	<<replace "#result">>
-	Your new slaves already receive a simple explanation of the way the slave food works as part of their training. You simply append a statement to the effect that the slaves' bodies will adapt to the slave food, slowly making it difficult and eventually impossible for them to eat anything else. There is no immediate reaction, but the news begins to filter out among the slaves. They'll react to the newly revealed nature of their food in accordance with their individual attitudes.
-	<<set $revealFoodEffects = 1>>
-	<</replace>>
-<</link>>
-
+	<<set $revealFoodEffects = 0>>
+	<<link "Conceal the effects from your slaves">>
+		<<replace "#result">>
+		Your slaves don't need to know that every drop of food they drink is making the light of any eventual freedom they may someday enjoy dimmer and dimmer. Slaves talk to each other all the time, and rumors fly around in such profusion that the truth often gets lost among them. The cruel irony of the symptoms the research discovered is that they're impossible for the slaves to notice so long as they continue to eat the slave food.
+		<</replace>>
+	<</link>>
+	<br><<link "Admit the truth to your slaves">>
+		<<replace "#result">>
+		Your new slaves already receive a simple explanation of the way the slave food works as part of their training. You simply append a statement to the effect that the slaves' bodies will adapt to the slave food, slowly making it difficult and eventually impossible for them to eat anything else. There is no immediate reaction, but the news begins to filter out among the slaves. They'll react to the newly revealed nature of their food in accordance with their individual attitudes.
+		<<set $revealFoodEffects = 1>>
+		<</replace>>
+	<</link>>
 <</switch>>
 </span>
diff --git a/src/uncategorized/manageArcology.tw b/src/uncategorized/manageArcology.tw
index 32ece54361bd225264926d55850056df9a320e88..e48331a2bb111f61bbde5d4b94e955757d9224f0 100644
--- a/src/uncategorized/manageArcology.tw
+++ b/src/uncategorized/manageArcology.tw
@@ -53,7 +53,7 @@
 			<<run cashX(-Math.trunc(5000*$upgradeMultiplierArcology), "capEx")>>
 			<<set $arcologyUpgrade.drones = 1, $PC.skill.engineering += 1>>
 			<<if $secExpEnabled > 0>>
-				<<set $secBots = App.SecExp.generateUnit("bots")>>
+				<<set $SecExp.units.bots = App.SecExp.unit.gen("bots")>>
 			<</if>>
 		<</link>>
 	<<elseif $arcologyUpgrade.hydro != 1>>
@@ -548,7 +548,7 @@
 		<<else>>
 			You won <<print num($SecExp.battles.victories)>> of them, while the enemy managed to gain the upper hand in the other <<print num($SecExp.battles.losses)>>.
 		<</if>>
-		During all battles you lost a total of <<print num($militiaTotalCasualties + $slavesTotalCasualties + $mercTotalCasualties)>> men, while scoring a total of <<print num($SecExp.core.totalKills)>> kills.
+		During all battles you lost a total of <<print num(App.SecExp.unit.list().slice(1).reduce((acc, cur) => {return acc + V.SecExp.units[cur].dead;}, 0))>> men, while scoring a total of <<print num($SecExp.core.totalKills)>> kills.
 	<</if>>
 	<<if $SecExp.settings.rebellion.enabled === 1 && _countRebellions > 0>>
 		Your arcology was involved in <<print num(_countRebellions)>> rebellions. You won <<print num($SecExp.rebellions.victories)>> of them, while the rebels defeated your forces in <<print num($SecExp.rebellions.losses)>>.
diff --git a/src/uncategorized/managePenthouse.tw b/src/uncategorized/managePenthouse.tw
index 2b68bee8a0389943ed988d254c8f35fd594b09b5..09ad829c0b4ab571d01e30260e3779954c7907f1 100644
--- a/src/uncategorized/managePenthouse.tw
+++ b/src/uncategorized/managePenthouse.tw
@@ -400,7 +400,7 @@
 			<span class="detail">
 				Costs <<print cashFormat(Math.trunc(150000*$upgradeMultiplierArcology))>>
 				<div class="indent">
-					Buying the equipment to construct prosthetics yourself is expensive but if you want to construct a lot of prosthetics it will pay out in the long run.
+					Buying the equipment to construct prosthetics yourself is expensive but if you plan to construct many prosthetics it will pay out in the long run.
 				</div>
 			</span>
 		<</if>>
diff --git a/src/uncategorized/pCoupAftermath.tw b/src/uncategorized/pCoupAftermath.tw
index 4805a80b98db043764bad045582cbde4971fc62b..3d1d3baabbd79c5488faf6f46a3337eeb0692447 100644
--- a/src/uncategorized/pCoupAftermath.tw
+++ b/src/uncategorized/pCoupAftermath.tw
@@ -46,14 +46,14 @@ You inquire as to whether there's any identifiable cause for the evident dislike
 
 <span id="result">
 <<link "Contact the culprit privately and discuss the matter">>
-	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+	<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 	<<replace "#result">>
 	Your fellow arcology owner proves very receptive to your missive, as well they might. Your defeat of the Daughters has made a major impact on the willingness of slaveowners to discuss slave revolts in public, and any arcology owner who was proved to be funding anti-slaver violence, even under duress, would be shunned. With very little prompting, _heR forwards a @@.yellowgreen;huge indemnity payment.@@ It's nowhere near enough to cause bankruptcy, but it's enough to give you a massive advantage should you find yourselves at odds again.
 	<<run cashX(100000, "war")>>
 	<</replace>>
 <</link>>
 <br><<link "Reveal the evidence publicly">>
-	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+	<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 	<<replace "#result">>
 	Free Cities society is understandably reluctant to condemn, never mind depose, arcology owners. The precedent of removing one would be bad, even if the public brought enough strength together to accomplish it. Your evidence looks quite bad, but isn't so incontrovertible as to cause your fellow aristocrats to take such a drastic measure. Nonetheless, the public is aghast at the spectacle of an arcology owner funding an attack on another. Opinion @@.green;rallies@@ around you, and you even receive some discreet @@.yellowgreen;donations,@@ delivered with the intimation that they are to be used against your enemy. There is stony silence from the Daughters' backer; today, you began a real inter-arcology war.
 	<<run repX(1000, "war")>>
@@ -75,7 +75,7 @@ You inquire as to whether there's any identifiable cause for the evident dislike
 	<</replace>>
 <</link>>
 <br><<link "Devote funds to tracing the evidence">>
-	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+	<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 	<<replace "#result">>
 	The money flows out, and the information flows in. You are rewarded with a reasonably complete picture of your rival's operations. The intelligence will be extremely useful going forward, since by gathering it, you sent an unmistakable signal that you do not consider the matter closed. There is stony silence from the Daughters' backer; today, you began a real inter-arcology war. But, with this information, you can maintain it from a position of advantage.
 	<<run cashX(-20000, "war")>>
diff --git a/src/uncategorized/pCoupAttempt.tw b/src/uncategorized/pCoupAttempt.tw
index fc5d43168ab85bac951a1ac4dd6988ebef6a0e10..c20fa86c83001768aee86d9e44676c12db3a3d09 100644
--- a/src/uncategorized/pCoupAttempt.tw
+++ b/src/uncategorized/pCoupAttempt.tw
@@ -93,25 +93,22 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 	<<run cashX(forceNeg(Math.trunc($cash*0.2)), "war")>>
 	<<set $arcologies[0].prosperity = Math.trunc($arcologies[0].prosperity*0.7)>>
 	<<run repX(2000, "war")>>
-	<<set $activeSlaveOneTimeMinAge = 16>>
-	<<set $activeSlaveOneTimeMaxAge = 32>>
-	<<set $oneTimeDisableDisability = 1>>
 	<<for _pca = 0; _pca < 8; _pca++>>
 		<<if random(0,99) < $seeDicks>>
-			<<set $activeSlave = GenerateNewSlave("XY")>>
-			<<run generateSalonModifications($activeSlave)>>
-			<<set $activeSlave.weight = random(-20,30)>>
-			<<set $activeSlave.muscles = random(20,80)>>
-			<<set $activeSlave.waist = random(10,80)>>
+			<<set _slave = GenerateNewSlave("XY", {minAge: 16, maxAge: 32, disableDisability: 1})>>
+			<<run generateSalonModifications(_slave)>>
+			<<set _slave.weight = random(-20,30)>>
+			<<set _slave.muscles = random(20,80)>>
+			<<set _slave.waist = random(10,80)>>
 		<<else>>
-			<<set $activeSlave = GenerateNewSlave("XX")>>
-			<<run generateSalonModifications($activeSlave)>>
-			<<set $activeSlave.weight = random(-50,30)>>
-			<<set $activeSlave.muscles = random(0,80)>>
-			<<set $activeSlave.waist = random(-20,20)>>
+			<<set _slave = GenerateNewSlave("XX", {minAge: 16, maxAge: 32, disableDisability: 1})>>
+			<<run generateSalonModifications(_slave)>>
+			<<set _slave.weight = random(-50,30)>>
+			<<set _slave.muscles = random(0,80)>>
+			<<set _slave.waist = random(-20,20)>>
 		<</if>>
-		<<set $activeSlave.origin = "$He is an enslaved Daughter of Liberty.">>
-		<<set _newSlaves.push($activeSlave)>>
+		<<set _slave.origin = "$He is an enslaved Daughter of Liberty.">>
+		<<set _newSlaves.push(_slave)>>
 	<</for>>
 	<<set $desc = "a damaged plate carrier bearing Daughters of Liberty insignia">>
 	<<set $trinkets.push($desc)>>
@@ -131,16 +128,13 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 		<<set _pcaj = 0>>
 	<</if>>
 	<<for _pca = 0; _pca <= _pcaj; _pca++>>
-		<<set $activeSlaveOneTimeMinAge = 16>>
-		<<set $activeSlaveOneTimeMaxAge = 32>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XY")>>
-		<<run generateSalonModifications($activeSlave)>>
-		<<set $activeSlave.origin = "$He is an enslaved Daughter of Liberty.">>
-		<<set $activeSlave.weight = random(-20,30)>>
-		<<set $activeSlave.muscles = random(20,80)>>
-		<<set $activeSlave.waist = random(10,80)>>
-		<<set _newSlaves.push($activeSlave)>>
+		<<set _slave = GenerateNewSlave("XY", {minAge: 16, maxAge: 32, disableDisability: 1})>>
+		<<run generateSalonModifications(_slave)>>
+		<<set _slave.origin = "$He is an enslaved Daughter of Liberty.">>
+		<<set _slave.weight = random(-20,30)>>
+		<<set _slave.muscles = random(20,80)>>
+		<<set _slave.waist = random(10,80)>>
+		<<set _newSlaves.push(_slave)>>
 	<</for>>
 	<<if $seeDicks < 50>>
 		<<set _pcaj = 5>>
@@ -150,16 +144,13 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 		<<set _pcaj = 0>>
 	<</if>>
 	<<for _pca = 0; _pca <= _pcaj; _pca++>>
-		<<set $activeSlaveOneTimeMinAge = 16>>
-		<<set $activeSlaveOneTimeMaxAge = 32>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XX")>>
-		<<run generateSalonModifications($activeSlave)>>
-		<<set $activeSlave.origin = "$He is an enslaved Daughter of Liberty.">>
-		<<set $activeSlave.weight = random(-50,30)>>
-		<<set $activeSlave.muscles = random(0,80)>>
-		<<set $activeSlave.waist = random(-20,20)>>
-		<<set _newSlaves.push($activeSlave)>>
+		<<set _slave = GenerateNewSlave("XX", {minAge: 16, maxAge: 32, disableDisability: 1})>>
+		<<run generateSalonModifications(_slave)>>
+		<<set _slave.origin = "$He is an enslaved Daughter of Liberty.">>
+		<<set _slave.weight = random(-50,30)>>
+		<<set _slave.muscles = random(0,80)>>
+		<<set _slave.waist = random(-20,20)>>
+		<<set _newSlaves.push(_slave)>>
 	<</for>>
 	<<set $desc = "a Daughters of Liberty flag that once hung in their forward command post within your arcology">>
 	<<set $trinkets.push($desc)>>
@@ -178,16 +169,13 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 		<<set _pcaj = 0>>
 	<</if>>
 	<<for _pca = 0; _pca <= _pcaj; _pca++>>
-		<<set $activeSlaveOneTimeMinAge = 16>>
-		<<set $activeSlaveOneTimeMaxAge = 32>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XY")>>
-		<<run generateSalonModifications($activeSlave)>>
-		<<set $activeSlave.origin = "$He is an enslaved Daughter of Liberty.">>
-		<<set $activeSlave.weight = random(-20,30)>>
-		<<set $activeSlave.muscles = random(20,80)>>
-		<<set $activeSlave.waist = random(10,80)>>
-		<<set _newSlaves.push($activeSlave)>>
+		<<set _slave = GenerateNewSlave("XY", {minAge: 16, maxAge: 32, disableDisability: 1})>>
+		<<run generateSalonModifications(_slave)>>
+		<<set _slave.origin = "$He is an enslaved Daughter of Liberty.">>
+		<<set _slave.weight = random(-20,30)>>
+		<<set _slave.muscles = random(20,80)>>
+		<<set _slave.waist = random(10,80)>>
+		<<set _newSlaves.push(_slave)>>
 	<</for>>
 	<<if $seeDicks < 50>>
 		<<set _pcaj = 5>>
@@ -197,16 +185,13 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 		<<set _pcaj = 0>>
 	<</if>>
 	<<for _pca = 0; _pca <= _pcaj; _pca++>>
-		<<set $activeSlaveOneTimeMinAge = 16>>
-		<<set $activeSlaveOneTimeMaxAge = 32>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XX")>>
-		<<run generateSalonModifications($activeSlave)>>
-		<<set $activeSlave.origin = "$He is an enslaved Daughter of Liberty.">>
-		<<set $activeSlave.weight = random(-50,30)>>
-		<<set $activeSlave.muscles = random(0,80)>>
-		<<set $activeSlave.waist = random(-20,20)>>
-		<<set _newSlaves.push($activeSlave)>>
+		<<set _slave = GenerateNewSlave("XX", {minAge: 16, maxAge: 32, disableDisability: 1})>>
+		<<run generateSalonModifications(_slave)>>
+		<<set _slave.origin = "$He is an enslaved Daughter of Liberty.">>
+		<<set _slave.weight = random(-50,30)>>
+		<<set _slave.muscles = random(0,80)>>
+		<<set _slave.waist = random(-20,20)>>
+		<<set _newSlaves.push(_slave)>>
 	<</for>>
 	<<set $desc = "a Daughters of Liberty flag that once hung in their forward command post within your arcology">>
 	<<set $trinkets.push($desc)>>
@@ -229,16 +214,13 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 		<<set _pcaj = 0>>
 	<</if>>
 	<<for _pca = 0; _pca <= _pcaj; _pca++>>
-		<<set $activeSlaveOneTimeMinAge = 16>>
-		<<set $activeSlaveOneTimeMaxAge = 32>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XY")>>
-		<<run generateSalonModifications($activeSlave)>>
-		<<set $activeSlave.origin = "$He is an enslaved Daughter of Liberty.">>
-		<<set $activeSlave.weight = random(-20,30)>>
-		<<set $activeSlave.muscles = random(20,80)>>
-		<<set $activeSlave.waist = random(10,80)>>
-		<<set _newSlaves.push($activeSlave)>>
+		<<set _slave = GenerateNewSlave("XY", {minAge: 16, maxAge: 32, disableDisability: 1})>>
+		<<run generateSalonModifications(_slave)>>
+		<<set _slave.origin = "$He is an enslaved Daughter of Liberty.">>
+		<<set _slave.weight = random(-20,30)>>
+		<<set _slave.muscles = random(20,80)>>
+		<<set _slave.waist = random(10,80)>>
+		<<set _newSlaves.push(_slave)>>
 	<</for>>
 	<<if $seeDicks < 50>>
 		<<set _pcaj = 3>>
@@ -248,16 +230,13 @@ You are awakened in the middle of the night by a jolt that shakes the entire arc
 		<<set _pcaj = 0>>
 	<</if>>
 	<<for _pca = 0; _pca <= _pcaj; _pca++>>
-		<<set $activeSlaveOneTimeMinAge = 16>>
-		<<set $activeSlaveOneTimeMaxAge = 32>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XX")>>
-		<<run generateSalonModifications($activeSlave)>>
-		<<set $activeSlave.origin = "$He is an enslaved Daughter of Liberty.">>
-		<<set $activeSlave.weight = random(-50,30)>>
-		<<set $activeSlave.muscles = random(0,80)>>
-		<<set $activeSlave.waist = random(-20,20)>>
-		<<set _newSlaves.push($activeSlave)>>
+		<<set _slave = GenerateNewSlave("XX", {minAge: 16, maxAge: 32, disableDisability: 1})>>
+		<<run generateSalonModifications(_slave)>>
+		<<set _slave.origin = "$He is an enslaved Daughter of Liberty.">>
+		<<set _slave.weight = random(-50,30)>>
+		<<set _slave.muscles = random(0,80)>>
+		<<set _slave.waist = random(-20,20)>>
+		<<set _newSlaves.push(_slave)>>
 	<</for>>
 	<<set $desc = "a Daughters of Liberty brassard">>
 	<<set $trinkets.push($desc)>>
diff --git a/src/uncategorized/pDefenseFears.tw b/src/uncategorized/pDefenseFears.tw
index 6f1e70b06eb706e658e2884e435d590cd40f4e3d..b5cb4572216b7364019e4d19fa49b18c042954da 100644
--- a/src/uncategorized/pDefenseFears.tw
+++ b/src/uncategorized/pDefenseFears.tw
@@ -13,7 +13,7 @@ A deputation of slaveowning citizens comes to see you. Though they haven't exper
 
 <span id="result">
 <<link "Install a full platoon by subscription">>
-	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+	<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 	<<replace "#result">>
 	You hire a full platoon of reputable mercenaries and a veteran officer to command them, kit them in excellent gear, and quarter them in the arcology. Their pay is on an escrow basis; the huge lump sum you paid will serve to secure them, and its interest will constitute their pay. The sight of many armed men on patrol has reassured the worried slaveowners, but they are @@.red;resentful@@ of having to take this step themselves.
 	<<run repX(-500, "event")>>
@@ -21,7 +21,7 @@ A deputation of slaveowning citizens comes to see you. Though they haven't exper
 	<</replace>>
 <</link>>
 <br><<link "Install a full platoon at your expense">>
-	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+	<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 	<<replace "#result">>
 	You hire a full platoon of reputable mercenaries and a veteran officer to command them, kit them in excellent gear, and quarter them in the arcology. Their pay is on an escrow basis; the huge lump sum you paid will serve to secure them, and its interest will constitute their pay. The sight of many armed men on patrol has reassured the worried slaveowners, and they are @@.green;grateful@@ to you for seeing to their defense.
 	<<run repX(2500, "event")>>
@@ -30,7 +30,7 @@ A deputation of slaveowning citizens comes to see you. Though they haven't exper
 	<</replace>>
 <</link>> <<if ($PC.skill.warfare >= 100) || ($PC.career == "arcology owner")>>//This will cost <<print cashFormat(10000)>> and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost <<print cashFormat(10000)>> and incur significant upkeep costs//<</if>>
 <br><<link "Refuse to quarter so many troops in your arcology">>
-	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+	<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 	<<replace "#result">>
 	The consensus that the arcology is vulnerable triggers an @@.red;exodus@@ of your most wealthy and valuable citizens, and your reputation @@.red;suffers@@ grievously.
 	<<set $arcologies[0].prosperity = Math.trunc($arcologies[0].prosperity*0.8)>>
diff --git a/src/uncategorized/pHackerSupport.tw b/src/uncategorized/pHackerSupport.tw
index fe1ca328145fb13023a914a2b18632876961ef85..86ad08e8016f807633073540782d6be045ce913f 100644
--- a/src/uncategorized/pHackerSupport.tw
+++ b/src/uncategorized/pHackerSupport.tw
@@ -61,7 +61,7 @@ As she finishes speaking, another spasm distorts her expression, and then she su
 
 <span id="result">
 <<link "Decline">>
-	<<set $nextButton = "Continue">><<UpdateNextButton>>
+	<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>>
 	<<replace "#result">>
 	She's almost certainly trying to extort a quick payoff. You politely decline. "Meh," she shrugs. <<if $seeDicks == 0>>She shudders again and there's a gasping sound from down below. She looks down again, and as she ends the video call, you hear her say "Good job. Ha ha, fuck you, slut, it's your asshole anyway. Get me my strap-on."<<else>>She shudders and there's a popping sound from down below, like a cockhead springing free of someone's mouth. Sure enough, a still-erect dickhead springs into view from the bottom of the screen; for that to be visible she has to be truly huge, almost as long as one of her forearms. She looks down again, and as she ends the video call, you hear her say "Good job. Ha ha, fuck you, slut, it's your asshole anyway. Rape time! Turn around." Tearful begging can be heard before the call closes.<</if>>
 	<<if $traitorType == "hostage">>
@@ -70,7 +70,7 @@ As she finishes speaking, another spasm distorts her expression, and then she su
 	<</replace>>
 <</link>>
 <br><<link "Accept">>
-	<<set $nextButton = "Continue">><<UpdateNextButton>>
+	<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>>
 	<<replace "#result">>
 	You transfer the funds. "Meh," she shrugs. <<if $seeDicks == 0>>She shudders again and there's a gasping sound from down below. She looks down again, and as she ends the video call, you hear her say "Good job. Ha ha, fuck you, slut, it's your asshole anyway. Get me my strap-on."<<else>>She shudders and there's a popping sound from down below, like a cockhead springing free of someone's mouth. Sure enough, a still-erect dickhead springs into view from the bottom of the screen; for that to be visible she has to be truly huge, almost as long as one of her forearms. She looks down again, and as she ends the video call, you hear her say "Good job. Ha ha, fuck you, bitch, it's your asshole anyway. Buttrape time!"<</if>>
 	<<if $assistant.personality > 0>>
diff --git a/src/uncategorized/pHostageAcquisition.tw b/src/uncategorized/pHostageAcquisition.tw
index 3df4c0495ede0ec54fda0bf8b5ec910f2265d9b1..5e18e4d2d4e4f6e8e5cc8ee9bf2a894cb4bf4bf3 100644
--- a/src/uncategorized/pHostageAcquisition.tw
+++ b/src/uncategorized/pHostageAcquisition.tw
@@ -3,31 +3,30 @@
 <<set $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event">>
 
 <<set $hostageRescued = 0>>
-<<set $activeSlave = $hostage>>
-<<set $activeSlave.ID += 55555>>
-<<set $activeSlave.weekAcquired = $week>>
-<<run Enunciate($activeSlave)>>
-<<run App.Utils.setLocalPronouns($activeSlave)>>
+<<set $hostage.ID += 55555>>
+<<set $hostage.weekAcquired = $week>>
+<<run Enunciate($hostage)>>
+<<run App.Utils.setLocalPronouns($hostage)>>
 <<setNonlocalPronouns $seeDicks>>
 
 <<if $hostageWife != 0>>
 	<<setLocalPronouns $hostageWife 2>>
-	<<setSpokenLocalPronouns $activeSlave $hostageWife>>
+	<<setSpokenLocalPronouns $hostage $hostageWife>>
 <</if>>
 
 <span id="art-frame">
 	/* 000-250-006 */
 	<<if $seeImages == 1>>
 		<<if $imageChoice == 1>>
-			<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+			<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt($hostage, 2, 0)>></div>
 		<<else>>
-			<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+			<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt($hostage, 2, 0)>></div>
 		<</if>>
 	<</if>>
 	/* 000-250-006 */
 </span>
 
-<<= SlaveFullName($activeSlave)>>, once
+<<= SlaveFullName($hostage)>>, once
 <<switch $PC.career>>
 <<case "wealth">>
 	a popular party $girl
@@ -59,501 +58,501 @@ Your hired mercenaries are en route now with your precious cargo.
 
 <<switch $rivalryFS>>
 <<case "Racial Subjugationism">>
-	<<if $activeSlave.preg > 0>>
-		<<run WombFatherRace($activeSlave, $arcologies[0].FSSubjugationistRace)>>
+	<<if $hostage.preg > 0>>
+		<<run WombFatherRace($hostage, $arcologies[0].FSSubjugationistRace)>>
 	<</if>>
-	<<run setHealth($activeSlave, 50, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 10)>>
+	<<run setHealth($hostage, 50, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 10)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They kept trying to rape me with $arcologies[0].FSSubjugationistRace <<s>>lave<<s>>!" You gently wrap your arms around $him in a comforting embrace. $He's nearly the same as you remember $him, albeit a bit more hateful towards $arcologies[0].FSSubjugationistRace people.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They kept trying to rape me with $arcologies[0].FSSubjugationistRace <<s>>lave<<s>>!" You gently wrap your arms around $him in a comforting embrace. $He's nearly the same as you remember $him, albeit a bit more hateful towards $arcologies[0].FSSubjugationistRace people.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They raped me with $arcologies[0].FSSubjugationistRace <<s>>lave<<s>>!" $He's nearly the same as you remember $him, albeit with a slight $arcologies[0].FSSubjugationistRace fetish.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They raped me with $arcologies[0].FSSubjugationistRace <<s>>lave<<s>>!" $He's nearly the same as you remember $him, albeit with a slight $arcologies[0].FSSubjugationistRace fetish.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he asks "Can I <<s>>pend <<s>>ome time with the $arcologies[0].FSSubjugationistRace <<s>>lave<<s>>?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he asks "Can I <<s>>pend <<s>>ome time with the $arcologies[0].FSSubjugationistRace <<s>>lave<<s>>?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he bluntly asks "Can I get fucked by <<s>>ome $arcologies[0].FSSubjugationistRace <<s>>tud<<s>>?" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he bluntly asks "Can I get fucked by <<s>>ome $arcologies[0].FSSubjugationistRace <<s>>tud<<s>>?" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "This one's got quite some spunk in $him, you better ready yourself. We're coming in now."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "Why do you hate $arcologies[0].FSSubjugationistRace people <<s>>o much?! They are a great ra<<c>>e, capable of the mo<<s>>t <<s>>ublime love! How dare you ta-"
-		The mercenary captain quickly gags $him. "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, I'd hate for anything to happen to my best employer," he says as he and his group exit your penthouse, leaving you with the enraged $activeSlave.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future.
+		Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "Why do you hate $arcologies[0].FSSubjugationistRace people <<s>>o much?! They are a great ra<<c>>e, capable of the mo<<s>>t <<s>>ublime love! How dare you ta-"
+		The mercenary captain quickly gags $him. "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, I'd hate for anything to happen to my best employer," he says as he and his group exit your penthouse, leaving you with the enraged $hostage.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future.
 	<</if>>
 <<case "Racial Supremacism">>
 	<<if $seePreg != 0>>
-		<<set $activeSlave.pregType = setPregType($activeSlave)>>
-		<<set WombInit($activeSlave)>>
+		<<set $hostage.pregType = setPregType($hostage)>>
+		<<set WombInit($hostage)>>
 		<<if $arcologies[0].FSSubjugationistRace != 0>>
 			<<set _notSupreme = $arcologies[0].FSSubjugationistRace>>
 		<<else>>
 			<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSupremacistRace)>>
 			<<set _notSupreme = _races.random()>>
 		<</if>>
-		<<run WombFatherRace($activeSlave, _notSupreme)>>
+		<<run WombFatherRace($hostage, _notSupreme)>>
 	<</if>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "Thank you... Thank you..." You gently wrap your arms around $him in a comforting embrace. $He's nearly the same as you remember $him, albeit acting slightly odd and covered in scars.
-		<<set $activeSlave.weight = 0>>
-		<<set $activeSlave.muscles = 0>>
-		<<if $activeSlave.health.health > -20>>
-			<<run setHealth($activeSlave, 0, Math.max($activeSlave.health.shortDamage, 10), Math.max($activeSlave.health.longDamage, 10), 0, 100)>>
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "Thank you... Thank you..." You gently wrap your arms around $him in a comforting embrace. $He's nearly the same as you remember $him, albeit acting slightly odd and covered in scars.
+		<<set $hostage.weight = 0>>
+		<<set $hostage.muscles = 0>>
+		<<if $hostage.health.health > -20>>
+			<<run setHealth($hostage, 0, Math.max($hostage.health.shortDamage, 10), Math.max($hostage.health.longDamage, 10), 0, 100)>>
 		<</if>>
-		<<set $activeSlave.custom.tattoo = "$He has slight scarring from being beaten under your rival's rule.">>
+		<<set $hostage.custom.tattoo = "$He has slight scarring from being beaten under your rival's rule.">>
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName walks into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "T-thank you... T-thank you..." You gently draw $his thin body into a comforting embrace. $He's nearly the same as you remember $him, albeit thinner, acting odd and covered in many scars.
-		<<set $activeSlave.weight = -20>>
-		<<set $activeSlave.muscles = -20>>
-		<<if $activeSlave.health.health > -40>>
-			<<run setHealth($activeSlave, 0, Math.max($activeSlave.health.shortDamage, 20), Math.max($activeSlave.health.longDamage, 20), 1, 100)>>
+		Upon seeing you, $hostage.slaveName walks into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "T-thank you... T-thank you..." You gently draw $his thin body into a comforting embrace. $He's nearly the same as you remember $him, albeit thinner, acting odd and covered in many scars.
+		<<set $hostage.weight = -20>>
+		<<set $hostage.muscles = -20>>
+		<<if $hostage.health.health > -40>>
+			<<run setHealth($hostage, 0, Math.max($hostage.health.shortDamage, 20), Math.max($hostage.health.longDamage, 20), 1, 100)>>
 		<</if>>
-		<<set $activeSlave.custom.tattoo = "$He has noticeable scarring from being beaten under your rival's rule.">>
+		<<set $hostage.custom.tattoo = "$He has noticeable scarring from being beaten under your rival's rule.">>
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shuffles into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "T-thank you..." You gently draw $his rail thin body into a comforting embrace, though you can't help but feel $his <<if $seePreg != 0>>swollen<<else>>caved-in<</if>> belly pressing into your own. $He's nearly the same as you remember $him, albeit thinner,<<if $seePreg != 0>> pregnant,<</if>> acting very odd, and heavily covered in scars.
-		<<set $activeSlave.weight = -50>>
-		<<set $activeSlave.muscles = -50>>
-		<<if $activeSlave.health.health > -60>>
-			<<run setHealth($activeSlave, -10, 25, Math.max($activeSlave.health.longDamage, 25), 100), 2, 100)>>
+		Upon seeing you, $hostage.slaveName shuffles into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "T-thank you..." You gently draw $his rail thin body into a comforting embrace, though you can't help but feel $his <<if $seePreg != 0>>swollen<<else>>caved-in<</if>> belly pressing into your own. $He's nearly the same as you remember $him, albeit thinner,<<if $seePreg != 0>> pregnant,<</if>> acting very odd, and heavily covered in scars.
+		<<set $hostage.weight = -50>>
+		<<set $hostage.muscles = -50>>
+		<<if $hostage.health.health > -60>>
+			<<run setHealth($hostage, -10, 25, Math.max($hostage.health.longDamage, 25), 100), 2, 100)>>
 		<</if>>
-		<<set $activeSlave.custom.tattoo = "$He has heavy scarring from being beaten under your rival's rule.">>
+		<<set $hostage.custom.tattoo = "$He has heavy scarring from being beaten under your rival's rule.">>
 	<<elseif $rivalryDuration <= 20>>
-		Upon seeing you, $activeSlave.slaveName attempts to stumble into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> but only makes it several pained steps before collapsing to the ground. You gently pick up $his frail, <<if $seePreg != 0>>bloated<<else>>sickly<</if>> body and hold it in a comforting embrace. a short "T-thank you..." escapes $his tired lips. $He's nearly the same as you remember $him, albeit emaciated,<<if $seePreg != 0>> pregnant,<</if>> acting very odd and completely covered in scars.
-		<<set $activeSlave.weight = -100>>
-		<<set $activeSlave.muscles = -75>>
-		<<if $activeSlave.health.health > -80>>
-			<<run setHealth($activeSlave, -20, 30, Math.max($activeSlave.health.longDamage, 30), 1), 3, 100>>
+		Upon seeing you, $hostage.slaveName attempts to stumble into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> but only makes it several pained steps before collapsing to the ground. You gently pick up $his frail, <<if $seePreg != 0>>bloated<<else>>sickly<</if>> body and hold it in a comforting embrace. a short "T-thank you..." escapes $his tired lips. $He's nearly the same as you remember $him, albeit emaciated,<<if $seePreg != 0>> pregnant,<</if>> acting very odd and completely covered in scars.
+		<<set $hostage.weight = -100>>
+		<<set $hostage.muscles = -75>>
+		<<if $hostage.health.health > -80>>
+			<<run setHealth($hostage, -20, 30, Math.max($hostage.health.longDamage, 30), 1), 3, 100>>
 		<</if>>
-		<<set $activeSlave.custom.tattoo = "$He has heavy scarring all over $his body from being beaten under your rival's rule.">>
+		<<set $hostage.custom.tattoo = "$He has heavy scarring all over $his body from being beaten under your rival's rule.">>
 	<<else>>
 		Your mercenaries radio you upon arrival. "VIP recovered but... $He isn't all there."
-		Upon seeing $him, it's obvious $activeSlave.slaveName has been completely broken. You beckon to the mercenary captain to give $him to you. Holding $him in your arms, it's clear that the poor $girl is barely clinging to life.
-		The mercenary captain apologizes again. "My apologies, we found $him like that. I'm sorry," he says as he and his group exit your penthouse, leaving you with the comatose $activeSlave.slaveName. $He looks the same as you remember, albeit emaciated, battered, <<if $seePreg != 0>>broken, and very pregnant<<else>>and broken<</if>>. Although, if $he pulls through this, $he'll be devoted to you forever.
-		<<set $activeSlave.weight = -100>>
-		<<set $activeSlave.muscles = -100>>
-		<<if $activeSlave.health.health > -100>>
-			<<run setHealth($activeSlave, -40, 30, Math.max($activeSlave.health.longDamage, 30), 4, 100)>>
+		Upon seeing $him, it's obvious $hostage.slaveName has been completely broken. You beckon to the mercenary captain to give $him to you. Holding $him in your arms, it's clear that the poor $girl is barely clinging to life.
+		The mercenary captain apologizes again. "My apologies, we found $him like that. I'm sorry," he says as he and his group exit your penthouse, leaving you with the comatose $hostage.slaveName. $He looks the same as you remember, albeit emaciated, battered, <<if $seePreg != 0>>broken, and very pregnant<<else>>and broken<</if>>. Although, if $he pulls through this, $he'll be devoted to you forever.
+		<<set $hostage.weight = -100>>
+		<<set $hostage.muscles = -100>>
+		<<if $hostage.health.health > -100>>
+			<<run setHealth($hostage, -40, 30, Math.max($hostage.health.longDamage, 30), 4, 100)>>
 		<</if>>
-		<<set $activeSlave.custom.tattoo = "$He has intense scarring all over $his body from being beaten under your rival's rule.">>
+		<<set $hostage.custom.tattoo = "$He has intense scarring all over $his body from being beaten under your rival's rule.">>
 	<</if>>
 <<case "Repopulation Focus">>
-	<<run setHealth($activeSlave, 50, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 5)>>
-	<<set WombFlush($activeSlave)>>
+	<<run setHealth($hostage, 50, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 5)>>
+	<<set WombFlush($hostage)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They took my egg<<s>> away!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember, though a medical scan reveals that $his ovaries contain absolutely zero egg cells.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They took my egg<<s>> away!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember, though a medical scan reveals that $his ovaries contain absolutely zero egg cells.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They took my fertility away!" $He's exactly as you remember, though a medical scan reveals that $his ovaries contain absolutely zero egg cells.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They took my fertility away!" $He's exactly as you remember, though a medical scan reveals that $his ovaries contain absolutely zero egg cells.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he says "You don't have to worry about knocking me up, I'm <<s>>terile!" with a wink. While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he says "You don't have to worry about knocking me up, I'm <<s>>terile!" with a wink. While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he bluntly says "I won't let you ruin my body with a child!" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he bluntly says "I won't let you ruin my body with a child!" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "This one's got quite a lip on $him, you better ready yourself. We're coming in now."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick freak! My body i<<s>> undefiled by child and never will be! I know your type! All you want to do i<<s>> watch my belly <<s>>well with —"
-		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $activeSlave.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, especially given $his hatred for pregnancy.
+		Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick freak! My body i<<s>> undefiled by child and never will be! I know your type! All you want to do i<<s>> watch my belly <<s>>well with —"
+		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $hostage.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, especially given $his hatred for pregnancy.
 	<</if>>
 <<case "Eugenics">>
-	<<run setHealth($activeSlave, 50, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 20)>>
+	<<run setHealth($hostage, 50, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 20)>>
 	<<if $seeHyperPreg != 1>>
 		<<if $rivalryDuration <= 5>>
-			Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They filled me with cum! I think I'm pregnant!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember, though a medical scan reveals that $he is carrying <<print pregNumberName($activeSlave.pregType, 2)>>.
+			Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They filled me with cum! I think I'm pregnant!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember, though a medical scan reveals that $he is carrying <<print pregNumberName($hostage.pregType, 2)>>.
 		<<elseif $rivalryDuration <= 10>>
-			Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears, $his rounded middle pressing into your own. "They knocked me up!" $He's exactly as you remember, though a medical scan reveals that $he is carrying <<print pregNumberName($activeSlave.pregType, 2)>>.
+			Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears, $his rounded middle pressing into your own. "They knocked me up!" $He's exactly as you remember, though a medical scan reveals that $he is carrying <<print pregNumberName($hostage.pregType, 2)>>.
 		<<elseif $rivalryDuration <= 15>>
-			Upon seeing you, $activeSlave.slaveName shifts $his gravid bulk back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he says "Plea<<s>>e don't take them from me, I love them..." While $he looks the same as you remember, albeit rather pregnant, $he certainly doesn't think the same anymore.
+			Upon seeing you, $hostage.slaveName shifts $his gravid bulk back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he says "Plea<<s>>e don't take them from me, I love them..." While $he looks the same as you remember, albeit rather pregnant, $he certainly doesn't think the same anymore.
 		<<elseif $rivalryDuration <= 20>>
-			Upon seeing you, $activeSlave.slaveName shifts $his gravid bulk back and forth, unsure of what to make of you. As you step forward, $he carefully steps back. After several steps, $he bluntly says "I won't let you hurt them!" as $he covers $his pregnant belly. While $he looks the same as you remember, albeit very pregnant, $he definitely doesn't think the same anymore.
+			Upon seeing you, $hostage.slaveName shifts $his gravid bulk back and forth, unsure of what to make of you. As you step forward, $he carefully steps back. After several steps, $he bluntly says "I won't let you hurt them!" as $he covers $his pregnant belly. While $he looks the same as you remember, albeit very pregnant, $he definitely doesn't think the same anymore.
 		<<else>>
-			<<set $activeSlave.trust = 80>>
+			<<set $hostage.trust = 80>>
 			Your mercenaries radio you upon arrival. "This one's got quite a lip on $him, you better ready yourself. We're coming in now."
-			Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! How dare you <<s>>teal a woman'<<s>> purpo<<s>>e away from her! I'll fucking kill you if you try to touch my bab-"
-			The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $activeSlave.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, especially when $he realizes $his babies didn't follow $him here.
+			Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! How dare you <<s>>teal a woman'<<s>> purpo<<s>>e away from her! I'll fucking kill you if you try to touch my bab-"
+			The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $hostage.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, especially when $he realizes $his babies didn't follow $him here.
 		<</if>>
 	<<else>>
 		<<if $rivalryDuration <= 5>>
-			Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They filled me with cum! I think I'm pregnant!" You gently wrap your arms around $him in a comforting embrace, yet you can't help but notice how distended $his belly is. $He's exactly as you remember, maybe a little heftier, but a medical scan reveals, horrifyingly, that $he is carrying over two dozen babies in $his womb.
+			Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They filled me with cum! I think I'm pregnant!" You gently wrap your arms around $him in a comforting embrace, yet you can't help but notice how distended $his belly is. $He's exactly as you remember, maybe a little heftier, but a medical scan reveals, horrifyingly, that $he is carrying over two dozen babies in $his womb.
 		<<elseif $rivalryDuration <= 10>>
-			Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You try to pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>>, but $his huge pregnant belly prevents you. As $he breaks down in tears, $he moans "My womb is <<s>>oo full..." $He's nearly the same as you remember $him, save for $his huge pregnant belly, which a medical scan reveals contains over two dozen children.
+			Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You try to pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>>, but $his huge pregnant belly prevents you. As $he breaks down in tears, $he moans "My womb is <<s>>oo full..." $He's nearly the same as you remember $him, save for $his huge pregnant belly, which a medical scan reveals contains over two dozen children.
 		<<elseif $rivalryDuration <= 15>>
-			Upon seeing you, $activeSlave.slaveName shifts $his super gravid bulk back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough for $his monstrous belly to bump into your own, $he says "It feel<<s>> so good to be <<s>>tuffed completely full of life. You'll let me enjoy thi<<s>>, won't you?" While $he looks the same as you remember, albeit grossly pregnant, $he certainly doesn't think the same anymore. A medical exam, much to $his enjoyment, reveals $his overfilled womb contains nearly two dozen children.
+			Upon seeing you, $hostage.slaveName shifts $his super gravid bulk back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough for $his monstrous belly to bump into your own, $he says "It feel<<s>> so good to be <<s>>tuffed completely full of life. You'll let me enjoy thi<<s>>, won't you?" While $he looks the same as you remember, albeit grossly pregnant, $he certainly doesn't think the same anymore. A medical exam, much to $his enjoyment, reveals $his overfilled womb contains nearly two dozen children.
 		<<elseif $rivalryDuration <= 20>>
-			Upon seeing you, $activeSlave.slaveName shifts $his hyper gravid bulk back and forth, unsure of what to make of you. As you step forward, $he carefully steps back. After several steps, $he bluntly says "Unle<<ss>> you want to put more babie<<s>> in me, get back!" as $he attempts to cover $his super-sized pregnant belly. While $he looks the same as you remember, albeit grotesquely pregnant, $he certainly doesn't think the same anymore. A medical exam, much to $his delight, reveals $his near bursting womb contains nearly two dozen children.
+			Upon seeing you, $hostage.slaveName shifts $his hyper gravid bulk back and forth, unsure of what to make of you. As you step forward, $he carefully steps back. After several steps, $he bluntly says "Unle<<ss>> you want to put more babie<<s>> in me, get back!" as $he attempts to cover $his super-sized pregnant belly. While $he looks the same as you remember, albeit grotesquely pregnant, $he certainly doesn't think the same anymore. A medical exam, much to $his delight, reveals $his near bursting womb contains nearly two dozen children.
 		<<else>>
-			<<set $activeSlave.trust = 80>>
+			<<set $hostage.trust = 80>>
 			Your mercenaries radio you upon arrival. "This one's got quite a lip on $him, you better ready yourself. We're coming in now."
-			Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! How dare you <<s>>teal a woman'<<s>> purpo<<s>>e away from her! I'll <<sh>>ow you! I hope my new pregnan<<c>>y makes me bur<<s>>t all over your fucking off-"
-			The mercenary captain quickly gags $him. "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid. Also when we raided that arcology, we saw some shit. Girls looking like they were pregnant with elephants or with bellies coated with lumps and bumps. $He might be carrying something terrifying in $his womb, just lettin' you know," he says as he and his group exit your penthouse, leaving you with the enraged $activeSlave.slaveName. $He looks the same as you remember, save for $his notable pot belly, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, especially if $he is telling the truth about what lurks in $his womb.
+			Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! How dare you <<s>>teal a woman'<<s>> purpo<<s>>e away from her! I'll <<sh>>ow you! I hope my new pregnan<<c>>y makes me bur<<s>>t all over your fucking off-"
+			The mercenary captain quickly gags $him. "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid. Also when we raided that arcology, we saw some shit. Girls looking like they were pregnant with elephants or with bellies coated with lumps and bumps. $He might be carrying something terrifying in $his womb, just lettin' you know," he says as he and his group exit your penthouse, leaving you with the enraged $hostage.slaveName. $He looks the same as you remember, save for $his notable pot belly, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, especially if $he is telling the truth about what lurks in $his womb.
 		<</if>>
 	<</if>>
 <<case "Gender Radicalism">>
-	<<run setHealth($activeSlave, 60, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 20)>>
+	<<run setHealth($hostage, 60, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 20)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They acted <<s>>o weird!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember, if not slightly more attached to you.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They acted <<s>>o weird!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember, if not slightly more attached to you.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "Will you be a<<s>> kind to me a<<s>> they were?" $He's exactly as you remember, if not slightly more attached to you.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "Will you be a<<s>> kind to me a<<s>> they were?" $He's exactly as you remember, if not slightly more attached to you.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he asks "Will you love me too?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he asks "Will you love me too?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he bluntly shouts "<<S>>tay away from me you rapi<<s>>t!" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he bluntly shouts "<<S>>tay away from me you rapi<<s>>t!" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "This one's got quite some spunk in $him, you better ready yourself. We're coming in now."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! Vagina<<s>> are for <<s>>e<<x>>, not a<<ss>>hole<<s>>! Don't you dare come near my a<<ss>> —"
-		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $activeSlave.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, given $his views on a $girl's place in society.
+		Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! Vagina<<s>> are for <<s>>e<<x>>, not a<<ss>>hole<<s>>! Don't you dare come near my a<<ss>> —"
+		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $hostage.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, given $his views on a $girl's place in society.
 	<</if>>
 <<case "Gender Fundamentalism">>
-	<<run setHealth($activeSlave, 20, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 20)>>
+	<<run setHealth($hostage, 20, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 20)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They did <<s>>uch terrible thing<<s>> to my butt!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember, if not a little curious about anal.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They did <<s>>uch terrible thing<<s>> to my butt!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember, if not a little curious about anal.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They broke my butthole!" $He's exactly as you remember, minus $his loose rear.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They broke my butthole!" $He's exactly as you remember, minus $his loose rear.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he says "Do you want to fuck my butt?<<if $seeDicks != 0>> Maybe touch my peni<<s>>?<</if>>" While $he looks the same as you remember, minus $his very loose butthole<<if $seeDicks != 0>> and minuscule dick<</if>>, $he certainly doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he says "Do you want to fuck my butt?<<if $seeDicks != 0>> Maybe touch my peni<<s>>?<</if>>" While $he looks the same as you remember, minus $his very loose butthole<<if $seeDicks != 0>> and minuscule dick<</if>>, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		<<set $activeSlave.trust = 60>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he bluntly says "Pi<<ss>> off vagina fucker, <<s>>lave<<s>>' a<<ss>>e<<s>> are for pounding!" before swinging around revealing $his gaping butthole. While $he looks the same as you remember, minus $his gaping anus<<if $seeDicks != 0>>, tiny cock, and testicles<</if>>, $he definitely doesn't think the same anymore.
+		<<set $hostage.trust = 60>>
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he bluntly says "Pi<<ss>> off vagina fucker, <<s>>lave<<s>>' a<<ss>>e<<s>> are for pounding!" before swinging around revealing $his gaping butthole. While $he looks the same as you remember, minus $his gaping anus<<if $seeDicks != 0>>, tiny cock, and testicles<</if>>, $he definitely doesn't think the same anymore.
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "This one's quite lively, you better ready yourself.<<if $seeDicks != 0>> $He's been rock hard the entire way here, we think $he might have something crammed up $his rear. What ever it is, it isn't dangerous.<</if>> We're coming in now."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! A<<ss>>hole<<s>> are the <<s>>uperior <<s>>e<<x>> organ!"<<if $seeDicks != 0>> $He quickly flexes $his Kegels several times and blows a load of cum across your shoes<<else>> $He spits on your shoes<</if>>.
-		The mercenary captain quickly pulls $him back, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $activeSlave.slaveName. $He looks the same as you remember<<if $seeDicks != 0>>, save for $his working cock and balls<</if>>, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, given $his penchant for sticking things in butts.
+		Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! A<<ss>>hole<<s>> are the <<s>>uperior <<s>>e<<x>> organ!"<<if $seeDicks != 0>> $He quickly flexes $his Kegels several times and blows a load of cum across your shoes<<else>> $He spits on your shoes<</if>>.
+		The mercenary captain quickly pulls $him back, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $hostage.slaveName. $He looks the same as you remember<<if $seeDicks != 0>>, save for $his working cock and balls<</if>>, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, given $his penchant for sticking things in butts.
 	<</if>>
 <<case "Paternalism">>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "Thank you... Thank you..." You gently wrap your arms around $him in a comforting embrace. $He's nearly the same as you remember $him, albeit acting slightly odd and covered in piercings and tattoos.
-		<<set $activeSlave.weight = 0>>
-		<<if $activeSlave.health.health > -20>>
-			<<run setHealth($activeSlave, 0, Math.max($activeSlave.health.shortDamage, 10), Math.max($activeSlave.health.longDamage, 10), 0, 70)>>
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "Thank you... Thank you..." You gently wrap your arms around $him in a comforting embrace. $He's nearly the same as you remember $him, albeit acting slightly odd and covered in piercings and tattoos.
+		<<set $hostage.weight = 0>>
+		<<if $hostage.health.health > -20>>
+			<<run setHealth($hostage, 0, Math.max($hostage.health.shortDamage, 10), Math.max($hostage.health.longDamage, 10), 0, 70)>>
 		<</if>>
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName tries to crawl to you. You help $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he sobs "T-thank you... T-thank you..." You gently draw $his thin body into a comforting embrace. $He's nearly the same as you remember $him, albeit thinner, acting odd and covered in piercings and tattoos.
-		<<set $activeSlave.weight = -20>>
-		<<set $activeSlave.muscles = -20>>
-		<<if $activeSlave.health.health > -40>>
-			<<run setHealth($activeSlave, 0, Math.max($activeSlave.health.shortDamage, 20), Math.max($activeSlave.health.longDamage, 20), 0, 80)>>
+		Upon seeing you, $hostage.slaveName tries to crawl to you. You help $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he sobs "T-thank you... T-thank you..." You gently draw $his thin body into a comforting embrace. $He's nearly the same as you remember $him, albeit thinner, acting odd and covered in piercings and tattoos.
+		<<set $hostage.weight = -20>>
+		<<set $hostage.muscles = -20>>
+		<<if $hostage.health.health > -40>>
+			<<run setHealth($hostage, 0, Math.max($hostage.health.shortDamage, 20), Math.max($hostage.health.longDamage, 20), 0, 80)>>
 		<</if>>
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName tries to crawl to you. You help $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he sobs. You gently draw $his rail thin body into a comforting embrace, though you can't help but notice several of $his ribs are broken. $He's barely recognizable; being much thinner, acting very odd and covered in piercings and tattoos.
-		<<set $activeSlave.weight = -50>>
-		<<set $activeSlave.muscles = -50>>
-		<<if $activeSlave.health.health > -60>>
-			<<run setHealth($activeSlave, -10, 25, Math.max($activeSlave.health.longDamage, 25), 1, 90)>>
+		Upon seeing you, $hostage.slaveName tries to crawl to you. You help $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he sobs. You gently draw $his rail thin body into a comforting embrace, though you can't help but notice several of $his ribs are broken. $He's barely recognizable; being much thinner, acting very odd and covered in piercings and tattoos.
+		<<set $hostage.weight = -50>>
+		<<set $hostage.muscles = -50>>
+		<<if $hostage.health.health > -60>>
+			<<run setHealth($hostage, -10, 25, Math.max($hostage.health.longDamage, 25), 1, 90)>>
 		<</if>>
 	<<elseif $rivalryDuration <= 20>>
-		Upon being placed in your office, $activeSlave.slaveName curls into a fetal position and begins sobbing. You help $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he pitifully struggles. You gently draw $his emaciated body into a comforting embrace and call out $his name, having realized $he is blind. $He immediately calms down and moves closer to you. $He's barely recognizable; being skin and bone, acting very odd and covered in piercings and tattoos.
-		<<set $activeSlave.weight = -100>>
-		<<set $activeSlave.muscles = -80>>
-		<<if $activeSlave.health.health > -80>>
-			<<run setHealth($activeSlave, -20, 30, Math.max($activeSlave.health.longDamage, 30), 1, 100)>>
+		Upon being placed in your office, $hostage.slaveName curls into a fetal position and begins sobbing. You help $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he pitifully struggles. You gently draw $his emaciated body into a comforting embrace and call out $his name, having realized $he is blind. $He immediately calms down and moves closer to you. $He's barely recognizable; being skin and bone, acting very odd and covered in piercings and tattoos.
+		<<set $hostage.weight = -100>>
+		<<set $hostage.muscles = -80>>
+		<<if $hostage.health.health > -80>>
+			<<run setHealth($hostage, -20, 30, Math.max($hostage.health.longDamage, 30), 1, 100)>>
 		<</if>>
 	<<else>>
 		Your mercenaries radio you upon arrival. "VIP recovered but... I'm so sorry..."
-		You immediately wretch from the smell that follows the merc troop into your office. You rise to shout at them for tracking it in when you realize what the source of the smell is. A crate containing the twisted, mutilated, inked and pierced body of $activeSlave.slaveName. The mercenaries see themselves out as you carefully take a biometric scan of the inert, limbless body before you. $He is alive, but barely, and a brain scan shows few signs of activity. You call for some servants to clean $him up, hoping that maybe it will draw $him out of $his stupor. Deep down, you understand the $girl you used to know has been twisted and broken completely; never to be the same again.
-		<<if $activeSlave.health.health > -100>>
-			<<run setHealth($activeSlave, -40, 30, Math.max($activeSlave.health.longDamage, 30), 2, 100)>>
+		You immediately wretch from the smell that follows the merc troop into your office. You rise to shout at them for tracking it in when you realize what the source of the smell is. A crate containing the twisted, mutilated, inked and pierced body of $hostage.slaveName. The mercenaries see themselves out as you carefully take a biometric scan of the inert, limbless body before you. $He is alive, but barely, and a brain scan shows few signs of activity. You call for some servants to clean $him up, hoping that maybe it will draw $him out of $his stupor. Deep down, you understand the $girl you used to know has been twisted and broken completely; never to be the same again.
+		<<if $hostage.health.health > -100>>
+			<<run setHealth($hostage, -40, 30, Math.max($hostage.health.longDamage, 30), 2, 100)>>
 		<</if>>
-		<<set $activeSlave.weight = -100>>
-		<<set $activeSlave.muscles = -100>>
+		<<set $hostage.weight = -100>>
+		<<set $hostage.muscles = -100>>
 	<</if>>
 <<case "Degradationism">>
-	<<run setHealth($activeSlave, 60, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 0)>>
+	<<run setHealth($hostage, 60, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 0)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They acted <<s>>o weird!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember, if not slightly more attached to you.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They acted <<s>>o weird!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember, if not slightly more attached to you.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "Will you be a<<s>> kind to me a<<s>> they were?" $He's exactly as you remember, if not slightly more attached to you.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "Will you be a<<s>> kind to me a<<s>> they were?" $He's exactly as you remember, if not slightly more attached to you.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he asks "Will you love me too?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he asks "Will you love me too?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he bluntly says "<<S>>tay away from me you rapi<<s>>t!" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he bluntly says "<<S>>tay away from me you rapi<<s>>t!" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
 	<<else>>
-		<<set $activeSlave.trust = 100>>
+		<<set $hostage.trust = 100>>
 		Your mercenaries radio you upon arrival. "This one's got quite some spunk in $him, you better ready yourself. We're coming in now."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! I've <<s>>een what you do to your $girl<<s>>! You're <<s>>ick! <<S>>ICK! Don't you —"
-		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $activeSlave.slaveName. $He looks the same as you remember,<<if $seePreg != 0>> minus $his rounded belly,<</if>> but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, seeing as $he intends to undermine you at every turn.
+		Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! I've <<s>>een what you do to your $girl<<s>>! You're <<s>>ick! <<S>>ICK! Don't you —"
+		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $hostage.slaveName. $He looks the same as you remember,<<if $seePreg != 0>> minus $his rounded belly,<</if>> but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, seeing as $he intends to undermine you at every turn.
 	<</if>>
 <<case "Body Purism">>
-	<<run setHealth($activeSlave, 0, Math.max($activeSlave.health.shortDamage, 15), Math.max($activeSlave.health.longDamage, 15), 0, 20)>>
+	<<run setHealth($hostage, 0, Math.max($hostage.health.shortDamage, 15), Math.max($hostage.health.longDamage, 15), 0, 20)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName attempts to dive into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>>. The weight of $his huge <<print $activeSlave.boobs>>cc fake tits knocks the wind out of you. You embrace $him as best you can as $he sobs "Look what they did to my che<<s>>t! They ruined it!" $He looks similar to how you remember, minus $his huge chest of course.
+		Upon seeing you, $hostage.slaveName attempts to dive into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>>. The weight of $his huge <<print $hostage.boobs>>cc fake tits knocks the wind out of you. You embrace $him as best you can as $he sobs "Look what they did to my che<<s>>t! They ruined it!" $He looks similar to how you remember, minus $his huge chest of course.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $his massive <<print $activeSlave.boobs>>cc fake tits into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "Why do the<<s>>e tit balloon<<s>> feel so good?!" $He looks similar to how you remember, minus $his massive chest of course.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $his massive <<print $hostage.boobs>>cc fake tits into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "Why do the<<s>>e tit balloon<<s>> feel so good?!" $He looks similar to how you remember, minus $his massive chest of course.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his massive weight back and forth, unsure of what to make of you. As you step forward, $he attempts to move closer, only to fall to the ground under the weight of $his obscene <<print $activeSlave.boobs>>cc fake tits. You kneel beside $him, a hand on $his huge fake ass, as $he asks "Do you like them? I think they <<sh>>ould be bigger..." The $girl you used to know is barely recognizable under those implants and $he certainly doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his massive weight back and forth, unsure of what to make of you. As you step forward, $he attempts to move closer, only to fall to the ground under the weight of $his obscene <<print $hostage.boobs>>cc fake tits. You kneel beside $him, a hand on $his huge fake ass, as $he asks "Do you like them? I think they <<sh>>ould be bigger..." The $girl you used to know is barely recognizable under those implants and $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		$activeSlave.slaveName's impressive bulk is placed in your office. Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth atop $his <<print $activeSlave.boobs>>cc implants, unsure of what to make of you. As you step forward, $he screams "Don't pop my implant<<s>>!" The $girl you used to know is barely recognizable under those implants and $he certainly doesn't think the same anymore.
+		$hostage.slaveName's impressive bulk is placed in your office. Upon seeing you, $hostage.slaveName shifts $his weight back and forth atop $his <<print $hostage.boobs>>cc implants, unsure of what to make of you. As you step forward, $he screams "Don't pop my implant<<s>>!" The $girl you used to know is barely recognizable under those implants and $he certainly doesn't think the same anymore.
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "We got a problem sir. $He, um, isn't going to fit... We could try bringing $him in through the penthouse balcony, but I'd worry about breaking things."
-		Once $activeSlave.slaveName's immense form is safely in the penthouse, you finally get a good look at $him. Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he begins to let out a low growl. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! Flat girl<<s>> are tra<<sh>>! Real men like big fake tit<<s>> and a<<ss>>e<<s>>! You're <<s>>ick! <<S>>ICK! Don't you-"
-		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful." He pats $his grotesque breast, adding "'Least $he won't be going anywhere." He and his group exit your penthouse, leaving you with the enraged $activeSlave.slaveName. The $girl you used to know is barely recognizable under those implants and $he certainly doesn't think the same anymore. Odds are high that $he'll cause problems for you in the future, assuming you can find a doctor to remove those ridiculous implants from $his once flat chest. Or you could leave $him as an immobile ornament, though implants are definitely out of style.
+		Once $hostage.slaveName's immense form is safely in the penthouse, you finally get a good look at $him. Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he begins to let out a low growl. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! Flat girl<<s>> are tra<<sh>>! Real men like big fake tit<<s>> and a<<ss>>e<<s>>! You're <<s>>ick! <<S>>ICK! Don't you-"
+		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful." He pats $his grotesque breast, adding "'Least $he won't be going anywhere." He and his group exit your penthouse, leaving you with the enraged $hostage.slaveName. The $girl you used to know is barely recognizable under those implants and $he certainly doesn't think the same anymore. Odds are high that $he'll cause problems for you in the future, assuming you can find a doctor to remove those ridiculous implants from $his once flat chest. Or you could leave $him as an immobile ornament, though implants are definitely out of style.
 	<</if>>
 <<case "Transformation Fetishism">>
-	<<run setHealth($activeSlave, 60, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 10)>>
+	<<run setHealth($hostage, 60, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 10)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They told me <<s>>uch horrible thing<<s>> about you!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They told me <<s>>uch horrible thing<<s>> about you!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "You aren't going to for<<c>>e implant<<s>> into me, are you?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "You aren't going to for<<c>>e implant<<s>> into me, are you?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he states "Plea<<s>>e don't make me into a blow up doll..." While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he states "Plea<<s>>e don't make me into a blow up doll..." While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he screams "Keep away from me! I don't want balloon<<s>> on my che<<s>>t!" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he screams "Keep away from me! I don't want balloon<<s>> on my che<<s>>t!" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "This one's got quite some spunk in $him, you better ready yourself. We're coming in now."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! I've <<s>>een what you do to your girl<<s>>! Filling them with <<s>>ilicone and implant<<s>> and <<sh>>it! Don't you ever THINK abou-"
-		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $activeSlave.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, given $his hatred for implants.
+		Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! I've <<s>>een what you do to your girl<<s>>! Filling them with <<s>>ilicone and implant<<s>> and <<sh>>it! Don't you ever THINK abou-"
+		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $hostage.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, given $his hatred for implants.
 	<</if>>
 <<case "Youth Preferentialism">>
-	<<run setHealth($activeSlave, 60, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 10)>>
+	<<run setHealth($hostage, 60, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 10)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "Thi<<s>> old _woman2 tried to make me <<his 2>> pet!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "Thi<<s>> old _woman2 tried to make me <<his 2>> pet!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They made me make out with an old lady!" $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They made me make out with an old lady!" $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he asks "<<if $PC.visualAge >= 50>>Were you alway<<s>> that attractive?<<else>>Can I hang out with some MILF<<s>>?<</if>>" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he asks "<<if $PC.visualAge >= 50>>Were you alway<<s>> that attractive?<<else>>Can I hang out with some MILF<<s>>?<</if>>" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		<<set $activeSlave.trust = 40>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he says "<<if $PC.visualAge >= 50>>You know, you're <<s>>oo much older than me... I like that," with a wink.<<elseif $PC.visualAge < 35>>Ew, you're <<s>>oo young. Keep your hand<<s>> off me!<<else>>Can you hook me up with a ni<<c>>e MILF?<</if>>" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
+		<<set $hostage.trust = 40>>
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he says "<<if $PC.visualAge >= 50>>You know, you're <<s>>oo much older than me... I like that," with a wink.<<elseif $PC.visualAge < 35>>Ew, you're <<s>>oo young. Keep your hand<<s>> off me!<<else>>Can you hook me up with a ni<<c>>e MILF?<</if>>" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
 	<<else>>
-		<<run setHealth($activeSlave, 80, $activeSlave.health.shortDamage, $activeSlave.health.longDamage)>>
+		<<run setHealth($hostage, 80, $hostage.health.shortDamage, $hostage.health.longDamage)>>
 		Your mercenaries radio you upon arrival. "This one's got quite some spunk in $him, you better ready yourself. We're coming in now."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "How fucking DARE you <<s>>plit me up from my MILFy <<wife 2>>! I <<s>>aw your arcology on the way in, and it'<<s>> <<S>>ICK. <<S>>o many young _girlU<<s>>, you're <<s>>ick, you hear me!? <<S>>I-"
-		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $activeSlave.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, given $his hatred for young people.
+		Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "How fucking DARE you <<s>>plit me up from my MILFy <<wife 2>>! I <<s>>aw your arcology on the way in, and it'<<s>> <<S>>ICK. <<S>>o many young _girlU<<s>>, you're <<s>>ick, you hear me!? <<S>>I-"
+		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $hostage.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, given $his hatred for young people.
 	<</if>>
 <<case "Maturity Preferentialism">>
-	<<run setHealth($activeSlave, 60, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 10)>>
+	<<run setHealth($hostage, 60, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 10)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "Thi<<s>> young _girl2 kept mole<<s>>ting me!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "Thi<<s>> young _girl2 kept mole<<s>>ting me!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They made me make out with <<s>>ome young harlot!" $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They made me make out with <<s>>ome young harlot!" $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he asks "<<if $PC.visualAge < 35>>Were you alway<<s>> that attractive?<<else>>Can I hang out with the re<<s>>t of the young ladie<<s>>?<</if>>" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he asks "<<if $PC.visualAge < 35>>Were you alway<<s>> that attractive?<<else>>Can I hang out with the re<<s>>t of the young ladie<<s>>?<</if>>" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		<<set $activeSlave.trust = 40>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he says "<<if $PC.visualAge < 35>>You know, you're <<s>>oo young... I like that," with a wink.<<elseif $PC.visualAge >= 50>>Ew, you're <<s>>oo old. Keep your hand<<s>> off me!<<else>>Can you hook me up with a ni<<c>>e young _girl2?<</if>>". While $he looks the same as you remember, $he definitely doesn't think the same anymore.
+		<<set $hostage.trust = 40>>
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he says "<<if $PC.visualAge < 35>>You know, you're <<s>>oo young... I like that," with a wink.<<elseif $PC.visualAge >= 50>>Ew, you're <<s>>oo old. Keep your hand<<s>> off me!<<else>>Can you hook me up with a ni<<c>>e young _girl2?<</if>>". While $he looks the same as you remember, $he definitely doesn't think the same anymore.
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "This one's got quite some spunk in $him, you better ready yourself. We're coming in now."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "How fucking DARE you <<s>>plit me up from my youthful <<wife 2>>! I <<s>>aw your arcology on the way in, and it'<<s>> <<S>>ICK. <<S>>o many old ladie<<s>>, you're <<s>>ick, you hear me!? <<S>>I-"
-		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $activeSlave.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, given $his hatred for older people.
+		Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "How fucking DARE you <<s>>plit me up from my youthful <<wife 2>>! I <<s>>aw your arcology on the way in, and it'<<s>> <<S>>ICK. <<S>>o many old ladie<<s>>, you're <<s>>ick, you hear me!? <<S>>I-"
+		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $hostage.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, given $his hatred for older people.
 	<</if>>
 <<case "Slimness Enthusiasm">>
-	<<run setHealth($activeSlave, -30, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 40)>>
-	<<set $activeSlave.chem = 100>>
+	<<run setHealth($hostage, -30, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 40)>>
+	<<set $hostage.chem = 100>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName attempts to dive into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>>. The weight of $his huge <<print $activeSlave.boobs>>cc tits knocks the wind out of you. You embrace $him as best you can, you hands sinking into $his soft butt, as $he sobs "Look what they did to my che<<s>>t and a<<ss>>! They ruined them!" $He looks similar to how you remember, minus $his huge assets of course.
+		Upon seeing you, $hostage.slaveName attempts to dive into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>>. The weight of $his huge <<print $hostage.boobs>>cc tits knocks the wind out of you. You embrace $him as best you can, you hands sinking into $his soft butt, as $he sobs "Look what they did to my che<<s>>t and a<<ss>>! They ruined them!" $He looks similar to how you remember, minus $his huge assets of course.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $his massive <<print $activeSlave.boobs>>cc breasts into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "Why do the<<s>>e meat balloon<<s>> feel <<s>>o good?!" $He looks similar to how you remember, minus $his massive assets of course.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $his massive <<print $hostage.boobs>>cc breasts into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "Why do the<<s>>e meat balloon<<s>> feel <<s>>o good?!" $He looks similar to how you remember, minus $his massive assets of course.
 	<<elseif $rivalryDuration <= 15>>
-		$activeSlave.slaveName's impressive bulk is placed in your office. Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth atop $his <<print $activeSlave.boobs>>cc breasts, causing $his chubby body and fat ass to jiggle, unsure of what to make of you. As you step forward, $he asks "Can you make my tit<<s>> bigger?" The $girl you used to know is barely recognizable under those massive tits and $he certainly doesn't think the same anymore.
+		$hostage.slaveName's impressive bulk is placed in your office. Upon seeing you, $hostage.slaveName shifts $his weight back and forth atop $his <<print $hostage.boobs>>cc breasts, causing $his chubby body and fat ass to jiggle, unsure of what to make of you. As you step forward, $he asks "Can you make my tit<<s>> bigger?" The $girl you used to know is barely recognizable under those massive tits and $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		$activeSlave.slaveName's impressive bulk is placed in your office. Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth atop $his <<print $activeSlave.boobs>>cc implants, causing $his plump body and huge ass to jiggle, unsure of what to make of you. As you step forward, $he screams "Don't take my brea<<s>>t<<s>> away!" The $girl you used to know is barely recognizable under those immense tits and $he certainly doesn't think the same anymore.
+		$hostage.slaveName's impressive bulk is placed in your office. Upon seeing you, $hostage.slaveName shifts $his weight back and forth atop $his <<print $hostage.boobs>>cc implants, causing $his plump body and huge ass to jiggle, unsure of what to make of you. As you step forward, $he screams "Don't take my brea<<s>>t<<s>> away!" The $girl you used to know is barely recognizable under those immense tits and $he certainly doesn't think the same anymore.
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "We got a problem sir. $He, um, isn't going to fit... We could try bringing $him in through the penthouse balcony, but I'd worry about breaking things."
-		Once $activeSlave.slaveName's immense form is safely in the penthouse, you finally get a good look at $him. Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he begins to let out a low growl. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! Flat girl<<s>> are tra<<sh>>! Real men like big tit<<s>> and a<<ss>>e<<s>>! You're <<s>>ick! <<S>>ICK! Don't you —"
-		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful." He pats $his grotesque breast, adding "'Least $he won't be going anywhere." He and his group exit your penthouse, leaving you with the enraged and struggling $activeSlave.slaveName. You sigh at the amount of motion running through $his absurd tits, mountainous ass, and obese body. The $girl you used to know is barely recognizable under all that flesh and $he certainly doesn't think the same anymore. Odds are high that $he'll cause problems for you in the future, once $his body sheds the weight. Or you could leave $him as an immobile ornament, though assets of that size are definitely out of style.
+		Once $hostage.slaveName's immense form is safely in the penthouse, you finally get a good look at $him. Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he begins to let out a low growl. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! Flat girl<<s>> are tra<<sh>>! Real men like big tit<<s>> and a<<ss>>e<<s>>! You're <<s>>ick! <<S>>ICK! Don't you —"
+		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful." He pats $his grotesque breast, adding "'Least $he won't be going anywhere." He and his group exit your penthouse, leaving you with the enraged and struggling $hostage.slaveName. You sigh at the amount of motion running through $his absurd tits, mountainous ass, and obese body. The $girl you used to know is barely recognizable under all that flesh and $he certainly doesn't think the same anymore. Odds are high that $he'll cause problems for you in the future, once $his body sheds the weight. Or you could leave $him as an immobile ornament, though assets of that size are definitely out of style.
 	<</if>>
 <<case "Asset Expansionism">>
-	<<run setHealth($activeSlave, 60, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 10)>>
+	<<run setHealth($hostage, 60, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 10)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They told me <<s>>uch horrible thing<<s>> about you!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They told me <<s>>uch horrible thing<<s>> about you!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "You aren't going to make my tit<<s>> huge, are you?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "You aren't going to make my tit<<s>> huge, are you?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he pleads "Plea<<s>>e don't turn me into a big boobed freak..." While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he pleads "Plea<<s>>e don't turn me into a big boobed freak..." While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he screams "Keep away from me! I don't want tit<<s>> bigger than my body!" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he screams "Keep away from me! I don't want tit<<s>> bigger than my body!" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "This one's got quite some spunk in $him, you better ready yourself. We're coming in now."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! I've <<s>>een what you do to your girl<<s>>! Filling them up with growth drug<<s>>! Don't you ever THINK abou-"
-		The mercenary captain quickly gags $him. "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $activeSlave.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, given $his hatred for huge assets.
+		Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! I've <<s>>een what you do to your girl<<s>>! Filling them up with growth drug<<s>>! Don't you ever THINK abou-"
+		The mercenary captain quickly gags $him. "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $hostage.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, given $his hatred for huge assets.
 	<</if>>
 <<case "Pastoralism">>
-	<<run setHealth($activeSlave, 60, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 70)>>
+	<<run setHealth($hostage, 60, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 70)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "I've never had to e<<x>>er<<c>>i<<s>>e <<s>>o much; I'm exhau<<s>>ted!" You gently wrap your arms around $his soft body in a comforting embrace. $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "I've never had to e<<x>>er<<c>>i<<s>>e <<s>>o much; I'm exhau<<s>>ted!" You gently wrap your arms around $his soft body in a comforting embrace. $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>>, feeling the muscles under $his chubby body, as $he breaks down in tears. "You aren't going to make me pump iron, are you?" While $he's thinner than you remember, and a little more muscular, $his personality is exactly the same.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>>, feeling the muscles under $his chubby body, as $he breaks down in tears. "You aren't going to make me pump iron, are you?" While $he's thinner than you remember, and a little more muscular, $his personality is exactly the same.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he says "I don't want to ever be <<s>>o heavy again..." $He is noticeably thinner and much more muscular than you remember; $he certainly doesn't think the same anymore, either.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he says "I don't want to ever be <<s>>o heavy again..." $He is noticeably thinner and much more muscular than you remember; $he certainly doesn't think the same anymore, either.
 	<<elseif $rivalryDuration <= 20>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he screams "Keep away from me! I don't want ever want to be a fat cow again!" $He is thin and extremely muscular, a stark difference from the soft, chubby $girl you used to know; $he certainly doesn't think the same anymore, either.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he screams "Keep away from me! I don't want ever want to be a fat cow again!" $He is thin and extremely muscular, a stark difference from the soft, chubby $girl you used to know; $he certainly doesn't think the same anymore, either.
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "We have a problem, sir. This one is a fighter, $he already broke one of our guy's jaw. We think $he is tranq'd and restrained enough to bring in. Please be ready."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! I'll never be a cow again. DON'T YOU DARE TOUCH ME!"
-		The mercenary captain is thrown back as $he explodes out of $his restraints, having been preparing to gag $him. The rest of the troop center their weapons on $him, forcing $him to back down. $He glares at you as the captain picks himself up and exits your penthouse, leaving you with the enraged $activeSlave.slaveName. $He grunts as $he exits the office for the slave quarters, stopping in the doorway. "I'll be your <<s>>lave, but you're going to be <<s>>orry." With a hand on each door frame, $he rips it out of the wall. $He lets out a single laugh while scowling at you. $He is thin and extremely muscular, a stark difference from the soft, chubby $girl you used to know; $he certainly doesn't think the same anymore, either. Odds are high that $he'll cause problems for you in the future, given $his hatred for you and $his frightening strength.
+		Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! I'll never be a cow again. DON'T YOU DARE TOUCH ME!"
+		The mercenary captain is thrown back as $he explodes out of $his restraints, having been preparing to gag $him. The rest of the troop center their weapons on $him, forcing $him to back down. $He glares at you as the captain picks himself up and exits your penthouse, leaving you with the enraged $hostage.slaveName. $He grunts as $he exits the office for the slave quarters, stopping in the doorway. "I'll be your <<s>>lave, but you're going to be <<s>>orry." With a hand on each door frame, $he rips it out of the wall. $He lets out a single laugh while scowling at you. $He is thin and extremely muscular, a stark difference from the soft, chubby $girl you used to know; $he certainly doesn't think the same anymore, either. Odds are high that $he'll cause problems for you in the future, given $his hatred for you and $his frightening strength.
 	<</if>>
 <<case "Cummunism">>
-	<<run setHealth($activeSlave, -30, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 10)>>
+	<<run setHealth($hostage, -30, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 10)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName attempts to dive into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>>. The weight of $his huge <<print $activeSlave.boobs>>cc tits knocks the wind out of you. You embrace $him as best you can, you hands sinking into $his soft butt, as $he sobs "They made me fat! My nipple<<s>> won't <<s>>top leaking milk!" $He looks similar to how you remember, minus $his huge milky assets of course.
+		Upon seeing you, $hostage.slaveName attempts to dive into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>>. The weight of $his huge <<print $hostage.boobs>>cc tits knocks the wind out of you. You embrace $him as best you can, you hands sinking into $his soft butt, as $he sobs "They made me fat! My nipple<<s>> won't <<s>>top leaking milk!" $He looks similar to how you remember, minus $his huge milky assets of course.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $his massive <<print $activeSlave.boobs>>cc milky breasts into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "Why did they make me into a cow, I don't under<<s>>tand..." $He looks similar to how you remember, minus $his massive assets of course.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $his massive <<print $hostage.boobs>>cc milky breasts into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "Why did they make me into a cow, I don't under<<s>>tand..." $He looks similar to how you remember, minus $his massive assets of course.
 	<<elseif $rivalryDuration <= 15>>
-		$activeSlave.slaveName's impressive bulk is placed in your office. Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth atop $his <<print $activeSlave.boobs>>cc breasts, causing $his chubby body and fat ass to jiggle, unsure of what to make of you. As you step forward, $he asks "Can you milk me?" The $girl you used to know is barely recognizable under all that fat and $he certainly doesn't think the same anymore.
+		$hostage.slaveName's impressive bulk is placed in your office. Upon seeing you, $hostage.slaveName shifts $his weight back and forth atop $his <<print $hostage.boobs>>cc breasts, causing $his chubby body and fat ass to jiggle, unsure of what to make of you. As you step forward, $he asks "Can you milk me?" The $girl you used to know is barely recognizable under all that fat and $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		<<set $activeSlave.trust = 40>>
-		$activeSlave.slaveName's impressive bulk is placed in your office. Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth atop $his <<print $activeSlave.boobs>>cc breasts, causing $his fat body and huge ass to jiggle, unsure of what to make of you. As you step forward, $he asks "I hear a baby will make my milk better, would you like to try?" The $girl you used to know is barely recognizable under those immense tits and obese body; $he certainly doesn't think the same anymore, either.
+		<<set $hostage.trust = 40>>
+		$hostage.slaveName's impressive bulk is placed in your office. Upon seeing you, $hostage.slaveName shifts $his weight back and forth atop $his <<print $hostage.boobs>>cc breasts, causing $his fat body and huge ass to jiggle, unsure of what to make of you. As you step forward, $he asks "I hear a baby will make my milk better, would you like to try?" The $girl you used to know is barely recognizable under those immense tits and obese body; $he certainly doesn't think the same anymore, either.
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "We got a problem sir. $He, um, isn't going to fit... We could try bringing $him in through the penthouse balcony, but I'd worry about breaking things."
-		Once $activeSlave.slaveName's immense form is safely in the penthouse, you finally get a good look at $him. Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he begins to let out a low growl. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! Fit girl<<s>> are tra<<sh>>! Real men like big <<s>>oft bodie<<s>>! You're <<s>>ick! <<S>>ICK! Don't you —"
-		The mercenary captain quickly gags $him. "My apologies, I did warn you $he was a handful." He pats $his grotesque breast, adding "'Least $he won't be going anywhere." He and his group exit your penthouse, leaving you with the enraged and struggling $activeSlave.slaveName. You sigh at the amount of motion running through $his absurd tits, mountainous ass, and obese body. The $girl you used to know is barely recognizable under all that flesh and $he certainly doesn't think the same anymore. Odds are high that $he'll cause problems for you in the future, once $his body sheds the weight. Or you could leave $him as an immobile ornament, though assets of that size are definitely out of style.
+		Once $hostage.slaveName's immense form is safely in the penthouse, you finally get a good look at $him. Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he begins to let out a low growl. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! Fit girl<<s>> are tra<<sh>>! Real men like big <<s>>oft bodie<<s>>! You're <<s>>ick! <<S>>ICK! Don't you —"
+		The mercenary captain quickly gags $him. "My apologies, I did warn you $he was a handful." He pats $his grotesque breast, adding "'Least $he won't be going anywhere." He and his group exit your penthouse, leaving you with the enraged and struggling $hostage.slaveName. You sigh at the amount of motion running through $his absurd tits, mountainous ass, and obese body. The $girl you used to know is barely recognizable under all that flesh and $he certainly doesn't think the same anymore. Odds are high that $he'll cause problems for you in the future, once $his body sheds the weight. Or you could leave $him as an immobile ornament, though assets of that size are definitely out of style.
 	<</if>>
 <<case "Physical Idealism">>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>>, $his added heft knocking the wind out of you. You gently wrap your arms around $him in a comforting embrace, your arms gently sinking into $his soft flesh, as $he sobs, "They made me fat! I'm <<s>>o glad tho<<s>>e guy<<s>> let me puke up all that food; I don't even want to think how big I'd be otherwi<<s>>e!" $He looks similar to how you remember, thanks to the pudge, though that can be easily rectified.
-		<<run setHealth($activeSlave, 0, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 0)>>
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>>, $his added heft knocking the wind out of you. You gently wrap your arms around $him in a comforting embrace, your arms gently sinking into $his soft flesh, as $he sobs, "They made me fat! I'm <<s>>o glad tho<<s>>e guy<<s>> let me puke up all that food; I don't even want to think how big I'd be otherwi<<s>>e!" $He looks similar to how you remember, thanks to the pudge, though that can be easily rectified.
+		<<run setHealth($hostage, 0, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 0)>>
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $his meaty body into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "Why did they make me into a <<s>>ow, I don't under<<s>>tand..." $He looks similar to how you remember, minus $his added weight of course.
-		<<run setHealth($activeSlave, -10, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 0)>>
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $his meaty body into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "Why did they make me into a <<s>>ow, I don't under<<s>>tand..." $He looks similar to how you remember, minus $his added weight of course.
+		<<run setHealth($hostage, -10, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 0)>>
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth causing $his plump body, big breasts and fat ass to jiggle, unsure of what to make of you. As you step forward, $he asks "Can I have <<s>>ome food?" The $girl you used to know is barely recognizable under all that fat and $he certainly doesn't think the same anymore.
-		<<run setHealth($activeSlave, -30, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 0)>>
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth causing $his plump body, big breasts and fat ass to jiggle, unsure of what to make of you. As you step forward, $he asks "Can I have <<s>>ome food?" The $girl you used to know is barely recognizable under all that fat and $he certainly doesn't think the same anymore.
+		<<run setHealth($hostage, -30, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 0)>>
 	<<elseif $rivalryDuration <= 20>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth causing $his fat body to jiggle, unsure of what to make of you. As you step forward, $he stumbles back. After several steps, $he screams "Keep away from me! I don't want to work out! <<S>>tuffing my fa<<c>>e and hole<<s>> whenever I plea<<s>>e i<<s>> too much fun!" The $girl you used to know is barely recognizable under that obese body; $he certainly doesn't think the same anymore, either.
-		<<run setHealth($activeSlave, -50, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 0)>>
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth causing $his fat body to jiggle, unsure of what to make of you. As you step forward, $he stumbles back. After several steps, $he screams "Keep away from me! I don't want to work out! <<S>>tuffing my fa<<c>>e and hole<<s>> whenever I plea<<s>>e i<<s>> too much fun!" The $girl you used to know is barely recognizable under that obese body; $he certainly doesn't think the same anymore, either.
+		<<run setHealth($hostage, -50, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 0)>>
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "We got a problem sir. $He, um, is rather heavy and can't walk well... We're working our way up, but, do you have a freight elevator by chance?"
-		Once $activeSlave.slaveName's hugely fat ass is safely in the penthouse, you finally get a good look at $him. Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he begins to let out a low growl. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! Fit girl<<s>> are tra<<sh>>! Real men like big <<s>>oft bodie<<s>>! You're <<s>>ick! <<S>>ICK! Don't you —"
+		Once $hostage.slaveName's hugely fat ass is safely in the penthouse, you finally get a good look at $him. Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he begins to let out a low growl. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! Fit girl<<s>> are tra<<sh>>! Real men like big <<s>>oft bodie<<s>>! You're <<s>>ick! <<S>>ICK! Don't you —"
 		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful." He pats $his fat coated shoulder, to which $he immediately sits down. Several mercs join their captain in trying to pull $him back to $his feet. A load crack and a groan of pain escapes the captain as he drops to the ground clutching his back. His comrades quickly help him from the penthouse, leaving you to deal with the scowling blob of fat and flesh. $He is intent on not budging from that spot and you aren't interested in breaking anything, though you're certain $he'll be begging for food within an hour and easily manipulated. $He is massively fat, a stark difference from the fit, thin $girl you used to know; $he certainly doesn't think the same anymore, either. Odds are high that $he'll cause problems for you in the future, be it breaking furniture or getting stuck in doors, though given $his rather laid back life up until this point, $he is likely to be quite malleable. Though $he is wheezing quite a lot considering $he is just sitting there.
-		<<run setHealth($activeSlave, -80, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 0)>>
+		<<run setHealth($hostage, -80, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 0)>>
 	<</if>>
 <<case "Hedonistic Decadence">>
-	<<run setHealth($activeSlave, 60, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 70)>>
+	<<run setHealth($hostage, 60, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 70)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "I've never had to e<<x>>er<<c>>i<<s>>e <<s>>o much, I'm exhau<<s>>ted!" You gently wrap your arms around $his soft body in a comforting embrace. $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "I've never had to e<<x>>er<<c>>i<<s>>e <<s>>o much, I'm exhau<<s>>ted!" You gently wrap your arms around $his soft body in a comforting embrace. $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>>, feeling the muscles under $his chubby body, as $he breaks down in tears. "You aren't going to make me pump iron, are you?" While $he's thinner than you remember, and a little more muscular, $his personality is exactly the same.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>>, feeling the muscles under $his chubby body, as $he breaks down in tears. "You aren't going to make me pump iron, are you?" While $he's thinner than you remember, and a little more muscular, $his personality is exactly the same.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he says "I don't want to ever be <<s>>o heavy again..." $He is noticeably thinner and much more muscular than you remember; $he certainly doesn't think the same anymore, either.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he says "I don't want to ever be <<s>>o heavy again..." $He is noticeably thinner and much more muscular than you remember; $he certainly doesn't think the same anymore, either.
 	<<elseif $rivalryDuration <= 20>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he screams "Keep away from me! I don't want ever want to be a fat <<s>>ow again!" $He is thin and extremely muscular, a stark difference from the soft, chubby $girl you used to know; $he certainly doesn't think the same anymore, either.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he screams "Keep away from me! I don't want ever want to be a fat <<s>>ow again!" $He is thin and extremely muscular, a stark difference from the soft, chubby $girl you used to know; $he certainly doesn't think the same anymore, either.
 	<<else>>
-		<<set $activeSlave.trust = 100>>
+		<<set $hostage.trust = 100>>
 		Your mercenaries radio you upon arrival. "We have a problem, sir. This one is a fighter, $he already broke one of our guy's jaw. We think $he is tranq'd and restrained enough to bring in. Please be ready."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! I'll never be a cow again. DON'T YOU DARE TOUCH ME!"
-		The mercenary captain is thrown back as $he explodes out of $his restraints, having been preparing to gag $him. The rest of the troop center their weapons on $him, forcing $him to back down. $He glares at you as the captain picks himself up and exits your penthouse, leaving you with the enraged $activeSlave.slaveName. $He grunts as $he exits the office for the slave quarters, stopping in the doorway. "I'll be your <<s>>lave, but you're going to be <<s>>orry." With a hand on each door frame, $he rips it out of the wall. $He lets out a single laugh while scowling at you. $He is thin and extremely muscular, a stark difference from the soft, chubby $girl you used to know; $he certainly doesn't think the same anymore, either. Odds are high that $he'll cause problems for you in the future, given $his hatred for you and $his frightening strength.
+		Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you <<s>>ick fuck! I'll never be a cow again. DON'T YOU DARE TOUCH ME!"
+		The mercenary captain is thrown back as $he explodes out of $his restraints, having been preparing to gag $him. The rest of the troop center their weapons on $him, forcing $him to back down. $He glares at you as the captain picks himself up and exits your penthouse, leaving you with the enraged $hostage.slaveName. $He grunts as $he exits the office for the slave quarters, stopping in the doorway. "I'll be your <<s>>lave, but you're going to be <<s>>orry." With a hand on each door frame, $he rips it out of the wall. $He lets out a single laugh while scowling at you. $He is thin and extremely muscular, a stark difference from the soft, chubby $girl you used to know; $he certainly doesn't think the same anymore, either. Odds are high that $he'll cause problems for you in the future, given $his hatred for you and $his frightening strength.
 	<</if>>
 <<case "Chattel Religionism">>
-	<<run setHealth($activeSlave, 50, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 10)>>
+	<<run setHealth($hostage, 50, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 10)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They told me <<s>>uch horrible thing<<s>> about you!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They told me <<s>>uch horrible thing<<s>> about you!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "You aren't trying to make <<s>>ome cra<<z>>y religion, are you?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "You aren't trying to make <<s>>ome cra<<z>>y religion, are you?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he pleads "Plea<<s>>e don't turn me into a di<<sc>>iple of your religion..." While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he pleads "Plea<<s>>e don't turn me into a di<<sc>>iple of your religion..." While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he screams "Keep away from me! I don't want to be part of your cult!" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he screams "Keep away from me! I don't want to be part of your cult!" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "This one's got quite some spunk in $him, you better ready yourself. We're coming in now."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you cra<<z>>y <<ps>>ycho! Making your own religion, bla<<s>>phemou<<s>>! You think your<<s>>elf a proph-"
-		The mercenary captain quickly gags $him. "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says, as he and his group exit your penthouse, leaving you with the enraged $activeSlave.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future.
+		Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you cra<<z>>y <<ps>>ycho! Making your own religion, bla<<s>>phemou<<s>>! You think your<<s>>elf a proph-"
+		The mercenary captain quickly gags $him. "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says, as he and his group exit your penthouse, leaving you with the enraged $hostage.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future.
 	<</if>>
 <<case "Multiculturalism">>
-	<<run setHealth($activeSlave, 60, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 10)>>
+	<<run setHealth($hostage, 60, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 10)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They <<s>>aid <<s>>uch cra<<z>>y thing<<s>>!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They <<s>>aid <<s>>uch cra<<z>>y thing<<s>>!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They made me pray for your arcology; why i<<s>> that?" $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They made me pray for your arcology; why i<<s>> that?" $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he prays "Plea<<s>>e pardon thi<<s>> arcology..." While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he prays "Plea<<s>>e pardon thi<<s>> arcology..." While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		<<set $activeSlave.trust = 40>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he drops to $his <<if hasBothLegs($activeSlave)>>$his knees<<else>>the ground<</if>> and begins praying "Plea<<s>>e pardon thi<<s>> arcology'<<s>> <<s>>in<<s>>! They know naught what they do!" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
+		<<set $hostage.trust = 40>>
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he drops to $his <<if hasBothLegs($hostage)>>$his knees<<else>>the ground<</if>> and begins praying "Plea<<s>>e pardon thi<<s>> arcology'<<s>> <<s>>in<<s>>! They know naught what they do!" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "This one's got quite a mouth on $him, you better ready yourself. We're coming in now."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with a mercy. As you step forward, $he stands $his ground. After several steps, $he shouts "Be <<s>>till, I'll lead your arcology to <<s>>alvation. Pla<<c>>e your faith in me and be <<s>>av-"
-		The mercenary captain quickly gags $him. "My apologies, I did warn you about that mouth. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the disappointed $activeSlave.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, trying to preach $his new faith.
+		Upon seeing you, $hostage.slaveName's eyes fill with a mercy. As you step forward, $he stands $his ground. After several steps, $he shouts "Be <<s>>till, I'll lead your arcology to <<s>>alvation. Pla<<c>>e your faith in me and be <<s>>av-"
+		The mercenary captain quickly gags $him. "My apologies, I did warn you about that mouth. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the disappointed $hostage.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, trying to preach $his new faith.
 	<</if>>
 <<case "Intellectual Dependency">>
-	<<run setHealth($activeSlave, 80, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 5)>>
+	<<run setHealth($hostage, 80, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 5)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They tried to teach me the mo<<s>>t ob<<sc>>ene thing<<s>>!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They tried to teach me the mo<<s>>t ob<<sc>>ene thing<<s>>!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They made me a whore. I feel <<s>>o di<<s>>gu<<s>>ting..." $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They made me a whore. I feel <<s>>o di<<s>>gu<<s>>ting..." $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 15>>
-		<<set $activeSlave.devotion = 40>>
-		<<set $activeSlave.trust = 40>>
-		Upon seeing you, $activeSlave.slaveName stiffens up and waits for you to make a move. $He holds completely still, even as you place a hand on $his shoulder. $He stutters out a quiet "<<Master>>? W-what may I do f-for you?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		<<set $hostage.devotion = 40>>
+		<<set $hostage.trust = 40>>
+		Upon seeing you, $hostage.slaveName stiffens up and waits for you to make a move. $He holds completely still, even as you place a hand on $his shoulder. $He stutters out a quiet "<<Master>>? W-what may I do f-for you?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		<<set $activeSlave.devotion = 65>>
-		<<set $activeSlave.trust = 65>>
-		Upon seeing you, $activeSlave.slaveName graciously bows, giving you a lovely view down $his cleavage. $He holds this position, before stating "My body i<<s>> your<<s>> to u<<s>>e." While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		<<set $hostage.devotion = 65>>
+		<<set $hostage.trust = 65>>
+		Upon seeing you, $hostage.slaveName graciously bows, giving you a lovely view down $his cleavage. $He holds this position, before stating "My body i<<s>> your<<s>> to u<<s>>e." While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<else>>
-		<<set $activeSlave.devotion = 100>>
-		<<set $activeSlave.trust = 100>>
-		Upon seeing you, $activeSlave.slaveName graciously bows, giving you a lovely view down $his cleavage, before resuming $his perfect stance. "I am your property now and any thought<<s>> of my previou<<s>> owner are no longer relevant. Any feeling<<s>> I may have had have been left behind and will not influen<<c>>e me. I am your<<s>> to u<<s>>e a<<s>> you plea<<s>>e, no matter what the outcome may be. How may I <<s>>ervi<<c>>e you, <<Master>>?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		<<set $hostage.devotion = 100>>
+		<<set $hostage.trust = 100>>
+		Upon seeing you, $hostage.slaveName graciously bows, giving you a lovely view down $his cleavage, before resuming $his perfect stance. "I am your property now and any thought<<s>> of my previou<<s>> owner are no longer relevant. Any feeling<<s>> I may have had have been left behind and will not influen<<c>>e me. I am your<<s>> to u<<s>>e a<<s>> you plea<<s>>e, no matter what the outcome may be. How may I <<s>>ervi<<c>>e you, <<Master>>?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<</if>>
 <<case "Slave Professionalism">>
-	<<run setHealth($activeSlave, 60, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 0)>>
+	<<run setHealth($hostage, 60, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 0)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They did thing<<s>> to me! My head hurt<<s>> <<s>>o much..." You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They did thing<<s>> to me! My head hurt<<s>> <<s>>o much..." You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "I can barely remember thing<<s>> anymore; who were you again? I hate to a<<s>>k, but... I need a good fuck right now..." While $he looks the same as you remember, $he certainly can't think the same anymore.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "I can barely remember thing<<s>> anymore; who were you again? I hate to a<<s>>k, but... I need a good fuck right now..." While $he looks the same as you remember, $he certainly can't think the same anymore.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he bounces into your arms. "Wanna do it?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he bounces into your arms. "Wanna do it?" While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		Upon seeing you, $activeSlave.slaveName wastes no time in <<if $PC.dick != 0>>unbuckling your pants<<else>>slipping under your skirt<</if>> and going to town. While $he looks the same as you remember<<if $seePreg != 0>>, albeit a little pregnant<</if>>, $he definitely doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName wastes no time in <<if $PC.dick != 0>>unbuckling your pants<<else>>slipping under your skirt<</if>> and going to town. While $he looks the same as you remember<<if $seePreg != 0>>, albeit a little pregnant<</if>>, $he definitely doesn't think the same anymore.
 	<<else>>
 		Your mercenaries radio you upon arrival. "This one's got one thing $his mind, you better ready yourself. We're coming in now."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with excitement. As you step forward, $he struggles against $his bindings, desperately trying to get loose. The mercenary captain yanks $him back. "My apologies, the only thing left of $his mind is a libido it feels like. Please be careful when you unbind $him, $he's nothing more than a horny idiot now." he says as he and his group exit your penthouse, leaving you with the dripping $activeSlave.slaveName. $He looks the same as you remember<<if $seePreg != 0>>, albeit a little pregnant<</if>>, but $he acts nothing like the $girl you used to know. $He's probably too dumb to manage to cause any trouble, but is likely to be high maintenance given $his ineptitude and nymphomania.
+		Upon seeing you, $hostage.slaveName's eyes fill with excitement. As you step forward, $he struggles against $his bindings, desperately trying to get loose. The mercenary captain yanks $him back. "My apologies, the only thing left of $his mind is a libido it feels like. Please be careful when you unbind $him, $he's nothing more than a horny idiot now." he says as he and his group exit your penthouse, leaving you with the dripping $hostage.slaveName. $He looks the same as you remember<<if $seePreg != 0>>, albeit a little pregnant<</if>>, but $he acts nothing like the $girl you used to know. $He's probably too dumb to manage to cause any trouble, but is likely to be high maintenance given $his ineptitude and nymphomania.
 	<</if>>
 <<case "Petite Admiration">>
-	<<run setHealth($activeSlave, 60, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 10)>>
+	<<run setHealth($hostage, 60, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 10)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "Thi<<s>> giant _woman2 tried to make me <<his 2>> pet!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "Thi<<s>> giant _woman2 tried to make me <<his 2>> pet!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They made me make out with a giant!" $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They made me make out with a giant!" $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he asks
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he asks
 		/* player height check here */
 		"Can I hang out with someone taller than me?"
 		While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		<<set $activeSlave.trust = 40>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he says
+		<<set $hostage.trust = 40>>
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he says
 		/* player height check here */
 		"Can you hook me up with someone ni<<c>>e and tall?"
 		While $he looks the same as you remember, $he definitely doesn't think the same anymore.
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "This one's got quite some spunk in $him, you better ready yourself. We're coming in now."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "How fucking DARE you <<s>>plit me up from my <<s>>weet giant! I <<s>>aw your arcology on the way in, and it'<<s>> <<S>>ICK. <<S>>o many little girl<<s>>, you're <<s>>ick, you hear me!? <<S>>I-"
-		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $activeSlave.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, given $his hatred for the short.
+		Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "How fucking DARE you <<s>>plit me up from my <<s>>weet giant! I <<s>>aw your arcology on the way in, and it'<<s>> <<S>>ICK. <<S>>o many little girl<<s>>, you're <<s>>ick, you hear me!? <<S>>I-"
+		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $hostage.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, given $his hatred for the short.
 	<</if>>
 <<case "Statuesque Glorification">>
-	<<run setHealth($activeSlave, 60, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 10)>>
+	<<run setHealth($hostage, 60, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 10)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "Thi<<s>> midget kept mole<<s>>ting me!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "Thi<<s>> midget kept mole<<s>>ting me!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They made me get on <<if hasBothLegs($activeSlave)>>my knee<<s>><<else>>the ground<</if>> and make out with <<s>>ome tiny harlot!" $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears. "They made me get on <<if hasBothLegs($hostage)>>my knee<<s>><<else>>the ground<</if>> and make out with <<s>>ome tiny harlot!" $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he asks
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he asks
 		/* player height check here */
 		"I<<s>> there anyone <<sh>>orter I can hang out with around here?"
 		While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		<<set $activeSlave.trust = 40>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he says
+		<<set $hostage.trust = 40>>
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he says
 		/* player height check here */
 		"Can you hook me up with <<s>>omeone on the <<sh>>ort <<s>>ide? I didn't really noti<<c>>e anyone on the way in..."
 		While $he looks the same as you remember, $he definitely doesn't think the same anymore.
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "This one's got quite some spunk in $him, you better ready yourself. We're coming in now."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "How fucking DARE you <<s>>plit me up from my little <<wife 2>>! There wa<<s>> more love in <<his 2>> tiny body than in your entire arcology! To think that you fuck<<s>> pla<<c>>e everything on hei-"
-		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $activeSlave.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, given $his hatred for tall people.
+		Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "How fucking DARE you <<s>>plit me up from my little <<wife 2>>! There wa<<s>> more love in <<his 2>> tiny body than in your entire arcology! To think that you fuck<<s>> pla<<c>>e everything on hei-"
+		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $hostage.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future, given $his hatred for tall people.
 	<</if>>
 <<default>>
-	<<run setHealth($activeSlave, 40, $activeSlave.health.shortDamage, $activeSlave.health.longDamage, 0, 10)>>
+	<<run setHealth($hostage, 40, $hostage.health.shortDamage, $hostage.health.longDamage, 0, 10)>>
 	<<if $rivalryDuration <= 5>>
-		Upon seeing you, $activeSlave.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They told me <<s>>uch horrible thing<<s>> about you!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
+		Upon seeing you, $hostage.slaveName dives into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> sobbing "They told me <<s>>uch horrible thing<<s>> about you!" You gently wrap your arms around $him in a comforting embrace. $He's exactly as you remember.
 	<<elseif $rivalryDuration <= 10>>
-		Upon seeing you, $activeSlave.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears.
+		Upon seeing you, $hostage.slaveName gingerly approaches, uncertain if $he should. You pull $him into your <<if $PC.boobs >= 650>>ample bust<<else>>chest<</if>> as $he breaks down in tears.
 		<<if $rivalryFS != 0>>
 			"You aren't trying to make <<s>>ome cra<<z>>y old-timey <<s>>o<<c>>iety, are you?"
 		<<else>>
@@ -561,7 +560,7 @@ Your hired mercenaries are en route now with your precious cargo.
 		<</if>>
 		While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 15>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he says
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he hesitatingly approaches. Once $he is close enough $he says
 		<<if $rivalryFS != 0>>
 			"Plea<<s>>e don't make me play along..."
 		<<else>>
@@ -569,17 +568,17 @@ Your hired mercenaries are en route now with your precious cargo.
 		<</if>>
 		While $he looks the same as you remember, $he certainly doesn't think the same anymore.
 	<<elseif $rivalryDuration <= 20>>
-		Upon seeing you, $activeSlave.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he screams "Keep away from me! I don't want to be part of your cra<<z>>y <<s>>o<<c>>iety!" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
+		Upon seeing you, $hostage.slaveName shifts $his weight back and forth, unsure of what to make of you. As you step forward, $he quickly steps back. After several steps, $he screams "Keep away from me! I don't want to be part of your cra<<z>>y <<s>>o<<c>>iety!" While $he looks the same as you remember, $he definitely doesn't think the same anymore.
 	<<else>>
-		<<set $activeSlave.trust = 80>>
+		<<set $hostage.trust = 80>>
 		Your mercenaries radio you upon arrival. "This one's got quite some spunk in $him, you better ready yourself. We're coming in now."
-		Upon seeing you, $activeSlave.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you cra<<z>>y <<ps>>ycho!
+		Upon seeing you, $hostage.slaveName's eyes fill with a distinct hatred. As you step forward, $he stands $his ground. After several steps, $he shouts "<<S>>tay away from me, you cra<<z>>y <<ps>>ycho!
 		<<if $rivalryFS != 0>>
 			Remaking a fallen empire, madne<<ss>>! You think your<<s>>elf a king —"
 		<<else>>
 			You think you can ju<<s>>t take whatever you want from people — Fuck, I don't even know if you even THINK of them a<<s>> people anymore! How dare you even think I —"
 		<</if>>
-		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $activeSlave.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future.
+		The mercenary captain quickly gags $him, "My apologies, I did warn you $he was a handful. Please be careful when you unbind $him, $he may try to do something stupid," he says as he and his group exit your penthouse, leaving you with the enraged $hostage.slaveName. $He looks the same as you remember, but $he acts nothing like the $girl you used to know. Odds are high that $he'll cause problems for you in the future.
 	<</if>>
 <</switch>>
 
@@ -594,8 +593,8 @@ Your hired mercenaries are en route now with your precious cargo.
 <<elseif $rivalryDuration > 20>>
 	You took everything from $him and $he hates you as much as $he possibly can for it. You ripped $him away from heaven to sentence $him to a living hell, and $he swears to do everything $he can to hurt you.
 <<else>>
-	$He is horrified by this turn of events. Your rival taught $him a great deal about slave life in your arcology and indulged $his deepest fantasies. $activeSlave.slaveName considers becoming your slave little better than a condemnation to purgatory.
+	$He is horrified by this turn of events. Your rival taught $him a great deal about slave life in your arcology and indulged $his deepest fantasies. $hostage.slaveName considers becoming your slave little better than a condemnation to purgatory.
 <</if>>
 
 <br><br>
-<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+<<includeDOM App.UI.newSlaveIntro($hostage)>>
diff --git a/src/uncategorized/pMercenaries.tw b/src/uncategorized/pMercenaries.tw
index ab117945345578e98eab45b466599e8604fc04aa..c00dcffc947e5a641f1ab9772ff2a2885e827a48 100644
--- a/src/uncategorized/pMercenaries.tw
+++ b/src/uncategorized/pMercenaries.tw
@@ -30,7 +30,9 @@ The budgetary difficulty many old world countries are in has resulted in unemplo
 	<<run repX(-100, "event")>>
 	<<run cashX(forceNeg(_price), "mercenaries")>>
 	<<set $mercenaries = 1>>
-	<<set $mercFreeManpower = 15>>
+	<<if ($secExpEnabled > 0)>>
+		<<set $SecExp.units.mercs.free = 15>>
+	<</if>>
 	<</replace>>
 <</link>> <<if ($PC.skill.warfare >= 50) || ($PC.career == "arcology owner")>>//This will cost <<print cashFormat(_price)>> and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost <<print cashFormat(5000)>> and incur significant upkeep costs//<</if>>
 <br><<link "Install a full platoon">>
@@ -39,7 +41,9 @@ The budgetary difficulty many old world countries are in has resulted in unemplo
 	<<run repX(-500, "event")>>
 	<<run cashX(forceNeg((_price*2)), "mercenaries")>>
 	<<set $mercenaries = 3>>
-	<<set $mercFreeManpower = 30>>
+	<<if ($secExpEnabled > 0)>>
+		<<set $SecExp.units.mercs.free = 30>>
+	<</if>>
 	<</replace>>
 <</link>> <<if ($PC.skill.warfare >= 50) || ($PC.career == "arcology owner")>>//This will cost <<print cashFormat((_price*2))>> and some upkeep, @@.springgreen;reduced by your mercenary contacts@@//<<else>>//This will cost <<print cashFormat(10000)>> and incur significant upkeep costs//<</if>>
 <br><<link "Do not quarter troops in your arcology">>
diff --git a/src/uncategorized/pMercsHelpCorp.tw b/src/uncategorized/pMercsHelpCorp.tw
index 896ae780bb1629b4a8ed453bb510cd1aa06bf1cd..fd44127bd355b7b16b398293a79b8ee5e162b2bc 100644
--- a/src/uncategorized/pMercsHelpCorp.tw
+++ b/src/uncategorized/pMercsHelpCorp.tw
@@ -25,7 +25,7 @@ Your weekly meeting with your $mercenariesTitle commander finishes with unusual
 	<</replace>>
 <</link>>
 <br><<link "Make it so">>
-	<<set $nextButton = "Continue">><<UpdateNextButton>>
+	<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>>
 	<<replace "#result">>
 	<<setNonlocalPronouns $seeDicks>>
 	It's a fine idea, and you agree. The commander looks so enthused that you feel obliged to ask that he not risk himself unduly. He laughs. "There are no old, bold mercs, <<= properTitle()>>, and I am sure as hell old. I'll be sure to grow even older under contract with you. Now, unless there's anything else, I've just bought a nice _girlU to add to the commander's suite, and _heU makes me feel a bit younger."
diff --git a/src/uncategorized/pRivalryHostage.tw b/src/uncategorized/pRivalryHostage.tw
index c42cf76b71346c6c6ea2a89865f8260776d32cef..7eda1f2950336d7a54c5a17b7e6ce225bfe2b0a5 100644
--- a/src/uncategorized/pRivalryHostage.tw
+++ b/src/uncategorized/pRivalryHostage.tw
@@ -10,219 +10,219 @@
 	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
 	<<set _race = _races.random()>>
 <</if>>
-<<set $activeSlave = GenerateNewSlave("XX", {race: _race, disableDisability: 1})>>
-<<set $activeSlave.origin = "You were acquainted with $him before you were an arcology owner; your rival tried to use $him to manipulate you, but you rescued $him.">>
-<<set $activeSlave.boobs = 400>>
-<<set $activeSlave.butt = 3>>
-<<set $activeSlave.muscles = 0>>
-<<set $activeSlave.behavioralFlaw = "none">>
-<<set $activeSlave.sexualFlaw = "none">>
-<<set $activeSlave.behavioralQuirk = "none">>
-<<set $activeSlave.sexualQuirk = "none">>
-<<set $activeSlave.waist = Math.clamp($activeSlave.waist,-55,15)>>
-<<set $activeSlave.lactation = 0>>
-<<set $activeSlave.lactationDuration = 0>>
-<<set $activeSlave.hips = 0>>
-<<set $activeSlave.shoulders = -1>>
-<<if $activeSlave.vagina <= 0>><<set $activeSlave.vagina = 1>><</if>>
-<<if $activeSlave.anus == 0>><<set $activeSlave.anus = 1>><</if>>
-<<set $activeSlave.energy = 50>>
-<<set $activeSlave.canRecruit = 0>>
-<<if $activeSlave.voice < 2>><<set $activeSlave.voice = 2>><</if>>
-<<if $activeSlave.faceShape == "masculine">><<set $activeSlave.faceShape = "cute">><</if>>
-<<set $activeSlave.geneMods.NCS = 0, $activeSlave.geneMods.rapidCellGrowth = 0>>
-<<set $activeSlave.NCSyouthening = 0>>
-<<set $activeSlave.slaveName = $activeSlave.birthName>>
-<<set $activeSlave.slaveSurname = $activeSlave.birthSurname>>
+<<set _slave = GenerateNewSlave("XX", {race: _race, disableDisability: 1})>>
+<<set _slave.origin = "You were acquainted with $him before you were an arcology owner; your rival tried to use $him to manipulate you, but you rescued $him.">>
+<<set _slave.boobs = 400>>
+<<set _slave.butt = 3>>
+<<set _slave.muscles = 0>>
+<<set _slave.behavioralFlaw = "none">>
+<<set _slave.sexualFlaw = "none">>
+<<set _slave.behavioralQuirk = "none">>
+<<set _slave.sexualQuirk = "none">>
+<<set _slave.waist = Math.clamp(_slave.waist,-55,15)>>
+<<set _slave.lactation = 0>>
+<<set _slave.lactationDuration = 0>>
+<<set _slave.hips = 0>>
+<<set _slave.shoulders = -1>>
+<<if _slave.vagina <= 0>><<set _slave.vagina = 1>><</if>>
+<<if _slave.anus == 0>><<set _slave.anus = 1>><</if>>
+<<set _slave.energy = 50>>
+<<set _slave.canRecruit = 0>>
+<<if _slave.voice < 2>><<set _slave.voice = 2>><</if>>
+<<if _slave.faceShape == "masculine">><<set _slave.faceShape = "cute">><</if>>
+<<set _slave.geneMods.NCS = 0, _slave.geneMods.rapidCellGrowth = 0>>
+<<set _slave.NCSyouthening = 0>>
+<<set _slave.slaveName = _slave.birthName>>
+<<set _slave.slaveSurname = _slave.birthSurname>>
 
-<<set $activeSlave.actualAge = Number($activeSlave.actualAge) || 18>>
-<<set $activeSlave.devotion = Number($activeSlave.devotion) || 0>>
-<<set $activeSlave.trust = Number($activeSlave.trust) || 0>>
-<<set $activeSlave.boobs = Number($activeSlave.boobs) || 400>>
+<<set _slave.actualAge = Number(_slave.actualAge) || 18>>
+<<set _slave.devotion = Number(_slave.devotion) || 0>>
+<<set _slave.trust = Number(_slave.trust) || 0>>
+<<set _slave.boobs = Number(_slave.boobs) || 400>>
 
-<<set WombFlush($activeSlave)>>
+<<set WombFlush(_slave)>>
 
 <<switch $PC.career>>
 <<case "wealth">>
-	<<set $activeSlave.career = "a party girl">>
+	<<set _slave.career = "a party girl">>
 	<<if $pedo_mode == 1>>
-		<<set $activeSlave.actualAge = random(16,18)>>
+		<<set _slave.actualAge = random(16,18)>>
 	<<else>>
-		<<set $activeSlave.actualAge = random(18,24)>>
+		<<set _slave.actualAge = random(18,24)>>
 	<</if>>
-	<<set $activeSlave.face = 100>>
-	<<set $activeSlave.intelligence = random(51,95)>>
-	<<set $activeSlave.intelligenceImplant = 0>>
-	<<set $activeSlave.skill.oral = 100>>
-	<<set $activeSlave.skill.entertainment = 100>>
+	<<set _slave.face = 100>>
+	<<set _slave.intelligence = random(51,95)>>
+	<<set _slave.intelligenceImplant = 0>>
+	<<set _slave.skill.oral = 100>>
+	<<set _slave.skill.entertainment = 100>>
 <<case "escort">>
-	<<set $activeSlave.career = "a prostitute">>
+	<<set _slave.career = "a prostitute">>
 	<<if $pedo_mode == 1>>
-		<<set $activeSlave.actualAge = random(16,18)>>
+		<<set _slave.actualAge = random(16,18)>>
 	<<else>>
-		<<set $activeSlave.actualAge = random(18,20)>>
+		<<set _slave.actualAge = random(18,20)>>
 	<</if>>
-	<<set $activeSlave.face = 100>>
-	<<set $activeSlave.intelligence = random(-15,15)>>
-	<<set $activeSlave.intelligenceImplant = 0>>
-	<<set $activeSlave.skill.oral = 100>>
-	<<set $activeSlave.skill.entertainment = 100>>
-	<<set $activeSlave.skill.anal = 100>>
-	<<set $activeSlave.skill.vaginal = 100>>
-	<<set $activeSlave.skill.whoring = 100>>
-	<<set $activeSlave.counter.oral = 453>>
-	<<set $activeSlave.counter.vaginal = 158>>
-	<<set $activeSlave.counter.anal = 76>>
-	<<set $activeSlave.counter.mammary = 320>>
-	<<run App.Medicine.Modification.addScar($activeSlave, "belly", "c-section")>>
+	<<set _slave.face = 100>>
+	<<set _slave.intelligence = random(-15,15)>>
+	<<set _slave.intelligenceImplant = 0>>
+	<<set _slave.skill.oral = 100>>
+	<<set _slave.skill.entertainment = 100>>
+	<<set _slave.skill.anal = 100>>
+	<<set _slave.skill.vaginal = 100>>
+	<<set _slave.skill.whoring = 100>>
+	<<set _slave.counter.oral = 453>>
+	<<set _slave.counter.vaginal = 158>>
+	<<set _slave.counter.anal = 76>>
+	<<set _slave.counter.mammary = 320>>
+	<<run App.Medicine.Modification.addScar(_slave, "belly", "c-section")>>
 <<case "servant">>
-	<<set $activeSlave.career = "a maid">>
+	<<set _slave.career = "a maid">>
 	<<if $pedo_mode == 1>>
-		<<set $activeSlave.actualAge = random(12,18)>>
+		<<set _slave.actualAge = random(12,18)>>
 	<<else>>
-		<<set $activeSlave.actualAge = random(18,20)>>
+		<<set _slave.actualAge = random(18,20)>>
 	<</if>>
-	<<set $activeSlave.face = 25>>
-	<<set $activeSlave.intelligence = random(-50,-16)>>
-	<<set $activeSlave.intelligenceImplant = 0>>
-	<<set $activeSlave.skill.oral = 15>>
-	<<set $activeSlave.skill.entertainment = 0>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.vaginal = 15>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.counter.oral = 57>>
-	<<set $activeSlave.counter.vaginal = 65>>
-	<<set $activeSlave.counter.anal = 12>>
-	<<set $activeSlave.counter.mammary = 1>>
-	<<set $activeSlave.counter.birthsTotal = 3>>
+	<<set _slave.face = 25>>
+	<<set _slave.intelligence = random(-50,-16)>>
+	<<set _slave.intelligenceImplant = 0>>
+	<<set _slave.skill.oral = 15>>
+	<<set _slave.skill.entertainment = 0>>
+	<<set _slave.skill.anal = 15>>
+	<<set _slave.skill.vaginal = 15>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.counter.oral = 57>>
+	<<set _slave.counter.vaginal = 65>>
+	<<set _slave.counter.anal = 12>>
+	<<set _slave.counter.mammary = 1>>
+	<<set _slave.counter.birthsTotal = 3>>
 <<case "gang">>
-	<<set $activeSlave.career = "a gang member">>
+	<<set _slave.career = "a gang member">>
 	<<if $pedo_mode == 1>>
-		<<set $activeSlave.actualAge = random(16,18)>>
+		<<set _slave.actualAge = random(16,18)>>
 	<<else>>
-		<<set $activeSlave.actualAge = random(20,24)>>
+		<<set _slave.actualAge = random(20,24)>>
 	<</if>>
-	<<set $activeSlave.muscles = 40>>
-	<<run setHealth($activeSlave, 100, 0, 0, 0, jsRandom(10, 30))>>
-	<<set $activeSlave.skill.combat = 1>>
+	<<set _slave.muscles = 40>>
+	<<run setHealth(_slave, 100, 0, 0, 0, jsRandom(10, 30))>>
+	<<set _slave.skill.combat = 1>>
 <<case "BlackHat">>
-	<<set $activeSlave.career = "a shut-in">>
+	<<set _slave.career = "a shut-in">>
 	<<if $pedo_mode == 1>>
-		<<set $activeSlave.actualAge = random(13,18)>>
+		<<set _slave.actualAge = random(13,18)>>
 	<<else>>
-		<<set $activeSlave.actualAge = random(18,21)>>
+		<<set _slave.actualAge = random(18,21)>>
 	<</if>>
-	<<set $activeSlave.face = 75>>
-	<<set $activeSlave.intelligence = 100>>
-	<<set $activeSlave.intelligenceImplant = 30>>
+	<<set _slave.face = 75>>
+	<<set _slave.intelligence = 100>>
+	<<set _slave.intelligenceImplant = 30>>
 <<case "capitalist">>
-	<<set $activeSlave.career = "a manager">>
+	<<set _slave.career = "a manager">>
 	<<if $pedo_mode == 1>>
-		<<set $activeSlave.actualAge = random(16,18)>>
+		<<set _slave.actualAge = random(16,18)>>
 	<<else>>
-		<<set $activeSlave.actualAge = random(18,24)>>
+		<<set _slave.actualAge = random(18,24)>>
 	<</if>>
-	<<set $activeSlave.face = 55>>
-	<<set $activeSlave.intelligence = 100>>
-	<<set $activeSlave.intelligenceImplant = 30>>
+	<<set _slave.face = 55>>
+	<<set _slave.intelligence = 100>>
+	<<set _slave.intelligenceImplant = 30>>
 <<case "mercenary">>
-	<<set $activeSlave.career = "a soldier">>
+	<<set _slave.career = "a soldier">>
 	<<if $pedo_mode == 1>>
-		<<set $activeSlave.actualAge = random(16,18)>>
+		<<set _slave.actualAge = random(16,18)>>
 	<<else>>
-		<<set $activeSlave.actualAge = random(20,24)>>
+		<<set _slave.actualAge = random(20,24)>>
 	<</if>>
-	<<set $activeSlave.face = 55>>
-	<<set $activeSlave.intelligence = 100>>
-	<<set $activeSlave.intelligenceImplant = 15>>
+	<<set _slave.face = 55>>
+	<<set _slave.intelligence = 100>>
+	<<set _slave.intelligenceImplant = 15>>
 <<case "engineer">>
-	<<set $activeSlave.career = "a saleswoman">>
+	<<set _slave.career = "a saleswoman">>
 	<<if $pedo_mode == 1>>
-		<<set $activeSlave.actualAge = random(16,18)>>
+		<<set _slave.actualAge = random(16,18)>>
 	<<else>>
-		<<set $activeSlave.actualAge = random(18,24)>>
+		<<set _slave.actualAge = random(18,24)>>
 	<</if>>
-	<<set $activeSlave.face = 100>>
-	<<set $activeSlave.intelligence = 100>>
-	<<set $activeSlave.intelligenceImplant = 30>>
+	<<set _slave.face = 100>>
+	<<set _slave.intelligence = 100>>
+	<<set _slave.intelligenceImplant = 30>>
 <<case "medicine">>
-	<<set $activeSlave.career = "a nurse">>
+	<<set _slave.career = "a nurse">>
 	<<if $pedo_mode == 1>>
-		<<set $activeSlave.actualAge = random(16,18)>>
+		<<set _slave.actualAge = random(16,18)>>
 	<<else>>
-		<<set $activeSlave.actualAge = random(16,24)>>
+		<<set _slave.actualAge = random(16,24)>>
 	<</if>>
-	<<set $activeSlave.face = 55>>
-	<<set $activeSlave.intelligence = 100>>
-	<<set $activeSlave.intelligenceImplant = 30>>
+	<<set _slave.face = 55>>
+	<<set _slave.intelligence = 100>>
+	<<set _slave.intelligenceImplant = 30>>
 <<case "slaver">>
-	<<set $activeSlave.career = "a prison guard">>
+	<<set _slave.career = "a prison guard">>
 	<<if $pedo_mode == 1>>
-		<<set $activeSlave.actualAge = random(16,18)>>
+		<<set _slave.actualAge = random(16,18)>>
 	<<else>>
-		<<set $activeSlave.actualAge = random(20,24)>>
+		<<set _slave.actualAge = random(20,24)>>
 	<</if>>
-	<<set $activeSlave.face = 55>>
-	<<set $activeSlave.intelligence = random(51,95)>>
-	<<set $activeSlave.intelligenceImplant = 0>>
-	<<set $activeSlave.muscles = 20>>
-	<<set $activeSlave.fetish = "sadist">>
-	<<set $activeSlave.fetishStrength = 100>>
-	<<set $activeSlave.fetishKnown = 1>>
+	<<set _slave.face = 55>>
+	<<set _slave.intelligence = random(51,95)>>
+	<<set _slave.intelligenceImplant = 0>>
+	<<set _slave.muscles = 20>>
+	<<set _slave.fetish = "sadist">>
+	<<set _slave.fetishStrength = 100>>
+	<<set _slave.fetishKnown = 1>>
 <<case "celebrity">>
-	<<set $activeSlave.career = "a party girl">>
+	<<set _slave.career = "a party girl">>
 	<<if $pedo_mode == 1>>
-		<<set $activeSlave.actualAge = random(16,18)>>
+		<<set _slave.actualAge = random(16,18)>>
 	<<else>>
-		<<set $activeSlave.actualAge = random(18,24)>>
+		<<set _slave.actualAge = random(18,24)>>
 	<</if>>
-	<<set $activeSlave.face = 100>>
-	<<set $activeSlave.intelligence = random(51,95)>>
-	<<set $activeSlave.intelligenceImplant = 0>>
-	<<set $activeSlave.skill.oral = 100>>
-	<<set $activeSlave.skill.entertainment = 100>>
+	<<set _slave.face = 100>>
+	<<set _slave.intelligence = random(51,95)>>
+	<<set _slave.intelligenceImplant = 0>>
+	<<set _slave.skill.oral = 100>>
+	<<set _slave.skill.entertainment = 100>>
 <<case "arcology owner">>
-	<<set $activeSlave.career = "a leading arcology citizen">>
+	<<set _slave.career = "a leading arcology citizen">>
 	<<if $pedo_mode == 1>>
-		<<set $activeSlave.actualAge = random(16,18)>>
+		<<set _slave.actualAge = random(16,18)>>
 	<<else>>
-		<<set $activeSlave.actualAge = random(36,39)>>
+		<<set _slave.actualAge = random(36,39)>>
 	<</if>>
-	<<set $activeSlave.face = 100, $activeSlave.faceImplant = 15>>
-	<<set $activeSlave.intelligence = 100, $activeSlave.intelligenceImplant = 30>>
-	<<set $activeSlave.skill.whoring = 100, $activeSlave.skill.entertainment = 100>>
+	<<set _slave.face = 100, _slave.faceImplant = 15>>
+	<<set _slave.intelligence = 100, _slave.intelligenceImplant = 30>>
+	<<set _slave.skill.whoring = 100, _slave.skill.entertainment = 100>>
 <</switch>>
 
-<<set $activeSlave.trust = 0>>
-<<set $activeSlave.devotion = 0>>
-<<set $activeSlave.visualAge = $activeSlave.actualAge>>
-<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
-<<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
-<<= resyncSlaveHight($activeSlave)>>
+<<set _slave.trust = 0>>
+<<set _slave.devotion = 0>>
+<<set _slave.visualAge = _slave.actualAge>>
+<<set _slave.physicalAge = _slave.actualAge>>
+<<set _slave.ovaryAge = _slave.actualAge>>
+<<= resyncSlaveHight(_slave)>>
 
 <<switch $rivalryFS>>
 <<case "Repopulation Focus">>
-	<<set $activeSlave.preg = -3>>
+	<<set _slave.preg = -3>>
 <<case "Body Purism">>
-	<<set $activeSlave.boobs = 300>>
+	<<set _slave.boobs = 300>>
 <<case "Slimness Enthusiasm">>
-	<<set $activeSlave.weight = -20>>
-	<<set $activeSlave.boobs = 800>>
+	<<set _slave.weight = -20>>
+	<<set _slave.boobs = 800>>
 <<case "Pastoralism">>
-	<<set $activeSlave.weight = 100>>
-	<<set $activeSlave.muscles = 0>>
-	<<set $activeSlave.boobs = 1200>>
+	<<set _slave.weight = 100>>
+	<<set _slave.muscles = 0>>
+	<<set _slave.boobs = 1200>>
 <<case "Cummunism">>
-	<<set $activeSlave.boobs = 800>>
-	<<set $activeSlave.weight = -20>>
+	<<set _slave.boobs = 800>>
+	<<set _slave.weight = -20>>
 <<case "Physical Idealism">>
-	<<set $activeSlave.boobs = 200>>
-	<<set $activeSlave.butt = 1>>
-	<<set $activeSlave.weight = -20>>
+	<<set _slave.boobs = 200>>
+	<<set _slave.butt = 1>>
+	<<set _slave.weight = -20>>
 <<case "Hedonistic Decadence">>
-	<<set $activeSlave.weight = 100>>
-	<<set $activeSlave.muscles = 0>>
-	<<set $activeSlave.boobs = 1200>>
+	<<set _slave.weight = 100>>
+	<<set _slave.muscles = 0>>
+	<<set _slave.boobs = 1200>>
 <</switch>>
 
 <<switch $rivalryFS>>
@@ -235,9 +235,9 @@
 	/* 000-250-006 */
 	<<if $seeImages == 1>>
 		<<if $imageChoice == 1>>
-			<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+			<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 		<<else>>
-			<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+			<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 		<</if>>
 	<</if>>
 	/* 000-250-006 */
@@ -249,7 +249,7 @@
 	<<set _heR = "she">>
 <</if>>
 <<setNonlocalPronouns $seeDicks>>
-<<run App.Utils.setLocalPronouns($activeSlave)>>
+<<run App.Utils.setLocalPronouns(_slave)>>
 <<setPlayerPronouns>>
 
 Only a few days into your inter-arcology war, you receive a video message from your rival. Once $assistant.name is satisfied that the file is clean, you clear your office and pull it up. To your surprise, there are two faces on your desk, not one. One of them is your rival, and after a moment, you remember who the other is. You recognize $him from your
@@ -348,67 +348,67 @@ but you do remember $him, and your rival knows it. This is obviously the best _h
 but look what I have here! I just acquired $him recently. Lovely, isn't $he? I know $he wasn't important to you, but $he //is// a reminder of who you were. I think $he must have been your type." Your rival turns to the slave and continues. "While we have our little war,
 <<switch $rivalryFS>>
 <<case "Racial Subjugationism">>
-	I'm going to treat $him well. Train $him. $He's a fine Head Girl prospect, don't you think? $He'll have lots of nice $arcologies[0].FSSubjugationistRace girls to make love to whenever $he wants. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly.
+	I'm going to treat $him well. Train $him. $He's a fine Head Girl prospect, don't you think? $He'll have lots of nice $arcologies[0].FSSubjugationistRace girls to make love to whenever $he wants. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave nods uncertainly.
 <<case "Racial Supremacism">>
-	I'm going to destroy $him. $He's got a whipping post with $his name on it, right between a couple of $arcologies[0].FSSupremacist bitches. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave begins to scream, and the noise goes on and on as the slave is tied up and scourged.
+	I'm going to destroy $him. $He's got a whipping post with $his name on it, right between a couple of $arcologies[0].FSSupremacist bitches. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave begins to scream, and the noise goes on and on as the slave is tied up and scourged.
 <<case "Gender Radicalism">>
-	I'm going to treat $him well. Train $him. Teach $him $his proper role in society, and make $him happy here. Isn't that right, $activeSlave.slaveName?" The slave nods uncertainly.
+	I'm going to treat $him well. Train $him. Teach $him $his proper role in society, and make $him happy here. Isn't that right, _slave.slaveName?" The slave nods uncertainly.
 <<case "Gender Fundamentalism">>
-	$He's going to be my special pet. $He'll have everything $he could ever want, as long as $he has a dick up $his ass. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods hesitantly, but with evident arousal.
+	$He's going to be my special pet. $He'll have everything $he could ever want, as long as $he has a dick up $his ass. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave nods hesitantly, but with evident arousal.
 <<case "Paternalism">>
-	I'm going to destroy $him. Holes first, of course. I'll have to get more inventive after that, and I'll leave $his vocal cords for last. That way, $he'll be able to beg. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave begins to scream, and the noise goes on and on. And on.
+	I'm going to destroy $him. Holes first, of course. I'll have to get more inventive after that, and I'll leave $his vocal cords for last. That way, $he'll be able to beg. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave begins to scream, and the noise goes on and on. And on.
 <<case "Repopulation Focus">>
 	I'm going to ruin $his womb, making sure $he can never have children again. I bet you spent lots of nights fantasizing about $him with a huge belly didn't you?
 <<case "Eugenics">>
 	<<if $seeHyperPreg == 1>>
-		I'm going to have $him knocked up; not with my seed, of course, but the seed of the lowest of the low. I'm also going to fill $him with the most powerful experimental fertility drugs out there. $He'll have so many children shoved into $his poor womb $he'll be bursting at the seams. But $he'll enjoy that, won't you <<= SlaveFullName($activeSlave)>>?" The slave nods hesitantly, but with evident arousal.
+		I'm going to have $him knocked up; not with my seed, of course, but the seed of the lowest of the low. I'm also going to fill $him with the most powerful experimental fertility drugs out there. $He'll have so many children shoved into $his poor womb $he'll be bursting at the seams. But $he'll enjoy that, won't you <<= SlaveFullName(_slave)>>?" The slave nods hesitantly, but with evident arousal.
 	<<else>>
-		I'm going to have $him knocked up; not with my seed, of course, but the seed of the lowest of the low. I'm also going to fill $him with the most powerful fertility drugs I can get. $His poor little womb will be stretched to the limit with society's worst. But $he'll enjoy that, won't you <<= SlaveFullName($activeSlave)>>?" The slave nods hesitantly, but with evident arousal.
+		I'm going to have $him knocked up; not with my seed, of course, but the seed of the lowest of the low. I'm also going to fill $him with the most powerful fertility drugs I can get. $His poor little womb will be stretched to the limit with society's worst. But $he'll enjoy that, won't you <<= SlaveFullName(_slave)>>?" The slave nods hesitantly, but with evident arousal.
 	<</if>>
 <<case "Degradationism">>
-	$He's going to be my lover. $He'll have everything $he could ever want, and I'll be sure to let $him know all about what you do to your slaves. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly.
+	$He's going to be my lover. $He'll have everything $he could ever want, and I'll be sure to let $him know all about what you do to your slaves. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave nods uncertainly.
 <<case "Body Purism">>
-	I'm going to give $him a nice pair of fake tits. No reason to be excessively clever when I can just make $his tits so huge $he won't be able to walk. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave begins to sob.
+	I'm going to give $him a nice pair of fake tits. No reason to be excessively clever when I can just make $his tits so huge $he won't be able to walk. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave begins to sob.
 <<case "Transformation Fetishism">>
-	$He's going to be my lover. I'll be sure to let $him know all about what you do to your slaves, and rest assured, I'll never treat $him that way. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly.
+	$He's going to be my lover. I'll be sure to let $him know all about what you do to your slaves, and rest assured, I'll never treat $him that way. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave nods uncertainly.
 <<case "Youth Preferentialism">>
-	I've set $him up with a nice motherly _woman2 already. I believe they'll be a perfect match. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly.
+	I've set $him up with a nice motherly _woman2 already. I believe they'll be a perfect match. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave nods uncertainly.
 <<case "Maturity Preferentialism">>
-	I've set $him up with a nice young _girl2 already. I believe they'll be a perfect match. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly.
+	I've set $him up with a nice young _girl2 already. I believe they'll be a perfect match. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave nods uncertainly.
 <<case "Slimness Enthusiasm">>
-	I think I'll make $his IV line permanent. After all, $he's never going off breast growth hormones. I'd estimate $he shouldn't be able to walk within a month. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave begins to sob.
+	I think I'll make $his IV line permanent. After all, $he's never going off breast growth hormones. I'd estimate $he shouldn't be able to walk within a month. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave begins to sob.
 <<case "Asset Expansionism">>
-	$He's going to be my lover. I'll be sure to let $him know all about what you do to your slaves, and rest assured, I'll never give $him growth hormones, not one single dose. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly.
+	$He's going to be my lover. I'll be sure to let $him know all about what you do to your slaves, and rest assured, I'll never give $him growth hormones, not one single dose. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave nods uncertainly.
 <<case "Pastoralism">>
-	$He's going to be my spotter. Girls should be strong, smoking hot ladies, not disgusting cows. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly.
+	$He's going to be my spotter. Girls should be strong, smoking hot ladies, not disgusting cows. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave nods uncertainly.
 <<case "Cummunism">>
-	$He's going to be my personal milk dispenser. I shouldn't have to chain $him to my desk after the first month, since $his udders will pin $him in place. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave begins to sob.
+	$He's going to be my personal milk dispenser. I shouldn't have to chain $him to my desk after the first month, since $his udders will pin $him in place. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave begins to sob.
 <<case "Physical Idealism">>
-	$He's going to learn to enjoy yourself. I'm going to force $his face full of food, $his cunt full of dicks and discover $his deepest, darkest desires. Wouldn't you like that, <<= SlaveFullName($activeSlave)>>?" The slave begins to sob. "To start, how about a weigh in? Sixty three and a half kilograms, such a pity, but don't worry, I'll have $him nice and plump soon enough."
+	$He's going to learn to enjoy yourself. I'm going to force $his face full of food, $his cunt full of dicks and discover $his deepest, darkest desires. Wouldn't you like that, <<= SlaveFullName(_slave)>>?" The slave begins to sob. "To start, how about a weigh in? Sixty three and a half kilograms, such a pity, but don't worry, I'll have $him nice and plump soon enough."
 <<case "Hedonistic Decadence">>
-	$He's going to be my spotter. Girls should be strong, smoking hot ladies, not disgusting obese slobs. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly.
+	$He's going to be my spotter. Girls should be strong, smoking hot ladies, not disgusting obese slobs. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave nods uncertainly.
 <<case "Chattel Religionism">>
-	$He's going to be the perfect courtesan. No preaching, no praying, just good, clean sex for money. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly.
+	$He's going to be the perfect courtesan. No preaching, no praying, just good, clean sex for money. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave nods uncertainly.
 <<case "Multiculturalism">>
-	$He's going to be the ideal holy whore. Thousands of citizens are going to find rapture inside $him. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly.
+	$He's going to be the ideal holy whore. Thousands of citizens are going to find rapture inside $him. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave nods uncertainly.
 <<case "Intellectual Dependency">>
 	$He's going to be a skilled courtesan. $He'll know how to best please $his partners, and most importantly, $he'll perfectly understand $his place in society.
-	<<if $activeSlave.intelligence < 0>>
+	<<if _slave.intelligence < 0>>
 		Shame $he's an idiot though. But $he can learn and improve still, I'll see to that.
 	<</if>>
-	Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods begrudgingly.
+	Isn't that right, <<= SlaveFullName(_slave)>>?" The slave nods begrudgingly.
 <<case "Slave Professionalism">>
-	$He's going to become a moron<<if $activeSlave.intelligence < 0>>, though $he isn't exactly smart to begin with<</if>>. No time for higher thought when all $his brain power is caught up with how to satisfy $his raging libido. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave begins to sob.
+	$He's going to become a moron<<if _slave.intelligence < 0>>, though $he isn't exactly smart to begin with<</if>>. No time for higher thought when all $his brain power is caught up with how to satisfy $his raging libido. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave begins to sob.
 <<case "Petite Admiration">>
-	I've set $him up with a particularly lovely giant. I believe they'll be a perfect match, even though $he's half _his2 size. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly.
+	I've set $him up with a particularly lovely giant. I believe they'll be a perfect match, even though $he's half _his2 size. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave nods uncertainly.
 <<case "Statuesque Glorification">>
-	I've set $him up with a lovely little dwarf already. I believe they'll be a perfect match, even though _he2's half $his size. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly.
+	I've set $him up with a lovely little dwarf already. I believe they'll be a perfect match, even though _he2's half $his size. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave nods uncertainly.
 <<default>>
-	$He's shaping up to be a good slave. I'm keeping $him informed of your <<if $rivalryFS != 0>>revisionist <</if>>nonsense, and what your slaves suffer because of it. Isn't that right, <<= SlaveFullName($activeSlave)>>?" The slave nods uncertainly.
+	$He's shaping up to be a good slave. I'm keeping $him informed of your <<if $rivalryFS != 0>>revisionist <</if>>nonsense, and what your slaves suffer because of it. Isn't that right, <<= SlaveFullName(_slave)>>?" The slave nods uncertainly.
 <</switch>>
 
 Your rival smiles icily. "I'll keep you informed of $his progress. I wouldn't want you to miss a moment of it."
 <br><br>
 You're forging a new frontier in warfare here. This, then, is the new frontier in psychological warfare.
 
-<<set $hostage = $activeSlave>>
+<<set $hostage = _slave>>
diff --git a/src/uncategorized/pRivalryVictory.tw b/src/uncategorized/pRivalryVictory.tw
index 8b60f4351fb20985551df283f16795f52be1399c..eda39d6dec717a27220c0e5f0c972122ad993466 100644
--- a/src/uncategorized/pRivalryVictory.tw
+++ b/src/uncategorized/pRivalryVictory.tw
@@ -25,7 +25,7 @@ For the first time, you receive a direct call from your rival. You pictured the
 
 <span id="result">
 <<link "Accept">>
-	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+	<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 	<<replace "#result">>
 	You accept, magnanimous in victory. "I don't think I would have done that," your rival replies. "Thank you. When they write the book, I'll make sure you look good."
 	<<if $rivalSet != 0>>
@@ -50,7 +50,7 @@ For the first time, you receive a direct call from your rival. You pictured the
 	<</replace>>
 <</link>>
 <br><<link "Refuse">>
-	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+	<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 	<<replace "#result">>
 	You coldly decline. "That was a mistake," your rival replies, entering a computer command.
 	<<if $rivalSet != 0>>
@@ -86,7 +86,7 @@ For the first time, you receive a direct call from your rival. You pictured the
 <</link>>
 <<if $rivalryDuration >= 30 && $hostageAnnounced == 0 && $rivalSet != 0>>
 	<br><<link "Refuse, and place a bounty of <<print cashFormat(50000)>> on your rival's death">>
-		<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+		<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 		<<replace "#result">>
 		You coldly decline. "That was a mistake," your rival replies, entering a computer command. "All my remaining liquid assets have just been @@.red;expended in an attack on the value of your holdings,@@ and my arcology has been heavily sabotaged. You'll get nothing from me." It's not entirely true, but the damage to your holdings does outweigh your gains by a significant margin. Your rival vanishes back into the old world — but only for a few days.
 		<br><br>
@@ -106,7 +106,7 @@ For the first time, you receive a direct call from your rival. You pictured the
 	<</link>>
 <</if>>
 <br><<link "Refuse, and place a bounty of <<print cashFormat(50000)>> on your rival's enslavement">>
-	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+	<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 	<<replace "#result">>
 	You coldly decline. "That was a mistake," your rival replies, entering a computer command.
 	<<if $rivalSet != 0>>
diff --git a/src/uncategorized/pSlaveMedic.tw b/src/uncategorized/pSlaveMedic.tw
index 4e597f7658a524b1d2c2f73be280c48c73bda282..b95a270359493b6867af85644ef12803a0166740 100644
--- a/src/uncategorized/pSlaveMedic.tw
+++ b/src/uncategorized/pSlaveMedic.tw
@@ -13,102 +13,102 @@
 <</if>>
 <<set _genParam = {minAge: _minAge, maxAge: _maxAge, disableDisability: 1}>>
 <<if $seeDicks >= 100>>
-	<<set $activeSlave = GenerateNewSlave("XY", _genParam)>>
-	<<set $activeSlave.dick = 5>>
-	<<set $activeSlave.foreskin = 0>>
-	<<set $activeSlave.balls = 3>>
-	<<set $activeSlave.scrotum = 3>>
-	<<set $activeSlave.butt = 3>>
-	<<set $activeSlave.attrXY = 70>>
+	<<set _slave = GenerateNewSlave("XY", _genParam)>>
+	<<set _slave.dick = 5>>
+	<<set _slave.foreskin = 0>>
+	<<set _slave.balls = 3>>
+	<<set _slave.scrotum = 3>>
+	<<set _slave.butt = 3>>
+	<<set _slave.attrXY = 70>>
 <<else>>
-	<<set $activeSlave = GenerateNewSlave("XX", _genParam)>>
-	<<set $activeSlave.vagina = 2>>
-	<<set $activeSlave.preg = -1>>
-	<<set $activeSlave.ovaries = 1>>
-	<<set $activeSlave.skill.vaginal = 35>>
+	<<set _slave = GenerateNewSlave("XX", _genParam)>>
+	<<set _slave.vagina = 2>>
+	<<set _slave.preg = -1>>
+	<<set _slave.ovaries = 1>>
+	<<set _slave.skill.vaginal = 35>>
 <</if>>
 <<if $pedo_mode == 1>>
-	<<set $activeSlave.sexualQuirk = "caring">>
-	<<set $activeSlave.intelligenceImplant = 15>>
-	<<if $activeSlave.physicalAge >= 12>>
-		<<set $activeSlave.teeth = "cosmetic braces">>
+	<<set _slave.sexualQuirk = "caring">>
+	<<set _slave.intelligenceImplant = 15>>
+	<<if _slave.physicalAge >= 12>>
+		<<set _slave.teeth = "cosmetic braces">>
 	<</if>>
 	<<if $seeDicks < 100>>
-		<<set $activeSlave.hips = 1>>
-		<<set $activeSlave.boobs = 2000>>
-		<<set $activeSlave.boobShape = "perky">>
-		<<set $activeSlave.geneticQuirks.macromastia = 2>>
-		<<set $activeSlave.butt = 4>>
-		<<set $activeSlave.voice = 3>>
+		<<set _slave.hips = 1>>
+		<<set _slave.boobs = 2000>>
+		<<set _slave.boobShape = "perky">>
+		<<set _slave.geneticQuirks.macromastia = 2>>
+		<<set _slave.butt = 4>>
+		<<set _slave.voice = 3>>
 	<<else>>
-		<<set $activeSlave.geneticQuirks.wellHung = 2>>
+		<<set _slave.geneticQuirks.wellHung = 2>>
 	<</if>>
 <<else>>
-	<<set $activeSlave.anusTat = "bleached">>
-	<<set $activeSlave.height = random(165,190)>>
-	<<set $activeSlave.intelligenceImplant = 30>>
-	<<set $activeSlave.teeth = "normal">>
+	<<set _slave.anusTat = "bleached">>
+	<<set _slave.height = random(165,190)>>
+	<<set _slave.intelligenceImplant = 30>>
+	<<set _slave.teeth = "normal">>
 	<<if $seeDicks < 100>>
-		<<set $activeSlave.boobs += 400>>
-		<<set $activeSlave.butt += 1>>
-		<<set $activeSlave.stampTat = either("flowers", "tribal patterns")>>
+		<<set _slave.boobs += 400>>
+		<<set _slave.butt += 1>>
+		<<set _slave.stampTat = either("flowers", "tribal patterns")>>
 	<</if>>
 <</if>>
-<<set $activeSlave.origin = "$He was captured while caring for those injured in a failed attack on the Free City.">>
-<<set $activeSlave.career = "a nurse">>
-<<set $activeSlave.custom.desc = "$He has a faint air of fatigue about $him, and strength too: that of a survivor.">>
-<<set $activeSlave.sexualFlaw = "none">>
-<<set $activeSlave.behavioralFlaw = "none">>
-<<set $activeSlave.devotion = random(30,40)>>
-<<set $activeSlave.trust = $activeSlave.devotion-20>>
-<<set $activeSlave.oldDevotion = $activeSlave.devotion>>
-<<set $activeSlave.muscles = random(20,50)>>
-<<set $activeSlave.skill.oral = 35>>
-<<set $activeSlave.skill.anal = 15>>
-<<set $activeSlave.skill.whoring = 0>>
-<<set $activeSlave.skill.entertainment = 15>>
-<<set $activeSlave.intelligence = random(51,95)>>
-<<set $activeSlave.anus = 2>>
-<<set $activeSlave.hStyle = "neat">>
-<<set $activeSlave.hLength = 35>>
-<<run setHealth($activeSlave, jsRandom(20, 40))>>
+<<set _slave.origin = "$He was captured while caring for those injured in a failed attack on the Free City.">>
+<<set _slave.career = "a nurse">>
+<<set _slave.custom.desc = "$He has a faint air of fatigue about $him, and strength too: that of a survivor.">>
+<<set _slave.sexualFlaw = "none">>
+<<set _slave.behavioralFlaw = "none">>
+<<set _slave.devotion = random(30,40)>>
+<<set _slave.trust = _slave.devotion-20>>
+<<set _slave.oldDevotion = _slave.devotion>>
+<<set _slave.muscles = random(20,50)>>
+<<set _slave.skill.oral = 35>>
+<<set _slave.skill.anal = 15>>
+<<set _slave.skill.whoring = 0>>
+<<set _slave.skill.entertainment = 15>>
+<<set _slave.intelligence = random(51,95)>>
+<<set _slave.anus = 2>>
+<<set _slave.hStyle = "neat">>
+<<set _slave.hLength = 35>>
+<<run setHealth(_slave, jsRandom(20, 40))>>
 <<if $mercenaries >= 3>>
-	<<set $activeSlave.counter.publicUse += 39>>
+	<<set _slave.counter.publicUse += 39>>
 <<else>>
-	<<set $activeSlave.counter.publicUse += 13>>
+	<<set _slave.counter.publicUse += 13>>
 <</if>>
 
 <span id="art-frame">
 	/* 000-250-006 */
 	<<if $seeImages == 1>>
 		<<if $imageChoice == 1>>
-			<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+			<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 		<<else>>
-			<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+			<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 		<</if>>
 	<</if>>
 	/* 000-250-006 */
 </span>
 
-<<run App.Utils.setLocalPronouns($activeSlave)>>
-<<run Enunciate($activeSlave)>>
+<<run App.Utils.setLocalPronouns(_slave)>>
+<<run Enunciate(_slave)>>
 
 <<if $pedo_mode == 1 && $seeDicks < 100>>
 	You make a habit of dropping in on your mercenaries whenever you get the chance. You have regular meetings with their grizzled captain, of course, but turning up unannounced to get to know them is simply a matter of self-preservation. The better they like you, the more likely they are to think of more than their pay when deciding how to hazard themselves on your behalf.
 
-	When you enter the lounge of their <<if $barracks>>barracks<<else>>main living area<</if>>, you see $activeSlave.slaveName kneeling next to a mercenary with most of his armor stripped off. $He's the <<print aNational($activeSlave.nationality)>> nurse they captured and enslaved, and $he seems to be doing pretty well in $his new life. $He seems to be checking the sutures on a minor wound to the man's flank.
+	When you enter the lounge of their <<if $barracks>>barracks<<else>>main living area<</if>>, you see _slave.slaveName kneeling next to a mercenary with most of his armor stripped off. $He's the <<print aNational(_slave.nationality)>> nurse they captured and enslaved, and $he seems to be doing pretty well in $his new life. $He seems to be checking the sutures on a minor wound to the man's flank.
 
-	"Don't <<s>>quirm!" $he says with an annoyed tone. "I'll get you off when I've checked thi<<s>>." He chuckles and holds still; $he redresses the wound, stands up, and strips off $his tank top, allowing $his huge tits to swing free. $He's quite young, but $his $activeSlave.skin body is appealingly curvy. As $he swings one leg across the seated mercenary, $he continues, "Plea<<s>>e <<s>>it <<s>>till and let me do the work. You need to take it ea<<s>>y for a day or two or you'll pop tho<<s>>e <<s>>uture<<s>>." Using $his hands, $he gently caresses his stiff prick with $his pillowy breasts, eliciting a grunt. $He's a strong $girl, and pleasures him without letting any of $his weight rest on his body at all. When he climaxes, $he leans in to clean him with $his mouth and then heads off to wash out $his cleavage.
+	"Don't <<s>>quirm!" $he says with an annoyed tone. "I'll get you off when I've checked thi<<s>>." He chuckles and holds still; $he redresses the wound, stands up, and strips off $his tank top, allowing $his huge tits to swing free. $He's quite young, but $his _slave.skin body is appealingly curvy. As $he swings one leg across the seated mercenary, $he continues, "Plea<<s>>e <<s>>it <<s>>till and let me do the work. You need to take it ea<<s>>y for a day or two or you'll pop tho<<s>>e <<s>>uture<<s>>." Using $his hands, $he gently caresses his stiff prick with $his pillowy breasts, eliciting a grunt. $He's a strong $girl, and pleasures him without letting any of $his weight rest on his body at all. When he climaxes, $he leans in to clean him with $his mouth and then heads off to wash out $his cleavage.
 <<else>>
 	You make a habit of dropping in on your mercenaries whenever you get the chance. You have regular meetings with their grizzled captain, of course, but turning up unannounced to get to know them is simply a matter of self-preservation. The better they like you, the more likely they are to think of more than their pay when deciding how to hazard themselves on your behalf.
 
-	When you enter the lounge of their <<if $barracks>>barracks<<else>>main living area<</if>>, you see $activeSlave.slaveName bending over a mercenary with most of his armor stripped off. $He's the <<print aNational($activeSlave.nationality)>> nurse they captured and enslaved, and $he seems to be doing pretty well in $his new life. $He seems to be checking the sutures on a minor wound to the man's flank.
+	When you enter the lounge of their <<if $barracks>>barracks<<else>>main living area<</if>>, you see _slave.slaveName bending over a mercenary with most of his armor stripped off. $He's the <<print aNational(_slave.nationality)>> nurse they captured and enslaved, and $he seems to be doing pretty well in $his new life. $He seems to be checking the sutures on a minor wound to the man's flank.
 
 	"Don't <<s>>quirm," $he says quietly. "I'll get you off when I've checked thi<<s>>." He chuckles and holds still; $he redresses the wound, stands up, and strips off $his fatigue pants.
 	<<if $pedo_mode == 1>>
 		$He's quite youthful, nimble and knows just how to manage $his impressive asset without it touching $his charge.
 	<<else>>
-		$He's no longer young, but $his $activeSlave.skin legs are pretty enough.
+		$He's no longer young, but $his _slave.skin legs are pretty enough.
 	<</if>>
 	As $he swings one leg across the seated mercenary, $he continues, "Please <<s>>it <<s>>till and let me do the work. You need to take it ea<<s>>y for a day or two or you'll pop tho<<s>>e <<s>>uture<<s>>." Using a hand, $he guides $himself down onto his stiff prick, eliciting a grunt. $He's a strong $girl, and rides him without letting any of $his weight rest on his hips at all. When he climaxes, $he kneels to clean him with $his mouth and then heads off to wash.
 <</if>>
@@ -116,14 +116,14 @@
 <span id="result">
 <br><br><<link "Offer <<print cashFormat(10000)>> for $him">>
 	<<replace "#result">>
-		The mercenary laughs at your offered price. "No offense, <<= properTitle()>>, but no. Even if I wanted to sell $him on everyone's behalf for that price, my buddies would kill me for that. $He's popular, that $activeSlave.slaveName."
+		The mercenary laughs at your offered price. "No offense, <<= properTitle()>>, but no. Even if I wanted to sell $him on everyone's behalf for that price, my buddies would kill me for that. $He's popular, that _slave.slaveName."
 	<</replace>>
 <</link>>
 <br><<link "Offer a very generous <<print cashFormat(25000)>> for $him">>
 	<<replace "#result">>
-	<<run cashX(-25000, "slaveTransfer", $activeSlave)>>
+	<<run cashX(-25000, "slaveTransfer", _slave)>>
 		"Huh," says the mercenary. "$He's popular, but for that we could probably buy two of $him. Might be fun to train a couple of new nurses. Let me ask the boys and girls." He speaks into his helmet for a few minutes, and then turns back to you. "Sold. Enjoy, $he's a good fuck."
-		<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+		<<includeDOM App.UI.newSlaveIntro(_slave)>>
 	<</replace>>
 <</link>>
 </span>
diff --git a/src/uncategorized/pSnatchAndGrabResult.tw b/src/uncategorized/pSnatchAndGrabResult.tw
index e10d7bcaea8dd4306faf89ca8164998c5dae656f..39c3a082bff0c25e0501c1e6ff212b4d0e6cd0ab 100644
--- a/src/uncategorized/pSnatchAndGrabResult.tw
+++ b/src/uncategorized/pSnatchAndGrabResult.tw
@@ -2,18 +2,29 @@
 
 <<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event", $returnTo = "Random Nonindividual Event", $eventResults.snatch = 0>>
 
+<<set _snatched = GenerateNewSlave("XX", {maxAge: ($pedo_mode === 1 ? $minimumSlaveAge : 18), disableDisability: 1})>>
 <<if $pedo_mode == 1>>
+	<<set _snatched.boobShape = "saggy">>
+	<<set _snatched.nipples = "partially inverted">>
+	<<set _snatched.areolae = 3>>
+	<<set _snatched.lips = 15>>
+	<<set _snatched.voice = 2>>
+	<<set _snatched.weight = 60>>
+	<<set _snatched.muscles = 0>>
+	<<set _snatched.shoulders = -2>>
+	<<set _snatched.hips = 0>>
+	<<set _snatched.waist = 10>>
+<<else>>
+	<<if _snatched.lips < 10>>
+		<<set _snatched.lips += 5>>
+	<</if>>
+	<<set _snatched.height = Math.round(Height.random(_snatched, {skew: 1, limitMult: [0, 2]}))>>
+	<<set _snatched.weight = 0>>
+	<<set _snatched.muscles = 20>>
+	<<set _snatched.waist = -75>>
+<</if>>
 
-<<set $activeSlaveOneTimeMaxAge = $minimumSlaveAge>>
-<<set $oneTimeDisableDisability = 1>>
-<<set _snatched = GenerateNewSlave("XX")>>
-<<set _snatched.origin = "$He is your share of a raid on an illegal laboratory by your mercenaries.">>
-<<set _snatched.career = "a slave">>
-<<set _snatched.devotion = 100>>
-<<set _snatched.trust = 100>>
-<<run setHealth(_snatched, 250, 0, 0, 0, 0)>>
-<<set _snatched.face = 15>>
-<<set _snatched.faceShape = "exotic">>
+<<set _snatched.faceShape = ($pedo_mode === 1 ? "exotic" : "androgynous")>>
 <<set _snatched.anus = 0>>
 <<if $seeDicks != 100>>
 	<<set _snatched.vagina = 0>>
@@ -24,7 +35,7 @@
 	<<set _snatched.balls = 0>>
 	<<set _snatched.scrotum = 0>>
 <<elseif $seeDicks > 75>>
-	<<set _snatched.dick = 2>>
+	<<set _snatched.dick = ($pedo_mode === 1 ? 2 : 6)>>
 	<<if _snatched.foreskin > 0>><<set _snatched.foreskin = _snatched.dick>><</if>>
 	<<set _snatched.balls = 1>>
 	<<set _snatched.scrotum = _snatched.balls>>
@@ -34,86 +45,21 @@
 	<<set _snatched.balls = 1>>
 	<<set _snatched.scrotum = _snatched.balls>>
 <</if>>
-<<set _snatched.boobs += 6000>>
-<<set _snatched.boobShape = "saggy">>
-<<set _snatched.nipples = "partially inverted">>
-<<set _snatched.areolae = 3>>
-<<set _snatched.butt += 2>>
-<<set _snatched.lips = 15>>
-<<set _snatched.skill.vaginal = 0>>
-<<set _snatched.skill.oral = 0>>
-<<set _snatched.skill.anal = 0>>
-<<set _snatched.skill.whoring = 0>>
-<<set _snatched.skill.entertainment = 0>>
-<<set _snatched.birthWeek = 0>>
-<<set _snatched.voice = 2>>
-<<set _snatched.weight = 60>>
-<<set _snatched.muscles = 0>>
-<<set _snatched.shoulders = -2>>
-<<set _snatched.hips = 0>>
-<<set _snatched.waist = 10>>
-<<set _snatched.hStyle = "shaved bald">>
-<<set _snatched.hLength = 0>>
-<<set _snatched.custom.desc = "$His skin is unnaturally perfect, totally without blemishes. $He radiates unnatural health and resilience.">>
-<<set _snatched.custom.tattoo = "$He has a barcode tattooed on the top of $his head.">>
-<<set _snatched.behavioralFlaw = "odd">>
-<<set _snatched.fetish = "none">>
-<<set _snatched.energy = 100>>
-<<set _snatched.fetishKnown = 1>>
-<<set _snatched.attrKnown = 1>>
-<<if _snatched.physicalAge >= 12>>
-	<<set _snatched.teeth = "normal">>
-<</if>>
-<<set _snatched.pubicHStyle = "hairless">>
-<<set _snatched.underArmHStyle = "hairless">>
-
-<<else>>
 
-<<set $activeSlaveOneTimeMaxAge = 18>>
-<<set $oneTimeDisableDisability = 1>>
-<<set _snatched = GenerateNewSlave("XX")>>
+<<set _snatched.boobs += ($pedo_mode === 1 ? 6000 : 200)>>
+<<set _snatched.butt += ($pedo_mode === 1 ? 1 : 2)>>
 <<set _snatched.origin = "$He is your share of a raid on an illegal laboratory by your mercenaries.">>
 <<set _snatched.career = "a slave">>
 <<set _snatched.devotion = 100>>
 <<set _snatched.trust = 100>>
 <<run setHealth(_snatched, 250, 0, 0, 0, 0)>>
 <<set _snatched.face = 15>>
-<<set _snatched.faceShape = "androgynous">>
-<<set _snatched.anus = 0>>
-<<if $seeDicks != 100>>
-	<<set _snatched.vagina = 0>>
-	<<set _snatched.ovaries = 1>>
-<</if>>
-<<if $seeDicks == 0>>
-	<<set _snatched.dick = 0>>
-	<<set _snatched.balls = 0>>
-	<<set _snatched.scrotum = _snatched.balls>>
-<<elseif $seeDicks > 75>>
-	<<set _snatched.dick = 6>>
-	<<if _snatched.foreskin > 0>><<set _snatched.foreskin = _snatched.dick>><</if>>
-	<<set _snatched.balls = 1>>
-	<<set _snatched.scrotum = _snatched.balls>>
-<<else>>
-	<<set _snatched.dick = 1>>
-	<<set _snatched.foreskin = 1>>
-	<<set _snatched.balls = 1>>
-	<<set _snatched.scrotum = _snatched.balls>>
-<</if>>
-<<set _snatched.boobs += 200>>
-<<set _snatched.butt += 1>>
-<<if _snatched.lips < 10>>
-	<<set _snatched.lips += 5>>
-<</if>>
 <<set _snatched.skill.vaginal = 0>>
 <<set _snatched.skill.oral = 0>>
 <<set _snatched.skill.anal = 0>>
 <<set _snatched.skill.whoring = 0>>
 <<set _snatched.skill.entertainment = 0>>
 <<set _snatched.birthWeek = 0>>
-<<set _snatched.height = Math.round(Height.random(_snatched, {skew: 1, limitMult: [0, 2]}))>>
-<<set _snatched.weight = 0>>
-<<set _snatched.muscles = 20>>
-<<set _snatched.waist = -75>>
 <<set _snatched.hStyle = "shaved bald">>
 <<set _snatched.hLength = 0>>
 <<set _snatched.custom.desc = "$His skin is unnaturally perfect, totally without blemishes. $He radiates unnatural health and resilience.">>
@@ -129,8 +75,6 @@
 <<set _snatched.pubicHStyle = "hairless">>
 <<set _snatched.underArmHStyle = "hairless">>
 
-<</if>>
-
 <<setLocalPronouns _snatched>>
 <<set _snatched.slaveCost = -10000>>
 
diff --git a/src/uncategorized/pUndergroundRailroad.tw b/src/uncategorized/pUndergroundRailroad.tw
index 3333aa77fd3cdc08b126516c951ca86cbf1aa895..6e69d09ca7d9a3d1f73fdc8d79fa6d2d2b4da2cf 100644
--- a/src/uncategorized/pUndergroundRailroad.tw
+++ b/src/uncategorized/pUndergroundRailroad.tw
@@ -118,7 +118,7 @@ This is disturbing, to say the least. After close investigation, it appears some
 
 	<span id="result">
 	<<link "Let $him go">> /* do not set $nextLink to AS Dump for this option because we call Remove activeSlave */
-		<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+		<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 		<<replace "#result">>
 		You inform $him that $he may act as a double agent for you. $He nods and hurries out of the penthouse. $He wanders down through the arcology, attracting little notice. One moment the monitors have $him struggling through a dense-packed crowd, and the next, they don't.
 		<<if $activeSlave.intelligence+$activeSlave.intelligenceImplant < 10>>
@@ -190,7 +190,7 @@ This is disturbing, to say the least. After close investigation, it appears some
 		<</replace>>
 	<</link>>
 	<br><<link "Tell $him to ignore the Daughters in the future">>
-		<<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Random Nonindividual Event">><<UpdateNextButton>> /* unlock Continue button */
+		<<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Random Nonindividual Event">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 		<<replace "#result">>
 		$activeSlave.slaveName nods $his head in acceptance. There is too much at stake to take such a risk. All attempts to use your monitoring systems to find the citizens who contacted $him fail; it seems their ability to corrupt your systems is considerable. $He keeps $his lips shut tight in an effort to prevent rumors from spreading, but @@.mediumorchid;whispers of freedom@@ still manage to run through your chattel.
 		<<run $slaves.forEach(function(s) { s.devotion -= 5; })>>
@@ -247,7 +247,7 @@ This is disturbing, to say the least. After close investigation, it appears some
 
 	<span id="result">
 	<<link "Free $him">> /* do not set $nextLink to AS Dump for this option because we call Remove activeSlave */
-		<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+		<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 		<<replace "#result">>
 		You calmly inform $him that $he's free to go.
 		<<if $traitorType != "defiant">>
@@ -320,7 +320,7 @@ This is disturbing, to say the least. After close investigation, it appears some
 		<</replace>>
 	<</link>>
 	<br><<link "Tell $him to ignore the Daughters in the future">>
-		<<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Random Nonindividual Event">><<UpdateNextButton>> /* unlock Continue button */
+		<<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Random Nonindividual Event">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 		<<replace "#result">>
 		<<if $traitorType != "defiant">>
 			$activeSlave.slaveName almost @@.mediumorchid;faints with relief@@ when it becomes apparent you aren't going to punish $him for speaking of freedom.
@@ -333,7 +333,7 @@ This is disturbing, to say the least. After close investigation, it appears some
 		<</replace>>
 	<</link>>
 	<br><<link "Publicly flog $him for treasonous conversation">>
-		<<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Random Nonindividual Event">><<UpdateNextButton>> /* unlock Continue button */
+		<<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Random Nonindividual Event">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 		<<replace "#result">>
 		You announce that a treasonous slave will be publicly flogged. Treason is understood in the Free Cities to be activity that tends to undermine slavery, and public interest is considerable when $activeSlave.slaveName is dragged out into a public atrium and secured to a post. You do your duty; the one that passes the sentence should swing the lash. The ordeal is long and bloody. The populace understand the necessity of the punishment, though they are @@.red;disturbed@@ that such a thing could happen in your penthouse of all places. The effect on $activeSlave.slaveName's health @@.health.dec;is serious,@@ and $he is @@.gold;terrified of failing you again.@@
 		<<set $activeSlave.trust -= 15>>
@@ -341,7 +341,7 @@ This is disturbing, to say the least. After close investigation, it appears some
 		<</replace>>
 	<</link>>
 	<br><<link "Chemically lobotomize $him to extirpate any record of the incident">>
-		<<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Random Nonindividual Event">><<UpdateNextButton>> /* unlock Continue button */
+		<<set $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Random Nonindividual Event">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 		<<replace "#result">>
 		You inform $activeSlave.slaveName that $he is to return to $his duties, which $he does, mystified. Later in the day $he finds $himself scheduled for surgery, and meekly goes. As $he feels the cool touch of the injector, loaded with powerful chemical lobotomizing agents, $he looks up at the camera above the autosurgery with a hint of <<if $traitorType != "defiant">>resigned apology<<else>>regret<</if>> in $his eyes. When $he is released from the surgery's care a few hours later, the hint is gone. @@.red;As is everything.@@
 		<<set $activeSlave.fetish = "mindbroken">>
@@ -349,7 +349,7 @@ This is disturbing, to say the least. After close investigation, it appears some
 	<</link>>
 	<<if $arcologies[0].FSPaternalist == "unset" && $seeExtreme == 1>>
 		<br><<link "Publicly execute $him">>
-			<<set $nextButton = "Continue", $returnTo = "Random Nonindividual Event">><<UpdateNextButton>> /* unlock Continue button */
+			<<set $nextButton = "Continue", $returnTo = "Random Nonindividual Event">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 			<<replace "#result">>
 			You announce that a treasonous slave will be publicly executed. Treason is understood in the Free Cities to be activity that tends to undermine slavery, and public interest is considerable when $activeSlave.slaveName is dragged out into a public atrium and <<if $arcologies[0].FSAztecRevivalist !== "unset">>has $his heart cut out of $his living body<<elseif $arcologies[0].FSEdoRevivalist !== "unset">>is boiled alive<<elseif $arcologies[0].FSRomanRevivalist !== "unset">>is crucified and left hanging until $he perishes<<else>>is summarily hanged<</if>>. The populace understands the necessity of the punishment, though they are @@.red;disturbed@@ that such a thing could happen in your penthouse of all places. The surviving slaves are @@.gold;terrified@@ at the display, but at least you can be sure they will remember the price of failing you.
 			<<run repX(-500, "event", $activeSlave)>>
diff --git a/src/uncategorized/pePitFight.tw b/src/uncategorized/pePitFight.tw
index 6a7ca36dc785ae4a59ce0dc8d6fc6e0a9d64622d..8acf9e6fdf90b6bdb577f0dcefe704f428c4fc70 100644
--- a/src/uncategorized/pePitFight.tw
+++ b/src/uncategorized/pePitFight.tw
@@ -227,7 +227,7 @@ The umpire announces gravely that the fight is to the death and rings a bell.
 <<if $activeSlave.health.health < -90>>
 	<<= removeSlave($activeSlave)>>
 	<<set $nextLink = "Random Nonindividual Event">>
-	<<UpdateNextButton>>
+	<<run App.Utils.updateUserButton()>>
 <</if>>
 
 <<set $pitFightsTotal++>>
diff --git a/src/uncategorized/personalAttentionSelect.tw b/src/uncategorized/personalAttentionSelect.tw
index 83e8c8043c37fca9aa121d31853b1a5ceea6733b..146d15b0988e98c30483b962c297f35ad2b8edc1 100644
--- a/src/uncategorized/personalAttentionSelect.tw
+++ b/src/uncategorized/personalAttentionSelect.tw
@@ -2,13 +2,15 @@
 
 <<set $nextButton = "Back to Main", $nextLink = "Main">>
 
-[[Focus on business|Main][$personalAttention = "business"]]
-<<if $PC.career == "gang">>
+<<if $PC.career == "gang" || $PC.career == "hoodlum" || $PC.career == "street urchin">>
+	[[Focus on business|Main][$personalAttention = "business"]]
 	<br>[[Help people "pass" things around|Main][$personalAttention = "smuggling"]]
-<<elseif $PC.career == "escort">>
+<<elseif $PC.career == "escort" || $PC.career == "prostitute" || $PC.career == "child prostitute">>
 	<br>[[Focus on "connecting"|Main][$personalAttention = "whoring"]]
-<<elseif $PC.career == "servant">>
+<<elseif $PC.career == "servant" || $PC.career == "handmaiden" || $PC.career == "child servant">>
 	<br>[[Maintain your home|Main][$personalAttention = "upkeep"]]
+<<else>>
+	[[Focus on business|Main][$personalAttention = "business"]]
 <</if>>
 <<if $PC.skill.warfare > 25>>
 	<br>[[Survey your arcology's defenses in person|Main][$personalAttention = "defensive survey"]]
@@ -160,84 +162,84 @@
 	<</if>>
 
 	<<for _i = 0; _i < $personalAttention.length; _i++>>
-		<<set $activeSlave = getSlave($personalAttention[_i].ID)>>
+		<<set _slave = getSlave($personalAttention[_i].ID)>>
 		/* duplicate check — should not happen if slaveSummary is doing its job */
-		<<if $personalAttention.map(function(s) { return s.ID; }).count($activeSlave.ID) > 1>>
+		<<if $personalAttention.map(function(s) { return s.ID; }).count(_slave.ID) > 1>>
 			<<set $personalAttention.deleteAt(_i), $personalAttention.deleteAt(_i), _i-->>
 			<<continue>>
 		<</if>>
 
 		<<if $personalAttention[_i].trainingRegimen == "undecided">>
-			<<if ($activeSlave.health.condition < -20)>>
+			<<if (_slave.health.condition < -20)>>
 				<<set $personalAttention[_i].trainingRegimen = "look after her">>
-			<<elseif ($activeSlave.behavioralFlaw != "none")>>
-				<<if ($activeSlave.devotion >= -20)>>
+			<<elseif (_slave.behavioralFlaw != "none")>>
+				<<if (_slave.devotion >= -20)>>
 					<<set $personalAttention[_i].trainingRegimen = "soften her behavioral flaw">>
 				<<else>>
 					<<set $personalAttention[_i].trainingRegimen = "fix her behavioral flaw">>
 				<</if>>
-			<<elseif ($activeSlave.sexualFlaw != "none")>>
-				<<if ($activeSlave.devotion >= -20)>>
+			<<elseif (_slave.sexualFlaw != "none")>>
+				<<if (_slave.devotion >= -20)>>
 					<<set $personalAttention[_i].trainingRegimen = "soften her sexual flaw">>
 				<<else>>
 					<<set $personalAttention[_i].trainingRegimen = "fix her sexual flaw">>
 				<</if>>
-			<<elseif ($activeSlave.fetishKnown != 1)>>
+			<<elseif (_slave.fetishKnown != 1)>>
 				<<set $personalAttention[_i].trainingRegimen = "explore her sexuality">>
-			<<elseif ($activeSlave.devotion <= 20) && ($activeSlave.trust >= -20)>>
+			<<elseif (_slave.devotion <= 20) && (_slave.trust >= -20)>>
 				<<set $personalAttention[_i].trainingRegimen = "break her will">>
 			<<else>>
 				<<set $personalAttention[_i].trainingRegimen = "build her devotion">>
 			<</if>>
 		<</if>>
 
-		<<capture $activeSlave, _i>>
+		<<capture _slave, _i>>
 
 		<<if _i > 0>><br><br><</if>>
 
-		<<run App.Utils.setLocalPronouns($activeSlave)>>
+		<<run App.Utils.setLocalPronouns(_slave)>>
 
-		You will give <span class='slave-name'><<= SlaveFullName($activeSlave)>></span> your personal attention this week.
+		You will give <span class='slave-name'><<= SlaveFullName(_slave)>></span> your personal attention this week.
 		<<link "Clear" "Personal Attention Select">> <<set $personalAttention.deleteAt(_i)>> <</link>>
 		<br>Your training will seek to <<span "training"+_i>><strong><<print $personalAttention[_i].trainingRegimen.replace("her", $his)>></strong><</span>>.
 
 		<br>Change training objective:
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<if ($activeSlave.devotion <= 20) && ($activeSlave.trust >= -20)>>
+		<<if (_slave.devotion <= 20) && (_slave.trust >= -20)>>
 			<<link "Break $his will">><<set $personalAttention[_i].trainingRegimen = "break her will">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 			| <<link "Use enhanced breaking techniques">><<set $personalAttention[_i].trainingRegimen = "harshly break her will">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<<else>>
-			Current devotion: <<includeDOM App.UI.personalAttentionDevotionText($activeSlave)>>
+			Current devotion: <<includeDOM App.UI.personalAttentionDevotionText(_slave)>>
 			<<link "Build">><<set $personalAttention[_i].trainingRegimen = "build her devotion">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
 
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<if $activeSlave.fetishKnown == 0 || $activeSlave.attrKnown == 0>>
+		<<if _slave.fetishKnown == 0 || _slave.attrKnown == 0>>
 			<<link "Explore $his sexuality and fetishes">><<set $personalAttention[_i].trainingRegimen = "explore her sexuality">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<<else>>
 			//You already understand $his sexuality//
 		<</if>>
 
-		<<if ($activeSlave.behavioralFlaw != "none")>>
+		<<if (_slave.behavioralFlaw != "none")>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			Current behavioral flaw: <span class='red'><<= capFirstChar($activeSlave.behavioralFlaw)>>.</span>
+			Current behavioral flaw: <span class='red'><<= capFirstChar(_slave.behavioralFlaw)>>.</span>
 			<<link "Remove">><<set $personalAttention[_i].trainingRegimen = "fix her behavioral flaw">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
-			<<if ($activeSlave.devotion < -20)>>
+			<<if (_slave.devotion < -20)>>
 				| //$He must be broken before $his flaws can be softened//
 			<<else>>
 				| <<link "Soften">><<set $personalAttention[_i].trainingRegimen = "soften her behavioral flaw">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 			<</if>>
 		<</if>>
 
-		<<if ($activeSlave.sexualFlaw != "none")>>
+		<<if (_slave.sexualFlaw != "none")>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
-			Current sexual flaw: <span class='red'><<= capFirstChar($activeSlave.sexualFlaw)>>.</span>
+			Current sexual flaw: <span class='red'><<= capFirstChar(_slave.sexualFlaw)>>.</span>
 			<<link "Remove">><<set $personalAttention[_i].trainingRegimen = "fix her sexual flaw">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
-			<<if ($activeSlave.devotion < -20)>>
-				<<if ($activeSlave.behavioralFlaw == "none")>>
+			<<if (_slave.devotion < -20)>>
+				<<if (_slave.behavioralFlaw == "none")>>
 				| //$He must be broken before $his flaws can be softened//
 				<</if>>
-			<<elseif ["abusive", "anal addict", "attention whore", "breast growth", "breeder", "cum addict", "malicious", "neglectful", "self hating"].includes($activeSlave.sexualFlaw)>>
+			<<elseif ["abusive", "anal addict", "attention whore", "breast growth", "breeder", "cum addict", "malicious", "neglectful", "self hating"].includes(_slave.sexualFlaw)>>
 				| //Paraphilias cannot be softened//
 			<<else>>
 				| <<link "Soften">><<set $personalAttention[_i].trainingRegimen = "soften her sexual flaw">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
@@ -245,16 +247,16 @@
 		<</if>>
 
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		<<if ($activeSlave.devotion <= 20) && ($activeSlave.trust >= -20)>>
+		<<if (_slave.devotion <= 20) && (_slave.trust >= -20)>>
 			//$He's too disobedient to learn sex skills//
-		<<elseif $activeSlave.skill.anal >= 100 && $activeSlave.skill.oral >= 100 && $activeSlave.skill.whoring >= 30 && $activeSlave.skill.entertainment >= 30>>
-			<<if $activeSlave.skill.vaginal >= 100 && $activeSlave.vagina > -1>>
+		<<elseif _slave.skill.anal >= 100 && _slave.skill.oral >= 100 && _slave.skill.whoring >= 30 && _slave.skill.entertainment >= 30>>
+			<<if _slave.skill.vaginal >= 100 && _slave.vagina > -1>>
 				//$He knows all the skills you can teach//
-			<<elseif $activeSlave.dick == 0 && $activeSlave.scrotum == 0 && $activeSlave.vagina == -1>>
+			<<elseif _slave.dick == 0 && _slave.scrotum == 0 && _slave.vagina == -1>>
 				//$He knows all the skills you can teach a null slave//
-			<<elseif $activeSlave.dick > 0 && $activeSlave.balls == 0>>
+			<<elseif _slave.dick > 0 && _slave.balls == 0>>
 				//$He knows all the skills you can teach a gelded slave//
-			<<elseif $activeSlave.dick > 0 && $activeSlave.boobs > 300 && $activeSlave.vagina == -1>>
+			<<elseif _slave.dick > 0 && _slave.boobs > 300 && _slave.vagina == -1>>
 				//$He knows all the skills you can teach a shemale slave//
 			<<else>>
 				<<link "Teach $him">><<set $personalAttention[_i].trainingRegimen = "learn skills">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
@@ -264,104 +266,104 @@
 		<</if>>
 
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
-		Current health: <<includeDOM App.UI.personalAttentionHealthText($activeSlave)>>
+		Current health: <<includeDOM App.UI.personalAttentionHealthText(_slave)>>
 		<<link "Care for $him">><<set $personalAttention[_i].trainingRegimen = "look after her">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 		//Inducing flaws is difficult and bad for slaves' obedience.//
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 		Induce a behavioral flaw:
-		<<if $activeSlave.behavioralQuirk != "confident" && $activeSlave.behavioralFlaw != "arrogant">>
+		<<if _slave.behavioralQuirk != "confident" && _slave.behavioralFlaw != "arrogant">>
 			<<link "Arrogance">><<set $personalAttention[_i].trainingRegimen = "induce arrogance">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.behavioralQuirk != "cutting" && $activeSlave.behavioralFlaw != "bitchy">>
+		<<if _slave.behavioralQuirk != "cutting" && _slave.behavioralFlaw != "bitchy">>
 			| <<link "Bitchiness">><<set $personalAttention[_i].trainingRegimen = "induce bitchiness">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.behavioralQuirk != "funny" && $activeSlave.behavioralFlaw != "odd">>
+		<<if _slave.behavioralQuirk != "funny" && _slave.behavioralFlaw != "odd">>
 			| <<link "Odd behavior">><<set $personalAttention[_i].trainingRegimen = "induce odd behavior">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.behavioralQuirk != "adores women" && $activeSlave.behavioralFlaw != "hates men">>
+		<<if _slave.behavioralQuirk != "adores women" && _slave.behavioralFlaw != "hates men">>
 			| <<link "Hatred of men">><<set $personalAttention[_i].trainingRegimen = "induce hatred of men">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.behavioralQuirk != "adores men" && $activeSlave.behavioralFlaw != "hates women">>
+		<<if _slave.behavioralQuirk != "adores men" && _slave.behavioralFlaw != "hates women">>
 			| <<link "Hatred of women">><<set $personalAttention[_i].trainingRegimen = "induce hatred of women">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.behavioralQuirk != "fitness" && $activeSlave.behavioralFlaw != "gluttonous">>
+		<<if _slave.behavioralQuirk != "fitness" && _slave.behavioralFlaw != "gluttonous">>
 			| <<link "Gluttony">><<set $personalAttention[_i].trainingRegimen = "induce gluttony">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.behavioralQuirk != "insecure" && $activeSlave.behavioralFlaw != "anorexic">>
+		<<if _slave.behavioralQuirk != "insecure" && _slave.behavioralFlaw != "anorexic">>
 			| <<link "Anorexia">><<set $personalAttention[_i].trainingRegimen = "induce anorexia">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.behavioralQuirk != "sinful" && $activeSlave.behavioralFlaw != "devout">>
+		<<if _slave.behavioralQuirk != "sinful" && _slave.behavioralFlaw != "devout">>
 			| <<link "Religious devotion">><<set $personalAttention[_i].trainingRegimen = "induce religious devotion">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.behavioralQuirk != "advocate" && $activeSlave.behavioralFlaw != "liberated">>
+		<<if _slave.behavioralQuirk != "advocate" && _slave.behavioralFlaw != "liberated">>
 			| <<link "Liberation">><<set $personalAttention[_i].trainingRegimen = "induce liberation">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
 		<br>&nbsp;&nbsp;&nbsp;&nbsp;
 		Induce a sexual flaw:
-		<<if $activeSlave.sexualQuirk != "gagfuck queen" && $activeSlave.sexualFlaw != "hates oral">>
+		<<if _slave.sexualQuirk != "gagfuck queen" && _slave.sexualFlaw != "hates oral">>
 			<<link "Hatred of oral">><<set $personalAttention[_i].trainingRegimen = "induce hatred of oral">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.sexualQuirk != "painal queen" && $activeSlave.sexualFlaw != "hates anal">>
+		<<if _slave.sexualQuirk != "painal queen" && _slave.sexualFlaw != "hates anal">>
 			| <<link "Hatred of anal">><<set $personalAttention[_i].trainingRegimen = "induce hatred of anal">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.sexualQuirk != "strugglefuck queen" && $activeSlave.sexualFlaw != "hates penetration">>
+		<<if _slave.sexualQuirk != "strugglefuck queen" && _slave.sexualFlaw != "hates penetration">>
 			| <<link "Hatred of penetration">><<set $personalAttention[_i].trainingRegimen = "induce hatred of penetration">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.sexualQuirk != "tease" && $activeSlave.sexualFlaw != "shamefast">>
+		<<if _slave.sexualQuirk != "tease" && _slave.sexualFlaw != "shamefast">>
 			| <<link "Shame">><<set $personalAttention[_i].trainingRegimen = "induce shame">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.sexualQuirk != "romantic" && $activeSlave.sexualFlaw != "idealistic">>
+		<<if _slave.sexualQuirk != "romantic" && _slave.sexualFlaw != "idealistic">>
 			| <<link "Sexual idealism">><<set $personalAttention[_i].trainingRegimen = "induce sexual idealism">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.sexualQuirk != "perverted" && $activeSlave.sexualFlaw != "repressed">>
+		<<if _slave.sexualQuirk != "perverted" && _slave.sexualFlaw != "repressed">>
 			| <<link "Sexual repression">><<set $personalAttention[_i].trainingRegimen = "induce sexual repression">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.sexualQuirk != "caring" && $activeSlave.sexualFlaw != "apathetic">>
+		<<if _slave.sexualQuirk != "caring" && _slave.sexualFlaw != "apathetic">>
 			| <<link "Sexual apathy">><<set $personalAttention[_i].trainingRegimen = "induce sexual apathy">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.sexualQuirk != "unflinching" && $activeSlave.sexualFlaw != "crude">>
+		<<if _slave.sexualQuirk != "unflinching" && _slave.sexualFlaw != "crude">>
 			| <<link "Crudity">><<set $personalAttention[_i].trainingRegimen = "induce crudity">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.sexualQuirk != "size queen" && $activeSlave.sexualFlaw != "judgemental">>
+		<<if _slave.sexualQuirk != "size queen" && _slave.sexualFlaw != "judgemental">>
 			| <<link "Judgment">><<set $personalAttention[_i].trainingRegimen = "induce judgement">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 		<</if>>
-		<<if $activeSlave.fetishStrength > 95>>
+		<<if _slave.fetishStrength > 95>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			Induce a paraphilia:
-			<<if $activeSlave.fetish == "cumslut" && $activeSlave.sexualFlaw != "cum addict">>
+			<<if _slave.fetish == "cumslut" && _slave.sexualFlaw != "cum addict">>
 				| <<link "Cum addiction">><<set $personalAttention[_i].trainingRegimen = "induce cum addiction">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 			<</if>>
-			<<if $activeSlave.fetish == "buttslut" && $activeSlave.sexualFlaw != "anal addict">>
+			<<if _slave.fetish == "buttslut" && _slave.sexualFlaw != "anal addict">>
 				| <<link "Anal addiction">><<set $personalAttention[_i].trainingRegimen = "induce anal addiction">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 			<</if>>
-			<<if $activeSlave.fetish == "humiliation" && $activeSlave.sexualFlaw != "attention whore">>
+			<<if _slave.fetish == "humiliation" && _slave.sexualFlaw != "attention whore">>
 				| <<link "Attention whoring">><<set $personalAttention[_i].trainingRegimen = "induce attention whoring">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 			<</if>>
-			<<if $activeSlave.fetish == "boobs" && $activeSlave.sexualFlaw != "breast growth">>
+			<<if _slave.fetish == "boobs" && _slave.sexualFlaw != "breast growth">>
 				| <<link "Breast growth obsession">><<set $personalAttention[_i].trainingRegimen = "induce breast growth obsession">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 			<</if>>
-			<<if $activeSlave.fetish == "dom" && $activeSlave.sexualFlaw != "abusive">>
+			<<if _slave.fetish == "dom" && _slave.sexualFlaw != "abusive">>
 				| <<link "Abusiveness">><<set $personalAttention[_i].trainingRegimen = "induce abusiveness">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 			<</if>>
-			<<if $activeSlave.fetish == "sadist" && $activeSlave.sexualFlaw != "malicious">>
+			<<if _slave.fetish == "sadist" && _slave.sexualFlaw != "malicious">>
 				| <<link "Maliciousness">><<set $personalAttention[_i].trainingRegimen = "induce maliciousness">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 			<</if>>
-			<<if $activeSlave.fetish == "masochist" && $activeSlave.sexualFlaw != "self hatred">>
+			<<if _slave.fetish == "masochist" && _slave.sexualFlaw != "self hatred">>
 				| <<link "Self hatred">><<set $personalAttention[_i].trainingRegimen = "induce self hatred">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 			<</if>>
-			<<if $activeSlave.fetish == "submissive" && $activeSlave.sexualFlaw != "neglectful">>
+			<<if _slave.fetish == "submissive" && _slave.sexualFlaw != "neglectful">>
 				| <<link "Sexual self neglect">><<set $personalAttention[_i].trainingRegimen = "induce sexual self neglect">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 			<</if>>
-			<<if $activeSlave.fetish == "pregnancy" && $activeSlave.sexualFlaw != "breeder">>
+			<<if _slave.fetish == "pregnancy" && _slave.sexualFlaw != "breeder">>
 				| <<link "Breeding obsession">><<set $personalAttention[_i].trainingRegimen = "induce breeding obsession">><<replace `"#training"+_i`>><strong>$personalAttention[_i].trainingRegimen</strong><</replace>><</link>>
 			<</if>>
 		<<else>>
 			<br>&nbsp;&nbsp;&nbsp;&nbsp;
 			//Paraphilias can only be induced from a strong fetish//
 		<</if>>
-		<</capture>> /* $activeSlave, _i */
+		<</capture>> /* _slave, _i */
 	<</for>>
 <</if>> /* CLOSES NO SLAVE SELECTED */
 
diff --git a/src/uncategorized/reAWOL.tw b/src/uncategorized/reAWOL.tw
index c3085a20c119ebecbe765d72a1cafcdcf873a8d9..c7fe992743e401d2e50dd9714fcc2f2971defddc 100644
--- a/src/uncategorized/reAWOL.tw
+++ b/src/uncategorized/reAWOL.tw
@@ -16,39 +16,39 @@
 <</if>>
 <<set _genParam = {minAge: _minAge, maxAge: 43, ageOverridesPedoMode: 1, race: _race, disableDisability: 1}>>
 <<if $seeDicks != 100>>
-	<<set $activeSlave = GenerateNewSlave("XX", _genParam)>>
+	<<set _slave = GenerateNewSlave("XX", _genParam)>>
 <<else>>
-	<<set $activeSlave = GenerateNewSlave("XY", _genParam)>>
+	<<set _slave = GenerateNewSlave("XY", _genParam)>>
 <</if>>
-<<set $activeSlave.origin = "You sentenced $him to enslavement as a punishment for dereliction of $his duty to you as a mercenary and for theft.">>
-<<set $activeSlave.career = "a soldier">>
-<<set $activeSlave.devotion = random(-75,-60)>>
-<<set $activeSlave.trust = random(-15,0)>>
-<<run setHealth($activeSlave, jsRandom(60, 80))>>
-<<set $activeSlave.muscles = 50>>
-<<set $activeSlave.weight = random(-10,10)>>
-<<run eyeSurgery($activeSlave, "both", "normal")>>
-<<set $activeSlave.hears = 0>>
-<<set $activeSlave.anus = 0>>
-<<set $activeSlave.skill.anal = 0>>
-<<set $activeSlave.skill.whoring = 0>>
-<<set $activeSlave.skill.combat = 1>>
-<<set $activeSlave.behavioralFlaw = "arrogant">>
-<<set $activeSlave.sexualFlaw = "hates men">>
-<<set $activeSlave.hStyle = "shaved into a mohawk">>
-<<set $activeSlave.custom.tattoo = "$He has a number of tattoos from a variety of mercenary companies.">>
-<<set $activeSlave.clothes = "a military uniform">>
-
-<<run App.Utils.setLocalPronouns($activeSlave)>>
+<<set _slave.origin = "You sentenced $him to enslavement as a punishment for dereliction of $his duty to you as a mercenary and for theft.">>
+<<set _slave.career = "a soldier">>
+<<set _slave.devotion = random(-75,-60)>>
+<<set _slave.trust = random(-15,0)>>
+<<run setHealth(_slave, jsRandom(60, 80))>>
+<<set _slave.muscles = 50>>
+<<set _slave.weight = random(-10,10)>>
+<<run eyeSurgery(_slave, "both", "normal")>>
+<<set _slave.hears = 0>>
+<<set _slave.anus = 0>>
+<<set _slave.skill.anal = 0>>
+<<set _slave.skill.whoring = 0>>
+<<set _slave.skill.combat = 1>>
+<<set _slave.behavioralFlaw = "arrogant">>
+<<set _slave.sexualFlaw = "hates men">>
+<<set _slave.hStyle = "shaved into a mohawk">>
+<<set _slave.custom.tattoo = "$He has a number of tattoos from a variety of mercenary companies.">>
+<<set _slave.clothes = "a military uniform">>
+
+<<run App.Utils.setLocalPronouns(_slave)>>
 <<setAssistantPronouns>>
 <span id="art-frame">
 	/* 000-250-006 */
 	<<if $seeImages == 1>>
 		<div class="imageColumn">
 			<<if $imageChoice == 1>>
-				<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+				<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 			<<else>>
-				<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+				<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 			<</if>>
 			<<= assistantArt(3)>>
 		</div>
@@ -78,7 +78,7 @@ Your window of opportunity to act is closing. If you have plans for punishing th
 <<link "Let them go">>
 	<<replace "#result">>
 		You inform your personal assistant that you aren't planning to take any action. By the next morning, word has spread to the rest of your arcology that crossing you is apparently permissible and your @@.red;reputation has suffered@@ as a result.
-		<<run repX(-1000, "event", $activeSlave)>>
+		<<run repX(-1000, "event", _slave)>>
 	<</replace>>
 <</link>>
 
@@ -116,8 +116,8 @@ Your window of opportunity to act is closing. If you have plans for punishing th
 						<<replace "#art-frame">>
 							/* 000-250-006 */
 							<<if $seeImages == 1>>
-								<<set $activeSlave.trust = 100>>
-								<<set $activeSlave.devotion = 100>>
+								<<set _slave.trust = 100>>
+								<<set _slave.devotion = 100>>
 								<div class="imageColumn">
 									<<= assistantArt(3)>>
 								</div>
@@ -127,7 +127,7 @@ Your window of opportunity to act is closing. If you have plans for punishing th
 						<<replace "#SFresult">>
 							Despite the trouble $he has caused you, the culmination of this mercenary's wanton flight from the rest of the $mercenariesTitle is decidedly anti-climatic. The last you hear of $him is in the footnote of one of your daily reports, with some minute yet suitably gory pictures as an accompaniment. When the stolen weapons are returned to their rightful place in your arcology, the unfortunate matter is concluded once and for all. @@.green;Your reputation and $arcologies[0].name's prosperity improves,@@ a result of the fear crossing you will bring, in addition to showing your citizens that you are willing and able to deal with such matters in-house.
 							<<set $arcologies[0].prosperity += 2>>
-							<<run repX(5000, "event", $activeSlave)>>
+							<<run repX(5000, "event", _slave)>>
 							<<if $arcologies[0].prosperity > $AProsperityCap>>
 								<<set $arcologies[0].prosperity = $AProsperityCap>>
 							<</if>>
@@ -141,12 +141,12 @@ Your window of opportunity to act is closing. If you have plans for punishing th
 							<<replace "#art-frame">>
 								/* 000-250-006 */
 								<<if $seeImages == 1>>
-									<<set $activeSlave.clothes = "chains">>
+									<<set _slave.clothes = "chains">>
 									<div class="imageColumn">
 										<<if $imageChoice == 1>>
-											<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+											<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 										<<else>>
-											<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+											<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 										<</if>>
 										<<= assistantArt(3)>>
 									</div>
@@ -161,7 +161,7 @@ Your window of opportunity to act is closing. If you have plans for punishing th
 									<<replace "#alive-result">>
 										Despite the trouble $he has caused you, you manage to complete the legalities and biometric scanning quickly and without incident. Of course, this is in large part due to the fact that the would-be mutineer is of course restrained. Based on the accounts of $his captors and the numerous injuries evident amongst them, $he is likely to be violent when $he is finally released.
 										<br>
-										<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+										<<includeDOM App.UI.newSlaveIntro(_slave)>>
 									<</replace>>
 								<</link>>
 
@@ -171,7 +171,7 @@ Your window of opportunity to act is closing. If you have plans for punishing th
 									<<replace "#alive-result">>
 										An example must be made. There is a binding contract between you and your $mercenariesTitle, and this $woman attempted to undermine it for $his own selfish profit. The protesting bitch is stripped and flogged on the promenade before being escorted bleeding from the arcology. The public @@.green;approves of this harshness.@@ In addition @@.green;Arcology prosperity improves,@@ a result of showing your citizens that you are willing and able to deal with such matters in-house.
 										<<set $arcologies[0].prosperity += 2>>
-										<<run repX(5000, "event", $activeSlave)>>
+										<<run repX(5000, "event", _slave)>>
 										<<if $arcologies[0].prosperity > $AProsperityCap>>
 											<<set $arcologies[0].prosperity = $AProsperityCap>>
 										<</if>>
@@ -210,7 +210,7 @@ Your window of opportunity to act is closing. If you have plans for punishing th
 					<</replace>>
 					<<replace "#bounty-result">>
 						Despite the trouble $he has caused you, the culmination of this mercenary's wanton flight from the rest of the $mercenariesTitle is decidedly an anti-climax. The last you hear of $him is in the footnote of one of your daily reports, with some minute yet suitably gory pictures as an accompaniment. When the stolen weapons are returned to their rightful place in your arcology, the unfortunate matter is concluded once and for all. @@.green;Your reputation improves,@@ a result of the fear of crossing you that your unpleasantness has inspired.
-						<<run repX(5000, "event", $activeSlave)>>
+						<<run repX(5000, "event", _slave)>>
 						<<run cashX(-5000, "capEx")>>
 					<</replace>>
 				<</link>>
@@ -221,12 +221,12 @@ Your window of opportunity to act is closing. If you have plans for punishing th
 					<<replace "#art-frame">>
 						/* 000-250-006 */
 						<<if $seeImages == 1>>
-							<<set $activeSlave.clothes = "chains">>
+							<<set _slave.clothes = "chains">>
 							<div class="imageColumn">
 								<<if $imageChoice == 1>>
-									<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+									<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 								<<else>>
-									<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+									<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 								<</if>>
 								<<= assistantArt(3)>>
 							</div>
@@ -242,8 +242,8 @@ Your window of opportunity to act is closing. If you have plans for punishing th
 								<<replace "#alive-result">>
 									Despite the trouble $he has caused you, you manage to complete the legalities and biometric scanning quickly and without incident. Of course, this is in large part due to the fact that the would-be mutineer is of course restrained. Based on the accounts of $his captors and the numerous injuries evident amongst them, $he is likely to be violent when $he is finally released.
 									<br>
-									<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
-									<<run cashX(-5000, "event", $activeSlave)>>
+									<<includeDOM App.UI.newSlaveIntro(_slave)>>
+									<<run cashX(-5000, "event", _slave)>>
 								<</replace>>
 							<</link>>
 
@@ -252,8 +252,8 @@ Your window of opportunity to act is closing. If you have plans for punishing th
 							<<link "Flog $him in public then exile $him from the arcology">>
 								<<replace "#alive-result">>
 									An example must be made. There is a binding contract between you and your $mercenariesTitle, and this $woman attempted to undermine it for $his own selfish profit. The protesting bitch is stripped and flogged on the promenade before being escorted bleeding from the arcology. The public @@.green;approves of this harshness.@@
-									<<run repX(5000, "event", $activeSlave)>>
-									<<run cashX(-5000, "event", $activeSlave)>>
+									<<run repX(5000, "event", _slave)>>
+									<<run cashX(-5000, "event", _slave)>>
 								<</replace>>
 							<</link>>
 
diff --git a/src/uncategorized/reBoomerang.tw b/src/uncategorized/reBoomerang.tw
index 57d8b6a53b804a9a8a249752c8ce262faa9c00ee..2215d07cf4eefe0c72291224c15ba335390bccd3 100644
--- a/src/uncategorized/reBoomerang.tw
+++ b/src/uncategorized/reBoomerang.tw
@@ -2,11 +2,11 @@
 
 <<set $nextButton = "Continue", $nextLink = "RIE Eligibility Check", $returnTo = "RIE Eligibility Check", $encyclopedia = "Enslaving People">>
 
-<<set $activeSlave = $boomerangSlave, _weeks = $boomerangWeeks-1, _pregWeeks = $boomerangWeeks-1, $boomerangWeeks = 0, _buyer = $boomerangBuyer, $boomerangBuyer = 0>>
+<<set _slave = $boomerangSlave, _weeks = $boomerangWeeks-1, _pregWeeks = $boomerangWeeks-1, $boomerangWeeks = 0, _buyer = $boomerangBuyer, $boomerangBuyer = 0>>
 
-<<run Enunciate($activeSlave)>>
-<<run SetBellySize($activeSlave)>>
-<<run App.Utils.setLocalPronouns($activeSlave)>>
+<<run Enunciate(_slave)>>
+<<run SetBellySize(_slave)>>
+<<run App.Utils.setLocalPronouns(_slave)>>
 <<setAssistantPronouns>>
 
 Your work is interrupted by $assistant.name with an alert from the entrance to the penthouse.
@@ -15,44 +15,44 @@ Your work is interrupted by $assistant.name with an alert from the entrance to t
 <<else>>
 	_HeA's got the incident flagged as not fitting into any of the usual categories of disturbance, and requests your attention. _HeA
 <</if>>
-brings up the relevant feeds. There's a naked body crumpled pathetically against one wall of the entryway, beneath the communications panel. It's <<= SlaveFullName($activeSlave)>>, whom you sold _weeks weeks ago. $He's looking up into one of the cameras plaintively.
+brings up the relevant feeds. There's a naked body crumpled pathetically against one wall of the entryway, beneath the communications panel. It's <<= SlaveFullName(_slave)>>, whom you sold _weeks weeks ago. $He's looking up into one of the cameras plaintively.
 "Plea<<s>>e take me back," $he whispers, not wanting to draw the attention of passersby, and knowing that $his faint words will be picked up and amplified for you.
 
-<<set $activeSlave.collar = "none", $activeSlave.faceAccessory = "none", $activeSlave.mouthAccessory = "none", $activeSlave.choosesOwnClothes = 0, $activeSlave.clothes = "no clothing", $activeSlave.buttplug = "none", $activeSlave.vaginalAccessory = "none", $activeSlave.dickAccessory = "none", $activeSlave.chastityAnus = 0, $activeSlave.chastityPenis = 0, $activeSlave.chastityVagina = 0>>
-<<run setHealth($activeSlave, jsRandom(-40, -25), $activeSlave.health.shortDamage + jsRandom(0, 10), $activeSlave.health.longDamage + jsRandom(0, 10), undefined, 100)>>
+<<set _slave.collar = "none", _slave.faceAccessory = "none", _slave.mouthAccessory = "none", _slave.choosesOwnClothes = 0, _slave.clothes = "no clothing", _slave.buttplug = "none", _slave.vaginalAccessory = "none", _slave.dickAccessory = "none", _slave.chastityAnus = 0, _slave.chastityPenis = 0, _slave.chastityVagina = 0>>
+<<run setHealth(_slave, jsRandom(-40, -25), _slave.health.shortDamage + jsRandom(0, 10), _slave.health.longDamage + jsRandom(0, 10), undefined, 100)>>
 
 /* ------------------ pregnancy setup start here----------------- */
 
-<<set WombProgress($activeSlave, _pregWeeks, _pregWeeks)>> /* In all cases should be done */
-<<set WombUpdatePregVars($activeSlave)>>
-<<if $activeSlave.broodmother > 0>> /* Broodmother implant is assumed as removed.*/
-	<<set $activeSlave.preg = -1, $activeSlave.counter.birthsTotal += WombBirthReady($activeSlave, 37), $activeSlave.broodmother == 0, $activeSlave.broodmotherFetuses = 0>>
-	<<set WombFlush($activeSlave)>>
-<<elseif WombBirthReady($activeSlave, $activeSlave.pregData.normalBirth) > 0 >> /* normal birth case, partial birthers not supported*/
-	<<set $activeSlave.preg = -1, $activeSlave.counter.birthsTotal += WombBirthReady($activeSlave, $activeSlave.pregData.normalBirth)>>
-	<<set WombFlush($activeSlave)>>
+<<set WombProgress(_slave, _pregWeeks, _pregWeeks)>> /* In all cases should be done */
+<<set WombUpdatePregVars(_slave)>>
+<<if _slave.broodmother > 0>> /* Broodmother implant is assumed as removed.*/
+	<<set _slave.preg = -1, _slave.counter.birthsTotal += WombBirthReady(_slave, 37), _slave.broodmother == 0, _slave.broodmotherFetuses = 0>>
+	<<set WombFlush(_slave)>>
+<<elseif WombBirthReady(_slave, _slave.pregData.normalBirth) > 0 >> /* normal birth case, partial birthers not supported*/
+	<<set _slave.preg = -1, _slave.counter.birthsTotal += WombBirthReady(_slave, _slave.pregData.normalBirth)>>
+	<<set WombFlush(_slave)>>
 <<else>>/* still pregnant slave */
-	<<set $activeSlave.preg = WombMaxPreg($activeSlave)>> /*most ready fetus is a base*/
-	<<set $activeSlave.pregWeek = WombMaxPreg($activeSlave)>> /*most ready fetus is a base*/
+	<<set _slave.preg = WombMaxPreg(_slave)>> /*most ready fetus is a base*/
+	<<set _slave.pregWeek = WombMaxPreg(_slave)>> /*most ready fetus is a base*/
 <</if>>
-<<run SetBellySize($activeSlave)>> /*In any case it's useful to do.*/
+<<run SetBellySize(_slave)>> /*In any case it's useful to do.*/
 
 /* ------------------ pregnancy setup end here-----------------
 	As no broodmother cases in code below, it's no need to setup every case of impregnation through new system. Backup mechanic will do it for normal pregnancies.
 */
 
-<<if ($activeSlave.hStyle != "shaved" && $activeSlave.bald != 1)>>
-	<<if ($activeSlave.hLength < 150)>>
-		<<set $activeSlave.hLength += _weeks>>
+<<if (_slave.hStyle != "shaved" && _slave.bald != 1)>>
+	<<if (_slave.hLength < 150)>>
+		<<set _slave.hLength += _weeks>>
 	<</if>>
 <</if>>
-<<run ageSlaveWeeks($activeSlave, _weeks)>>
+<<run ageSlaveWeeks(_slave, _weeks)>>
 
 <<switch _buyer>>
 <<case "buttbreaker">>
 	"All my Ma<<s>>ter care<<s>> about i<<s>> raping my a<<ss>> until I <<s>>cream. I can't get u<<s>>ed to it. I'm loo<<s>>e and ruined, but he ju<<s>>t u<<s>>e<<s>> a dildo big enough to hurt me." $He's sitting over on one buttock, and shifts uncomfortably.
-	<<set $activeSlave.anus = 4>>
-	<<set $activeSlave.sexualFlaw = "hates anal">>
+	<<set _slave.anus = 4>>
+	<<set _slave.sexualFlaw = "hates anal">>
 <<case "cow trainer" "D hucow" "D milky herm" "factory farm" "free range" "pastoralist arcology">>
 	<<switch _buyer>>
 	<<case "free range">>
@@ -69,17 +69,17 @@ brings up the relevant feeds. There's a naked body crumpled pathetically against
 		You sold $him to a factory farm, and the
 	<</switch>>
 	effects of living there have changed $his body greatly. It's surprising $he managed to make it up here at all. "Plea<<s>>e," $he begs. "I d-don't want to <<s>>pend the r-re<<s>>t of my life being raped by a ma<<ch>>ine."
-	<<if hasAnyNaturalLegs($activeSlave)>>$He shifts uncomfortably on $his <<if !hasBothLegs($activeSlave)>>foot<<else>>feet<</if>>. The soles of the feet are a convenient place to beat a whore, since it's agonizingly painful, doesn't bruise badly, and won't inconvenience a slave that spends all $his time kneeling or lying down.<</if>>
-	<<set $activeSlave.anus = 4>>
-	<<set $activeSlave.lactation = 2, $activeSlave.lactationDuration = 2, $activeSlave.lactationAdaptation = 100>>
-	<<set $activeSlave.boobs = Math.clamp($activeSlave.boobs+2000+50*random(-20,20),0,10000)>>
-	<<set $activeSlave.boobShape = "saggy">>
-	<<if $seePreg != 0>><<if $activeSlave.ovaries>><<set $activeSlave.preg = random(5,_pregWeeks-1), $activeSlave.pregType = random(2,4), $activeSlave.vagina = 4, $activeSlave.pregWeek = $activeSlave.preg, $activeSlave.pregKnown = 1, SetBellySize($activeSlave)>><</if>><</if>>
-	<<if $activeSlave.balls>>
-		<<set $activeSlave.balls = Math.clamp($activeSlave.balls+random(1,2),0,10)>>
-		<<if $activeSlave.dick>><<set $activeSlave.dick = Math.clamp($activeSlave.dick+random(1,2),0,10)>><</if>>
+	<<if hasAnyNaturalLegs(_slave)>>$He shifts uncomfortably on $his <<if !hasBothLegs(_slave)>>foot<<else>>feet<</if>>. The soles of the feet are a convenient place to beat a whore, since it's agonizingly painful, doesn't bruise badly, and won't inconvenience a slave that spends all $his time kneeling or lying down.<</if>>
+	<<set _slave.anus = 4>>
+	<<set _slave.lactation = 2, _slave.lactationDuration = 2, _slave.lactationAdaptation = 100>>
+	<<set _slave.boobs = Math.clamp(_slave.boobs+2000+50*random(-20,20),0,10000)>>
+	<<set _slave.boobShape = "saggy">>
+	<<if $seePreg != 0>><<if _slave.ovaries>><<set _slave.preg = random(5,_pregWeeks-1), _slave.pregType = random(2,4), _slave.vagina = 4, _slave.pregWeek = _slave.preg, _slave.pregKnown = 1, SetBellySize(_slave)>><</if>><</if>>
+	<<if _slave.balls>>
+		<<set _slave.balls = Math.clamp(_slave.balls+random(1,2),0,10)>>
+		<<if _slave.dick>><<set _slave.dick = Math.clamp(_slave.dick+random(1,2),0,10)>><</if>>
 	<</if>>
-	<<set $activeSlave.intelligence = Math.clamp($activeSlave.intelligence-50,-100,100)>>
+	<<set _slave.intelligence = Math.clamp(_slave.intelligence-50,-100,100)>>
 <<case "preg fetishist" "volume breeder">>
 	<<switch _buyer>>
 	<<case "preg fetishist">>
@@ -88,151 +88,151 @@ brings up the relevant feeds. There's a naked body crumpled pathetically against
 		$He tearfully describes life at a volume breeder like the one you sold $him to.
 	<</switch>>
 	"They ran an IV line into me and then put me in a cage with a male <<s>>lave who raped me for a week. Then they <<s>>witched me into a <<s>>maller cage and forgot about me. I can feel my belly <<s>>welling. It'<<s>> horrible."
-	<<set $activeSlave.preg = _pregWeeks-1, $activeSlave.vagina = 4, $activeSlave.pregWeek = $activeSlave.preg, $activeSlave.pregKnown = 1>>
+	<<set _slave.preg = _pregWeeks-1, _slave.vagina = 4, _slave.pregWeek = _slave.preg, _slave.pregKnown = 1>>
 	<<if $seeHyperPreg == 1>>
-		<<set $activeSlave.pregType = random(10,40)>>
+		<<set _slave.pregType = random(10,40)>>
 	<<else>>
-		<<set $activeSlave.pregType = 5>>
+		<<set _slave.pregType = 5>>
 	<</if>>
-	<<run SetBellySize($activeSlave)>>
+	<<run SetBellySize(_slave)>>
 <<case "porn studio">>
-	"They're crazy. At fir<<s>>t it wa<<s>> all the <<s>>ame, ju<<s>>t make more <<s>>mut and reap the atten<<t>>ion, but <<s>>oon they <<s>>tarted wanting me to do more and more e<<x>>treme <<sh>>it." $He gags at the thought. "While they were running a train on me, I <<if canHear($activeSlave)>>overheard them talking<<elseif canSee($activeSlave)>>caught a glimp<<s>>e of <<s>>ome memo between the bo<<ss>>e<<s>><<else>>felt the word<<s>> one of them wrote on my <<s>>kin<</if>>... <<s>>aying they wanted to end my career in an 'unforgettable e<<x>>perien<<c>>e', and given what they'd been having me do, I ran." You suspected the porn studio you sold $him to would try to spice up $his content to attract more views, but you never bothered to think of how far they would take it.
-	<<set $activeSlave.anus = 4>>
-	<<if $activeSlave.vagina > -1 && $activeSlave.vagina < 4>>
-		<<set $activeSlave.vagina = 4>>
+	"They're crazy. At fir<<s>>t it wa<<s>> all the <<s>>ame, ju<<s>>t make more <<s>>mut and reap the atten<<t>>ion, but <<s>>oon they <<s>>tarted wanting me to do more and more e<<x>>treme <<sh>>it." $He gags at the thought. "While they were running a train on me, I <<if canHear(_slave)>>overheard them talking<<elseif canSee(_slave)>>caught a glimp<<s>>e of <<s>>ome memo between the bo<<ss>>e<<s>><<else>>felt the word<<s>> one of them wrote on my <<s>>kin<</if>>... <<s>>aying they wanted to end my career in an 'unforgettable e<<x>>perien<<c>>e', and given what they'd been having me do, I ran." You suspected the porn studio you sold $him to would try to spice up $his content to attract more views, but you never bothered to think of how far they would take it.
+	<<set _slave.anus = 4>>
+	<<if _slave.vagina > -1 && _slave.vagina < 4>>
+		<<set _slave.vagina = 4>>
 	<</if>>
-	<<run actX($activeSlave, "publicUse", 500)>>
+	<<run actX(_slave, "publicUse", 500)>>
 <<case "obsessed fan">>
 	"It wa<<s>> really ni<<c>>e, at fir<<s>>t," $he sniffles, "and I'm a little <<s>>ad it had to end the way it d-did." You sold $him to a die-hard fan who offered up a rather large sum of money for ownership of $him. "He took out too big of a loan and when they came to collect, he let me loo<<s>>e and told me to run, run far away. I d-didn't know where el<<s>>e to g-go." $He breaks down in tears.
-	<<if $seePreg != 0 && canGetPregnant($activeSlave)>>
+	<<if $seePreg != 0 && canGetPregnant(_slave)>>
 		"In the <<sh>>ort time we <<s>>pent together, he left me a gift..." $He runs a hand across $his stomach. "While I wouldn't <<s>>ay I wa<<s>> in love with him, I feel like I have to keep them <<s>>afe for what he did. I can't even think of where I'd have ended up if they had taken me."
-		<<if $activeSlave.mpreg == 1 && $activeSlave.anus == 0>>
-			<<set $activeSlave.anus = 1>>
-		<<elseif $activeSlave.ovaries == 1 && $activeSlave.vagina == 0>>
-			<<set $activeSlave.vagina = 1>>
+		<<if _slave.mpreg == 1 && _slave.anus == 0>>
+			<<set _slave.anus = 1>>
+		<<elseif _slave.ovaries == 1 && _slave.vagina == 0>>
+			<<set _slave.vagina = 1>>
 		<</if>>
-		<<set $activeSlave.preg = random(5,_pregWeeks-1), $activeSlave.pregType = random(2,4), $activeSlave.pregWeek = $activeSlave.preg, $activeSlave.pregKnown = 1, $activeSlave.pregSource = -2, SetBellySize($activeSlave)>>
+		<<set _slave.preg = random(5,_pregWeeks-1), _slave.pregType = random(2,4), _slave.pregWeek = _slave.preg, _slave.pregKnown = 1, _slave.pregSource = -2, SetBellySize(_slave)>>
 	<</if>>
 <<case "pain fetishist">>
 	"They whip me. A-actually," $he sniffles, "I'm glad when they whip me b-becau<<s>>e e-everything el<<s>>e they d-do is w-wor<<s>>e. The only break I get i-i<<s>> when I'm hurt bad and th-they have to f-fi<<x>> me." After all, you did sell $him into a life as a pain slave.
-	<<set $activeSlave.behavioralFlaw = "odd", $activeSlave.sexualFlaw = "apathetic">>
-	<<run setHealth($activeSlave, jsRandom(-50, -30), $activeSlave.health.shortDamage + normalRandInt(20, 4), $activeSlave.health.longDamage + normalRandInt(15, 3), undefined, 100)>>
+	<<set _slave.behavioralFlaw = "odd", _slave.sexualFlaw = "apathetic">>
+	<<run setHealth(_slave, jsRandom(-50, -30), _slave.health.shortDamage + normalRandInt(20, 4), _slave.health.longDamage + normalRandInt(15, 3), undefined, 100)>>
 <<case "sadism fetishist">>
 	"I-it'<<s>> t-too much." $He shudders. You sold $him to a sadist who planned to use $him to abuse other slaves. "I c-can't d-do it anymore. I u<<s>>ed to fanta<<s>>i<<z>>e about d-doing h-horrible thing<<s>>, but, but, the <<s>>creaming." $He squeezes $his eyes shut. "If I don't do it I'll h-have it d-done t-to me."
-	<<set $activeSlave.behavioralFlaw = "odd", $activeSlave.sexualFlaw = "apathetic">>
-	<<set $activeSlave.fetish = "none", $activeSlave.fetishStrength = 0>>
+	<<set _slave.behavioralFlaw = "odd", _slave.sexualFlaw = "apathetic">>
+	<<set _slave.fetish = "none", _slave.fetishStrength = 0>>
 <<case "dom fetishist">>
 	"I," $he mutters, and then loses $his way. "I lo<<s>>t," $he grates out after a while. "I wa<<s>> <<s>>uppo<<s>>ed to be the Head Girl after you <<s>>old me. But a new girl came, and, and <<sh>>e'<<s>> the Head Girl now." $He looks down. "It should have been me."
-	<<set $activeSlave.behavioralFlaw = "hates women">>
+	<<set _slave.behavioralFlaw = "hates women">>
 <<case "sub fetishist">>
 	"I thought I'd be happy to be a <<s>>ub forever." You sold $him to a determined dom, extreme even by Free Cities standards. "But, but, I haven't, um, had a break <<s>>in<<c>>e I left. I never talk. I never, well, I never do anything. I ju<<s>>t obey." $He looks down. "I'm going in<<s>>ane."
-	<<set $activeSlave.behavioralFlaw = "odd", $activeSlave.sexualFlaw = "apathetic">>
-	<<set $activeSlave.fetish = "none", $activeSlave.fetishStrength = 0>>
+	<<set _slave.behavioralFlaw = "odd", _slave.sexualFlaw = "apathetic">>
+	<<set _slave.fetish = "none", _slave.fetishStrength = 0>>
 <<case "supremacist arcology">>
 	"It wa<<s>> horrible." You sold $him to a Supremacist arcology; it's nothing short of incredible that $he managed to get back here. $He must have sold and traded $himself without hesitation. "The thing<<s>> they made me do to other girl<<s>> ju<<s>>t because of who they were." $He swallows. "I tried not to. And they puni<<sh>>ed me."
-	<<set $activeSlave.behavioralFlaw = "odd", $activeSlave.sexualFlaw = "hates men">>
+	<<set _slave.behavioralFlaw = "odd", _slave.sexualFlaw = "hates men">>
 <<case "subjugationist arcology">>
 	"They were breeding me with idiot<<s>>." You sold $him to a Subjugationist arcology; it's nothing short of incredible that $he managed to get back here. $He must have sold and traded $himself without hesitation. "I d-don't want thi<<s>> pregnan<<c>>y."
-	<<set $activeSlave.preg = _pregWeeks-1, $activeSlave.pregType = random(2,4), $activeSlave.pregWeek = $activeSlave.preg, $activeSlave.pregKnown = 1>>
-	<<run SetBellySize($activeSlave)>>
-	<<run WombFatherRace($activeSlave, $activeSlave.race)>>
+	<<set _slave.preg = _pregWeeks-1, _slave.pregType = random(2,4), _slave.pregWeek = _slave.preg, _slave.pregKnown = 1>>
+	<<run SetBellySize(_slave)>>
+	<<run WombFatherRace(_slave, _slave.race)>>
 <<case "gender radicalist arcology">>
-	"They <<if $activeSlave.balls>> cut my ball<<s>> off and then<</if>> j-ju<<s>>t kind of t-turned me loo<<s>>e in the corridor<<s>>," $he moans. You sold $him to a Gender Radicalist arcology. "Naked, <<s>>o everyone could u<<s>>e my a<<ss>>. Plea<<s>>e, I don't want to be an entire arcology'<<s>> bitch."
-	<<set $activeSlave.balls = 0>>
-	<<if $activeSlave.dick>><<set $activeSlave.dick = Math.clamp($activeSlave.dick-random(1,2),0,10)>><</if>>
+	"They <<if _slave.balls>> cut my ball<<s>> off and then<</if>> j-ju<<s>>t kind of t-turned me loo<<s>>e in the corridor<<s>>," $he moans. You sold $him to a Gender Radicalist arcology. "Naked, <<s>>o everyone could u<<s>>e my a<<ss>>. Plea<<s>>e, I don't want to be an entire arcology'<<s>> bitch."
+	<<set _slave.balls = 0>>
+	<<if _slave.dick>><<set _slave.dick = Math.clamp(_slave.dick-random(1,2),0,10)>><</if>>
 <<case "gender fundamentalist arcology">>
 	"It wa<<s>> horrible." You sold $him to a Gender Fundamentalist arcology; it's nothing short of incredible that $he managed to get back here. $He must have sold and traded $himself without hesitation. "I'm, I'm, not an idiot. At lea<<s>>t, not ju<<s>>t becau<<s>>e I'm a girl."
-	<<set $activeSlave.behavioralFlaw = "odd", $activeSlave.sexualFlaw = "hates men">>
+	<<set _slave.behavioralFlaw = "odd", _slave.sexualFlaw = "hates men">>
 <<case "paternalist arcology">>
 	"It wa<<s>> horrible." You sold $him to a Paternalist arcology, but $he explains the apparent contradiction. "The arcology got a new owner." $He shudders. "I gue<<ss>> the ni<<c>>e one wa<<s>> weak, and, and the new one i<<s>> changing thing<<s>>. There'<<s>> cage<<s>>, and <<s>>pike<<s>>, and whip<<s>>, and rape." It's nothing short of incredible that $he managed to get back here. $He must have sold and traded $himself without hesitation.
-	<<set $activeSlave.behavioralFlaw = "odd", $activeSlave.sexualFlaw = "hates men">>
+	<<set _slave.behavioralFlaw = "odd", _slave.sexualFlaw = "hates men">>
 <<case "degradationist arcology">>
 	"It wa<<s>> horrible." You sold $him to a Degradationist arcology; it's nothing short of incredible that $he managed to get back here. $He must have sold and traded $himself without hesitation.
-	<<if $activeSlave.ovaries>>
-		<<set $activeSlave.ovaries = 0, WombFlush($activeSlave), $activeSlave.vagina = 4>>
-		<<run SetBellySize($activeSlave)>>
+	<<if _slave.ovaries>>
+		<<set _slave.ovaries = 0, WombFlush(_slave), _slave.vagina = 4>>
+		<<run SetBellySize(_slave)>>
 		"They f-fi<<x>>ed me, t-to '<<s>>ave on maintenan<<c>>e of my cunt,'
-	<<elseif $activeSlave.balls>>
-		<<set $activeSlave.balls = 0, $activeSlave.anus = 4>>
+	<<elseif _slave.balls>>
+		<<set _slave.balls = 0, _slave.anus = 4>>
 		"They c-cut my b-ball<<s>> off, to 'keep me do<<c>>ile,'
 	<<else>>
-		<<set $activeSlave.anus = 4>>
+		<<set _slave.anus = 4>>
 		"They whipped me,
 	<</if>>
 	and then u<<s>>ed me to <<s>>ati<<s>>fy labor menial<<s>>. Ten an hour."
-	<<set $activeSlave.behavioralFlaw = "odd", $activeSlave.sexualFlaw = "hates men">>
+	<<set _slave.behavioralFlaw = "odd", _slave.sexualFlaw = "hates men">>
 <<case "slimness enthusiast arcology">>
 	"It wa<<s>> horrible." You sold $him to a pleasant Slimness Enthusiast arcology, but somehow $he's acquired grotesque implants. "The arcology got a new owner." $He shudders. "I gue<<ss>> the ni<<c>>e one wa<<s>> weak, and, and the new one i<<s>> changing thing<<s>>. <<Sh>>-<<sh>>e l-like<<s>> t-to ruin the <<s>>lim one<<s>>." It's nothing short of incredible that $he managed to get back here. $He must have sold and traded $himself without hesitation.
-	<<set $activeSlave.boobsImplant = 200*random(2,4), $activeSlave.boobs += $activeSlave.boobsImplant, $activeSlave.boobsImplantType = "normal">>
-	<<set $activeSlave.buttImplant = random(2,4), $activeSlave.butt = Math.clamp($activeSlave.butt+$activeSlave.buttImplant,0,10), $activeSlave.buttImplantType = "normal">>
-	<<set $activeSlave.lipsImplant = 10*random(1,3), $activeSlave.lips = Math.clamp($activeSlave.lips+$activeSlave.lipsImplant,0,100)>>
+	<<set _slave.boobsImplant = 200*random(2,4), _slave.boobs += _slave.boobsImplant, _slave.boobsImplantType = "normal">>
+	<<set _slave.buttImplant = random(2,4), _slave.butt = Math.clamp(_slave.butt+_slave.buttImplant,0,10), _slave.buttImplantType = "normal">>
+	<<set _slave.lipsImplant = 10*random(1,3), _slave.lips = Math.clamp(_slave.lips+_slave.lipsImplant,0,100)>>
 <<case "asset expansionist arcology">>
 	"It wa<<s>> horrible." You sold $him to an Asset Expansionist arcology; it's nothing short of incredible that $he managed to get back here. $He must have sold and traded $himself without hesitation.
-	<<if $activeSlave.hips > 0>>
-		<<set $activeSlave.butt = Math.clamp($activeSlave.butt+random(2,4),0,10)>>
+	<<if _slave.hips > 0>>
+		<<set _slave.butt = Math.clamp(_slave.butt+random(2,4),0,10)>>
 		"They <<s>>aid, <<s>>in<<c>>e I've got broad hip<<s>>, I'd be a 'butt<<s>>lave'." The meaning is obvious; $his ass has grown unbelievably.
 	<<else>>
-		<<set $activeSlave.boobs = Math.clamp($activeSlave.boobs+50*random(20,40),0,10000)>>
+		<<set _slave.boobs = Math.clamp(_slave.boobs+50*random(20,40),0,10000)>>
 		"They <<s>>aid they'd <<s>>tart with my boob<<s>>." It's true; they've grown unbelievably.
 	<</if>>
 	$He shivers. "The <<s>>ide effect<<s>> are terrible. I can't <<s>>leep. I can barely eat. They had to feed me with a tube."
-	<<set $activeSlave.behavioralFlaw = "anorexic">>
+	<<set _slave.behavioralFlaw = "anorexic">>
 <<case "transformation fetishist arcology">>
 	"It wa<<s>> horrible." You sold $him to a Transformation Fetishist arcology; it's nothing short of incredible that $he managed to get back here. $He must have sold and traded $himself without hesitation. "They were giving me new boob implant<<s>> every two week<<s>>. I ran away before another <<s>>et. I c-couldn't take any more <<s>>-<<s>>urgery."
-	<<set $activeSlave.boobsImplant = 200*random(9,12), $activeSlave.boobs += $activeSlave.boobsImplant, $activeSlave.boobsImplantType = "normal">>
+	<<set _slave.boobsImplant = 200*random(9,12), _slave.boobs += _slave.boobsImplant, _slave.boobsImplantType = "normal">>
 <<case "physical idealist arcology">>
 	"It wa<<s>> horrible." You sold $him to a Physical Idealist arcology; it's nothing short of incredible that $he managed to get back here. $He must have sold and traded $himself without hesitation. "It should have been called a <<S>>teroid Enthu<<s>>ia<<s>>t arcology." $He shivers. "The <<s>>ide effect<<s>> are terrible. I can't <<s>>leep. I can barely eat. They had to feed me with a tube."
-	<<set $activeSlave.muscles = 100, $activeSlave.weight = random(-85,-75)>>
-	<<set $activeSlave.behavioralFlaw = "anorexic">>
+	<<set _slave.muscles = 100, _slave.weight = random(-85,-75)>>
+	<<set _slave.behavioralFlaw = "anorexic">>
 <<case "chattel religionist arcology">>
 	"It wa<<s>> horrible." You sold $him to a Chattel Religionist arcology; it's nothing short of incredible that $he managed to get back here. $He must have sold and traded $himself without hesitation. "There were, um, cult<<s>> there, along with the Faith. They were going to devote me to <<s>>omething called <<Sh>>e Who Thir<<s>>t<<s>>. Nobody ever hear<<s>> of girl<<s>> after that."
-	<<set $activeSlave.behavioralFlaw = "odd", $activeSlave.sexualFlaw = "crude", $activeSlave.behavioralQuirk = "devout">>
+	<<set _slave.behavioralFlaw = "odd", _slave.sexualFlaw = "crude", _slave.behavioralQuirk = "devout">>
 <<case "roman revivalist arcology">>
 	"It wa<<s>> horrible." You sold $him to a Roman Revivalist arcology; it's nothing short of incredible that $he managed to get back here. $He must have sold and traded $himself without hesitation. "I had to kill a girl," $he adds in a small voice. "In the arena." Then, even more quietly: "I had to kill, um, girl<<s>>. I, I can't. Couldn't. Not again."
-	<<set $activeSlave.behavioralFlaw = "odd", $activeSlave.sexualFlaw = "crude", $activeSlave.skill.combat = 1>>
+	<<set _slave.behavioralFlaw = "odd", _slave.sexualFlaw = "crude", _slave.skill.combat = 1>>
 <<case "aztec revivalist arcology">>
 	"It wa<<s>> horrible." You sold $him to an Aztec Revivalist arcology; it's nothing short of incredible that $he managed to get back here. $He must have sold and traded $himself without hesitation. "They told me by blood would feed the <<S>>un." $He shudders. "I, they, um, do that to hundred<<s>> of girl<<s>>. I had to help."
-	<<set $activeSlave.behavioralFlaw = "odd", $activeSlave.sexualFlaw = "apathetic">>
+	<<set _slave.behavioralFlaw = "odd", _slave.sexualFlaw = "apathetic">>
 <<case "egyptian revivalist arcology">>
 	"It wa<<s>> horrible." You sold $him to an Egyptian Revivalist arcology; it's nothing short of incredible that $he managed to get back here. $He must have sold and traded $himself without hesitation. "My new owner wa<<s>> old, and he wa<<s>> really into <<s>>ome of the tomb <<s>>tuff. If he died, I'd have been buried with him."
 <<case "body purist arcology">>
 	"It wa<<s>> horrible." You sold $him to a pleasant Body Purist arcology, but somehow $he's acquired grotesque implants. "The arcology got a new owner." $He shudders. "I gue<<ss>> the ni<<c>>e one wa<<s>> weak, and, and the new one i<<s>> changing thing<<s>>. <<Sh>>-<<sh>>e l-like<<s>> t-to ruin the pure one<<s>>." It's nothing short of incredible that $he managed to get back here. $He must have sold and traded $himself without hesitation.
-	<<set $activeSlave.boobsImplant = 200*random(2,4), $activeSlave.boobs += $activeSlave.boobsImplant, $activeSlave.boobsImplantType = "normal">>
-	<<set $activeSlave.buttImplant = random(2,4), $activeSlave.butt = Math.clamp($activeSlave.butt+$activeSlave.buttImplant,0,10), $activeSlave.buttImplantType = "normal">>
-	<<set $activeSlave.lipsImplant = 10*random(1,3), $activeSlave.lips = Math.clamp($activeSlave.lips+$activeSlave.lipsImplant,0,100)>>
+	<<set _slave.boobsImplant = 200*random(2,4), _slave.boobs += _slave.boobsImplant, _slave.boobsImplantType = "normal">>
+	<<set _slave.buttImplant = random(2,4), _slave.butt = Math.clamp(_slave.butt+_slave.buttImplant,0,10), _slave.buttImplantType = "normal">>
+	<<set _slave.lipsImplant = 10*random(1,3), _slave.lips = Math.clamp(_slave.lips+_slave.lipsImplant,0,100)>>
 <<case "D milf staffing" "trainer staffing">>
 	<<setNonlocalPronouns $seeDicks>>
 	"I'm a good <<s>>lave trainer, ju<<s>>t like you <<s>>old me to be. Too good." $His eyes look hollow. "I can't get what I'm doing to the<<s>>e <<= _girlU>><<s>> out of my head. Every young _girlU I meet, I get to know _himU and under<<s>>tand _himU. And then I break _himU down and turn _himU into a brainle<<ss>> little fuckpuppet." $He swallows. "I can't. Not anymore."
-	<<set $activeSlave.fetish = "dom", $activeSlave.fetishStrength = 100>>
-	<<set $activeSlave.behavioralFlaw = "arrogant", $activeSlave.sexualFlaw = "crude">>
+	<<set _slave.fetish = "dom", _slave.fetishStrength = 100>>
+	<<set _slave.behavioralFlaw = "arrogant", _slave.sexualFlaw = "crude">>
 <<case "teaching trainer">>
 	"I'm ju<<s>>t a mannequin now," $he <<say>>s hollowly. $His buyer planned to use $him as a teaching tool. "There'<<s>> nothing. No joy, no fun. Ju<<s>>t the <<s>>ame thing, over, and over. In<<s>>ide me."
-	<<set $activeSlave.fetish = "submissive", $activeSlave.fetishStrength = 100>>
-	<<set $activeSlave.behavioralFlaw = "hates penetration", $activeSlave.sexualFlaw = "apathetic">>
+	<<set _slave.fetish = "submissive", _slave.fetishStrength = 100>>
+	<<set _slave.behavioralFlaw = "hates penetration", _slave.sexualFlaw = "apathetic">>
 <<case "implanting trainer">>
 	"I d-don't want to be c-cut again," $he <<say>>s hollowly. $His buyer planned to use $him as a surgical teaching tool. "E-every time I'm healed, they implant me again. B-bigger."
-	<<set $activeSlave.boobsImplant = 200*random(8,12), $activeSlave.boobs += $activeSlave.boobsImplant, $activeSlave.boobsImplantType = "advanced fillable">>
-	<<set $activeSlave.buttImplant = random(2,4), $activeSlave.butt = Math.clamp($activeSlave.butt+$activeSlave.buttImplant,0,10), $activeSlave.buttImplantType = "normal">>
-	<<set $activeSlave.lipsImplant = 10*random(1,3), $activeSlave.lips = Math.clamp($activeSlave.lips+$activeSlave.lipsImplant,0,100)>>
+	<<set _slave.boobsImplant = 200*random(8,12), _slave.boobs += _slave.boobsImplant, _slave.boobsImplantType = "advanced fillable">>
+	<<set _slave.buttImplant = random(2,4), _slave.butt = Math.clamp(_slave.butt+_slave.buttImplant,0,10), _slave.buttImplantType = "normal">>
+	<<set _slave.lipsImplant = 10*random(1,3), _slave.lips = Math.clamp(_slave.lips+_slave.lipsImplant,0,100)>>
 <<case "purifying trainer">>
 	"It w-wa<<s>>n't like I thought it would be," $he <<say>>s. "The trainer you <<s>>old me to took out my implant<<s>>. B-but then they <<s>>aid my boob<<s>> had to be rebuilt, only with drug<<s>> thi<<s>> time." $He shivers. "The <<s>>ide effect<<s>> are terrible. I can't <<s>>leep. I can barely eat. They had to feed me with a tube."
-	<<set $activeSlave.boobs -= $activeSlave.boobsImplant, $activeSlave.boobsImplant = 0, $activeSlave.boobsImplantType = "none">>
-	<<set $activeSlave.butt -= $activeSlave.buttImplant, $activeSlave.buttImplant = 0, $activeSlave.buttImplantType = "none">>
-	<<set $activeSlave.lips -= $activeSlave.lipsImplant, $activeSlave.lipsImplant = 0>>
-	<<set $activeSlave.boobs = Math.clamp($activeSlave.boobs+50*random(20,40),0,10000)>>
+	<<set _slave.boobs -= _slave.boobsImplant, _slave.boobsImplant = 0, _slave.boobsImplantType = "none">>
+	<<set _slave.butt -= _slave.buttImplant, _slave.buttImplant = 0, _slave.buttImplantType = "none">>
+	<<set _slave.lips -= _slave.lipsImplant, _slave.lipsImplant = 0>>
+	<<set _slave.boobs = Math.clamp(_slave.boobs+50*random(20,40),0,10000)>>
 <<case "D startled the witch">>
 	You sold $him to a buyer interested in $him because of $his sharp teeth, among other things. "It wa<<s>> horrible," $he whispers. Then $he gags, dry heaves, and vomits slightly. $He wipes $his mouth with the back of $his hand, staring upward vacantly. "Horrible."
-	<<set $activeSlave.behavioralFlaw = "odd", $activeSlave.sexualFlaw = "crude">>
+	<<set _slave.behavioralFlaw = "odd", _slave.sexualFlaw = "crude">>
 <<case "vampire clan">>
 	You sold $him to a buyer interested in $him because of $his fangs, among other things. "It wa<<s>> horrible," $he whispers. Then $he gags, dry heaves, and vomits slightly. $He wipes $his mouth with the back of $his hand, staring upward vacantly. "Horrible."
-	<<set $activeSlave.behavioralFlaw = "odd">>
-	<<set $activeSlave.weight = Math.clamp($activeSlave.weight-75,-100,100)>>
+	<<set _slave.behavioralFlaw = "odd">>
+	<<set _slave.weight = Math.clamp(_slave.weight-75,-100,100)>>
 <<case "slimming trainer">>
 	"It'<<s>> horrible." You sold $him to a trainer who specializes in slimming slaves down, and if anything, they seem to have gone too far. $He's emaciated. "I'm h-hungry all the time, and when I'm not p-perfect, I d-don't get to eat at all."
-	<<set $activeSlave.boobs = Math.clamp($activeSlave.boobs-50*random(5,10),0,10000)>>
-	<<set $activeSlave.butt = Math.clamp($activeSlave.butt-random(1,2),0,10)>>
-	<<set $activeSlave.waist = Math.clamp($activeSlave.waist-random(20,50),-100,100)>>
-	<<set $activeSlave.weight = -100>>
+	<<set _slave.boobs = Math.clamp(_slave.boobs-50*random(5,10),0,10000)>>
+	<<set _slave.butt = Math.clamp(_slave.butt-random(1,2),0,10)>>
+	<<set _slave.waist = Math.clamp(_slave.waist-random(20,50),-100,100)>>
+	<<set _slave.weight = -100>>
 <<case "broadening trainer" "D cannibal" "hedonistic decadence arcology">>
 	<<switch _buyer>>
 	<<case "D cannibal">>
@@ -242,100 +242,100 @@ brings up the relevant feeds. There's a naked body crumpled pathetically against
 	<<default>>
 		"It'<<s>> horrible." You sold $him to a trainer who specializes in fattening slaves up, and if anything, they seem to have gone too far. $He's bloated, and $his stomach is distended. "T-they beat me if I ever <<s>>top eating, and they feed my butt too. I'm gro<<ss>> and ugly."
 	<</switch>>
-	<<set $activeSlave.boobs = Math.clamp($activeSlave.boobs+50*random(5,10),0,10000)>>
-	<<set $activeSlave.butt = Math.clamp($activeSlave.butt+random(1,2),0,10)>>
-	<<set $activeSlave.waist = Math.clamp($activeSlave.waist-random(20,50),-100,100)>>
-	<<set $activeSlave.weight = Math.clamp($activeSlave.weight+random(50,100),-100,200)>>
+	<<set _slave.boobs = Math.clamp(_slave.boobs+50*random(5,10),0,10000)>>
+	<<set _slave.butt = Math.clamp(_slave.butt+random(1,2),0,10)>>
+	<<set _slave.waist = Math.clamp(_slave.waist-random(20,50),-100,100)>>
+	<<set _slave.weight = Math.clamp(_slave.weight+random(50,100),-100,200)>>
 <<case "clipping trainer">>
 	"All I do i<<s>> <<s>>uck dick<<s>> and get fucked in the butt." You sold $him to a trainer who specializes in clipping and improving overly masculine slaves, and $he's definitely more feminine, if bitterly unhappy. "They're going to <<s>>ell me to a bitch brothel <<s>>oon, I know it. Plea<<s>>e, nobody'<<s>> even <<s>>aid anything to me other than '<<s>>uck my cock' or 'bend over bitch' in week<<s>>."
-	<<set $activeSlave.boobsImplant = 200*random(2,4), $activeSlave.boobs += $activeSlave.boobsImplant, $activeSlave.boobsImplantType = "normal">>
-	<<set $activeSlave.buttImplant = random(1,2), $activeSlave.butt = Math.clamp($activeSlave.butt+$activeSlave.buttImplant,0,10), $activeSlave.buttImplantType = "normal">>
-	<<set $activeSlave.lipsImplant = 10*random(1,2), $activeSlave.lips = Math.clamp($activeSlave.lips+$activeSlave.lipsImplant,0,100)>>
-	<<set $activeSlave.waist = Math.clamp($activeSlave.waist+random(20,50),-100,100)>>
-	<<set $activeSlave.balls = 0, $activeSlave.scrotum = 0, $activeSlave.dick = Math.clamp($activeSlave.dick-random(1,2),0,10)>>
-	<<set $activeSlave.behavioralFlaw = "hates men", $activeSlave.sexualFlaw = "hates anal">>
-	<<if $activeSlave.faceShape == "masculine">><<set $activeSlave.faceShape = "androgynous">><</if>>
+	<<set _slave.boobsImplant = 200*random(2,4), _slave.boobs += _slave.boobsImplant, _slave.boobsImplantType = "normal">>
+	<<set _slave.buttImplant = random(1,2), _slave.butt = Math.clamp(_slave.butt+_slave.buttImplant,0,10), _slave.buttImplantType = "normal">>
+	<<set _slave.lipsImplant = 10*random(1,2), _slave.lips = Math.clamp(_slave.lips+_slave.lipsImplant,0,100)>>
+	<<set _slave.waist = Math.clamp(_slave.waist+random(20,50),-100,100)>>
+	<<set _slave.balls = 0, _slave.scrotum = 0, _slave.dick = Math.clamp(_slave.dick-random(1,2),0,10)>>
+	<<set _slave.behavioralFlaw = "hates men", _slave.sexualFlaw = "hates anal">>
+	<<if _slave.faceShape == "masculine">><<set _slave.faceShape = "androgynous">><</if>>
 <<case "reassignment trainer">>
 	"I m-mi<<ss>> my dick." You sold $him to a trainer who specializes in gender reassignment, and $he's definitely more feminine, if bitterly unhappy. "P-plea<<s>>e, even if you won't f-fi<<x>> me, plea<<s>>e take me back. I'll b-be a <<s>>e<<x>> <<s>>lave, I ju<<s>>t don't want to be a woman."
-	<<set $activeSlave.boobsImplant = 200*random(2,4), $activeSlave.boobs += $activeSlave.boobsImplant, $activeSlave.boobsImplantType = "normal">>
-	<<set $activeSlave.buttImplant = random(1,2), $activeSlave.butt = Math.clamp($activeSlave.butt+$activeSlave.buttImplant,0,10), $activeSlave.buttImplantType = "normal">>
-	<<set $activeSlave.lipsImplant = 10*random(1,2), $activeSlave.lips = Math.clamp($activeSlave.lips+$activeSlave.lipsImplant,0,100)>>
-	<<set $activeSlave.waist = Math.clamp($activeSlave.waist+random(20,50),-100,100)>>
-	<<set $activeSlave.balls = 0, $activeSlave.scrotum = 0, $activeSlave.dick = 0, $activeSlave.vagina = 3>>
-	<<set $activeSlave.behavioralFlaw = "hates men", $activeSlave.sexualFlaw = "hates penetration">>
-	<<if $activeSlave.faceShape == "masculine">><<set $activeSlave.faceShape = "androgynous">><</if>>
+	<<set _slave.boobsImplant = 200*random(2,4), _slave.boobs += _slave.boobsImplant, _slave.boobsImplantType = "normal">>
+	<<set _slave.buttImplant = random(1,2), _slave.butt = Math.clamp(_slave.butt+_slave.buttImplant,0,10), _slave.buttImplantType = "normal">>
+	<<set _slave.lipsImplant = 10*random(1,2), _slave.lips = Math.clamp(_slave.lips+_slave.lipsImplant,0,100)>>
+	<<set _slave.waist = Math.clamp(_slave.waist+random(20,50),-100,100)>>
+	<<set _slave.balls = 0, _slave.scrotum = 0, _slave.dick = 0, _slave.vagina = 3>>
+	<<set _slave.behavioralFlaw = "hates men", _slave.sexualFlaw = "hates penetration">>
+	<<if _slave.faceShape == "masculine">><<set _slave.faceShape = "androgynous">><</if>>
 <<case "arcade">>
 	"Take me back, or kill me," $he <<say>>s. You sold $him to an arcade, and it's surprising $he managed to make it up here at all. "Plea<<s>>e," $he begs. "I will do literally anything. I c-can feel my<<s>>elf going c-cra<<z>>y. I'd rather die."
-	<<set $activeSlave.anus = 4>>
-	<<if $activeSlave.vagina != -1>><<set $activeSlave.vagina = 4>><</if>>
-	<<set $activeSlave.intelligence = Math.clamp($activeSlave.intelligence-50,-100,100)>>
-	<<set $activeSlave.behavioralFlaw = "odd", $activeSlave.sexualFlaw = "apathetic">>
+	<<set _slave.anus = 4>>
+	<<if _slave.vagina != -1>><<set _slave.vagina = 4>><</if>>
+	<<set _slave.intelligence = Math.clamp(_slave.intelligence-50,-100,100)>>
+	<<set _slave.behavioralFlaw = "odd", _slave.sexualFlaw = "apathetic">>
 <<case "harvester">>
 	"I'm ju<<s>>t kept in a pen unle<<ss>> they're d-doing <<s>>urgery on me." It's not surprising; you did sell $him to an organ farm. What's unexpected is that $he's still alive. They must be removing the less essential parts gradually. "I'm going to die," $he <<say>>s hollowly. "Ne<<x>>t <<s>>urgery, I won't wake up."
-	<<set $activeSlave.balls = 0, $activeSlave.prostate = 0, $activeSlave.ovaries = 0, $activeSlave.preg = -2, WombFlush($activeSlave)>>
-	<<run SetBellySize($activeSlave)>>
+	<<set _slave.balls = 0, _slave.prostate = 0, _slave.ovaries = 0, _slave.preg = -2, WombFlush(_slave)>>
+	<<run SetBellySize(_slave)>>
 	<<if $seeExtreme == 1>>
-		<<if $activeSlave.eye.left == 2 && $activeSlave.eye.right == 2 && hasBothNaturalEyes($activeSlave)>>
-			<<run eyeSurgery($activeSlave, "left", "remove")>>
+		<<if _slave.eye.left == 2 && _slave.eye.right == 2 && hasBothNaturalEyes(_slave)>>
+			<<run eyeSurgery(_slave, "left", "remove")>>
 		<</if>>
-		<<if hasBothNaturalArms($activeSlave)>>
-			<<run removeLimbs($activeSlave, "right arm")>>
+		<<if hasBothNaturalArms(_slave)>>
+			<<run removeLimbs(_slave, "right arm")>>
 		<</if>>
 	<</if>>
-	<<set $activeSlave.behavioralFlaw = "hates men", $activeSlave.sexualFlaw = "crude">>
+	<<set _slave.behavioralFlaw = "hates men", _slave.sexualFlaw = "crude">>
 <<case "D butt bury">>
 	"My kind butt loving Ma<<s>>ter had to <<s>>ell me, and the brothel who bought me u<<s>>e<<s>> my behind a<<s>> an adverti<<s>>ement." $He shifts uncomfortably. "I can barely feel my anu<<s>>."
-	<<set $activeSlave.anus = 4>>
-	<<set $activeSlave.behavioralFlaw = "hates men", $activeSlave.sexualFlaw = "hates anal">>
+	<<set _slave.anus = 4>>
+	<<set _slave.behavioralFlaw = "hates men", _slave.sexualFlaw = "hates anal">>
 <<case "D shorty breeder">>
 	"My kind Ma<<s>>ter had to <<s>>ell me, and the brothel who bought me got rid of hi<<s>>, um, they got rid of my pregnan<<c>>y, and now I'm ju<<s>>t a short <<s>>lut."
-	<<set $activeSlave.behavioralFlaw = "hates men", $activeSlave.sexualFlaw = "crude">>
+	<<set _slave.behavioralFlaw = "hates men", _slave.sexualFlaw = "crude">>
 <<case "fuckdoll">>
 	$His appearance is surprising; you sold $him to a dealer who planned to encase $him in a Fuckdoll suit and thereby transform $him into a living sex toy. Apparently they decided to extract a bit of fun out of $him first. "I've b-been chained up in their b-bathroom ever <<s>>in<<c>>e you <<s>>old me," $he <<say>>s hollowly. "They're g-getting bored of me."
-	<<set $activeSlave.behavioralFlaw = "hates men", $activeSlave.sexualFlaw = "hates penetration">>
+	<<set _slave.behavioralFlaw = "hates men", _slave.sexualFlaw = "hates penetration">>
 <<case "stuffer chef">>
-	"They fini<<sh>>ed." $His appearance is not that surprising; you sold $him to a chef who enjoyed stuffing $his face till $he was bloated. Apparently he sold $him off after $he got too fat for his stuffings to show. "He <<s>>tretched my belly out <<s>>o much and when I got <<s>>o fat he couldn't <<s>>ee a differen<<c>>e with hi<<s>> fea<<s>>t<<s>>, he got rid of me." $He <<if hasAnyArms($activeSlave)>>lowers $his arm<<if hasBothArms($activeSlave)>>s<</if>><<else>>straightens $his back<</if>>, allowing $his grotesquely sagging belly to hang free. "I'm gro<<ss>>. I'm fat, <<s>>aggy, and gro<<ss>>."
-	<<set $activeSlave.boobs = Math.clamp($activeSlave.boobs+50*random(5,10),0,10000)>>
-	<<set $activeSlave.butt = Math.clamp($activeSlave.butt+random(1,2),0,10)>>
-	<<set $activeSlave.waist = Math.clamp($activeSlave.waist-random(20,50),-100,100)>>
-	<<set $activeSlave.weight = Math.clamp($activeSlave.weight+random(50,100),-100,200)>>
-	<<set $activeSlave.bellySag = 80>>
-	<<set $activeSlave.behavioralFlaw = "anorexic">>
+	"They fini<<sh>>ed." $His appearance is not that surprising; you sold $him to a chef who enjoyed stuffing $his face till $he was bloated. Apparently he sold $him off after $he got too fat for his stuffings to show. "He <<s>>tretched my belly out <<s>>o much and when I got <<s>>o fat he couldn't <<s>>ee a differen<<c>>e with hi<<s>> fea<<s>>t<<s>>, he got rid of me." $He <<if hasAnyArms(_slave)>>lowers $his arm<<if hasBothArms(_slave)>>s<</if>><<else>>straightens $his back<</if>>, allowing $his grotesquely sagging belly to hang free. "I'm gro<<ss>>. I'm fat, <<s>>aggy, and gro<<ss>>."
+	<<set _slave.boobs = Math.clamp(_slave.boobs+50*random(5,10),0,10000)>>
+	<<set _slave.butt = Math.clamp(_slave.butt+random(1,2),0,10)>>
+	<<set _slave.waist = Math.clamp(_slave.waist-random(20,50),-100,100)>>
+	<<set _slave.weight = Math.clamp(_slave.weight+random(50,100),-100,200)>>
+	<<set _slave.bellySag = 80>>
+	<<set _slave.behavioralFlaw = "anorexic">>
 <<case "concert hall">>
 	You sold $him to a local concert venue to help relieve the stage crew's stress. "All of the roadie<<s>>, from out of town, from other arcologie<<s>>, treat like <<s>>ome <<s>>ort of punching bag, or, or like a <<s>>ide of meat. I ju<<s>>t can't go b-back there, anymore."
-	<<if $activeSlave.vagina > -1>>
-		<<set $activeSlave.vagina = 3>>
+	<<if _slave.vagina > -1>>
+		<<set _slave.vagina = 3>>
 	<</if>>
-	<<set $activeSlave.anus = 3>>
-	<<if $seePreg != 0>><<if $activeSlave.ovaries>><<set $activeSlave.preg = random(5,_pregWeeks-1), $activeSlave.pregType = random(1,2), $activeSlave.pregSource = either(-2,0), $activeSlave.pregWeek = $activeSlave.preg, $activeSlave.pregKnown = 1, SetBellySize($activeSlave)>><</if>><</if>>
+	<<set _slave.anus = 3>>
+	<<if $seePreg != 0>><<if _slave.ovaries>><<set _slave.preg = random(5,_pregWeeks-1), _slave.pregType = random(1,2), _slave.pregSource = either(-2,0), _slave.pregWeek = _slave.preg, _slave.pregKnown = 1, SetBellySize(_slave)>><</if>><</if>>
 <<case "etiquette coach">>
 	"The etiquette t-trainer I wa<<s>> <<s>>old to wa<<s>> an e<<x>>cellent teacher indeed," $he <<say>>s with a grimace, "H-however, I find that he had <<s>>ome rather old-f-fa<<sh>>ioned view<<s>> on educational method<<s>>, to be quite b-blunt." You look $him over; $he has numerous caning marks all over $his body, and appears to have been starved.
-	<<set $activeSlave.weight = random(-80, -70)>>
-	<<run setHealth($activeSlave, jsRandom(-60, -40), $activeSlave.health.shortDamage + normalRandInt(10, 3), $activeSlave.health.longDamage + normalRandInt(10, 3), undefined, 100)>>
-	<<set $activeSlave.behavioralFlaw = "odd">>
-	<<set $activeSlave.sexualFlaw = either("idealistic", "repressed", "self hating", "shamefast")>>
+	<<set _slave.weight = random(-80, -70)>>
+	<<run setHealth(_slave, jsRandom(-60, -40), _slave.health.shortDamage + normalRandInt(10, 3), _slave.health.longDamage + normalRandInt(10, 3), undefined, 100)>>
+	<<set _slave.behavioralFlaw = "odd">>
+	<<set _slave.sexualFlaw = either("idealistic", "repressed", "self hating", "shamefast")>>
 <<case "sex double">>
 	You sold $him to a film studio to act as a double for a famous actress where $he was used for a sex scene. "They didn't <<s>>top after the <<sh>>oot. They just kept fucking me and fucking me until they ju<<s>>t to<<ss>>ed me a<<s>>ide, <<s>>in<<c>>e that bitch
-	<<if $seePreg != 0 && $activeSlave.ovaries == 1 && ($activeSlave.preg == 0 || $activeSlave.preg == -1) && $activeSlave.bellyImplant < 0>>
+	<<if $seePreg != 0 && _slave.ovaries == 1 && (_slave.preg == 0 || _slave.preg == -1) && _slave.bellyImplant < 0>>
 		'i<<s>>n't a bloated whore like you'. Like I even had a choi<<c>>e in getting pregnant."
 	<<else>>
 		'i<<s>>n't a blown out whore like you'."
 	<</if>>
-	<<set $activeSlave.vagina = 3>>
-	<<set $activeSlave.anus = 3>>
-	<<if $seePreg != 0>><<if $activeSlave.ovaries>><<set $activeSlave.preg = random(5,_pregWeeks-1), $activeSlave.pregType = 1, $activeSlave.pregSource = 0, $activeSlave.pregWeek = $activeSlave.preg, $activeSlave.pregKnown = 1, SetBellySize($activeSlave)>><</if>><</if>>
+	<<set _slave.vagina = 3>>
+	<<set _slave.anus = 3>>
+	<<if $seePreg != 0>><<if _slave.ovaries>><<set _slave.preg = random(5,_pregWeeks-1), _slave.pregType = 1, _slave.pregSource = 0, _slave.pregWeek = _slave.preg, _slave.pregKnown = 1, SetBellySize(_slave)>><</if>><</if>>
 <<case "monster movie">>
 	You sold $him to a film studio to act as a double for a famous actress where $he was used installed with a massive fake pregnancy for the ending. "It'<<s>> too big... Can't breath right... Wa<<s>> going to be <<s>>old... <<S>>in<<c>>e I wa<<s>> a di<<s>>po<<s>>able prop... I'd rather be your prop." $He returns to wheezing against the solid mass bulging from $his middle.
-	<<run healthDamage($activeSlave, random(60, 70))>>
+	<<run healthDamage(_slave, random(60, 70))>>
 	<<if $seeHyperPreg != 1>>
-		<<set $activeSlave.bellyImplant = 120000, $activeSlave.belly = 120000>>
+		<<set _slave.bellyImplant = 120000, _slave.belly = 120000>>
 	<<else>>
-		<<set $activeSlave.bellyImplant = 300000, $activeSlave.belly = 300000>>
+		<<set _slave.bellyImplant = 300000, _slave.belly = 300000>>
 	<</if>>
 <<case "sniper spotter">>
 	You sold $him to a mercenary sniper to act as his spotter. "When the job wa<<s>> done, he ju<<s>>t left me behind, in the middle of a war zone. He <<s>>aid it wa<<s>> cheaper to hire a new <<s>>lave <<s>>potter than to get both of u<<s>> to <<s>>afety." $He looks emaciated; it's nothing short of a miracle $he was able to find $his way back to your arcology.
-	<<set $activeSlave.weight = random(-85, -80)>>
-	<<run setHealth($activeSlave, jsRandom(-50, -45), $activeSlave.health.shortDamage + normalRandInt(10, 3), $activeSlave.health.longDamage + normalRandInt(10, 3), undefined, 100)>>
+	<<set _slave.weight = random(-85, -80)>>
+	<<run setHealth(_slave, jsRandom(-50, -45), _slave.health.shortDamage + normalRandInt(10, 3), _slave.health.longDamage + normalRandInt(10, 3), undefined, 100)>>
 <<default>>
 	<<switch _buyer>>
 	<<case "housekeeper">>
@@ -349,125 +349,125 @@ brings up the relevant feeds. There's a naked body crumpled pathetically against
 	<<default>>
 		"Plea<<s>>e. I've been re<<s>>old
 	<</switch>>
-	to a <<sh>>-<<sh>>itty brothel on the lower level<<s>>. It'<<s>> h-horrible there. I live in a tiny little room, and the only people I ever <<if canSee($activeSlave)>><<s>>ee<<else>>meet<</if>> ju<<s>>t fuck me and leave. N-nobody ever t-talk<<s>> to me. And they beat me."
-	<<if hasAnyNaturalLegs($activeSlave)>>$He shifts uncomfortably on $his <<if !hasBothLegs($activeSlave)>>foot<<else>>feet<</if>>. The soles of the feet are a convenient place to beat a whore, since it's agonizingly painful, doesn't bruise badly, and won't inconvenience a slave that spends all $his time kneeling or lying down.<</if>>
-	<<set $activeSlave.anus = 3>>
-	<<if $activeSlave.vagina > -1>><<set $activeSlave.vagina = 3>><</if>>
-	<<set $activeSlave.sexualFlaw = either("hates anal", "hates oral", "hates penetration")>>
+	to a <<sh>>-<<sh>>itty brothel on the lower level<<s>>. It'<<s>> h-horrible there. I live in a tiny little room, and the only people I ever <<if canSee(_slave)>><<s>>ee<<else>>meet<</if>> ju<<s>>t fuck me and leave. N-nobody ever t-talk<<s>> to me. And they beat me."
+	<<if hasAnyNaturalLegs(_slave)>>$He shifts uncomfortably on $his <<if !hasBothLegs(_slave)>>foot<<else>>feet<</if>>. The soles of the feet are a convenient place to beat a whore, since it's agonizingly painful, doesn't bruise badly, and won't inconvenience a slave that spends all $his time kneeling or lying down.<</if>>
+	<<set _slave.anus = 3>>
+	<<if _slave.vagina > -1>><<set _slave.vagina = 3>><</if>>
+	<<set _slave.sexualFlaw = either("hates anal", "hates oral", "hates penetration")>>
 <</switch>>
 
 <br><br>
 It isn't obvious how $he managed to escape, though no doubt you could review the arcology surveillance logs and find out. For right now, though, the question is what to do with $him.
-<<if $activeSlave.trust > 95>>
+<<if _slave.trust > 95>>
 	"Plea<<s>>e," $he sobs, breaking down at last. "I th-thought I w-wa<<s>> a g-good $girl. T-take me b-back and I'll p-pretend I n-never left. I'll d-do anything you a<<s>>k. I'll worship the ground you walk on. Plea<<s>>e."
-	<<set $activeSlave.devotion = 100>>
-<<elseif $activeSlave.intelligence+$activeSlave.intelligenceImplant < -15>>
+	<<set _slave.devotion = 100>>
+<<elseif _slave.intelligence+_slave.intelligenceImplant < -15>>
 	"Plea<<s>>e," $he sobs, breaking down at last. "I d-don't know where el<<s>>e to go." That much you believe; $he's an idiot.
 <<else>>
 	"I know I'll be caught," $he sobs, breaking down at last. "I know you'd f-find me. <<S>>o I came here. Plea<<s>>e." $He's right about that much. This is literally the only chance $he has of getting away from $his current owners.
 <</if>>
 
 <<set _ContractCost = 5000>>
-<<set _slaveCost = slaveCost($activeSlave)>>
+<<set _slaveCost = slaveCost(_slave)>>
 <<set _slaveCost -= _ContractCost>>
 
 <br><br>
 
-<<includeDOM App.Desc.longSlave(V.activeSlave, {market: "generic"})>>
+<<includeDOM App.Desc.longSlave(_slave, {market: "generic"})>>
 
 <br><br>
 
 <span id="result">
 <<link "Return $him">>
-	<<run repX(Math.trunc(_slaveCost/2), "event", $activeSlave)>>
+	<<run repX(Math.trunc(_slaveCost/2), "event", _slave)>>
 	<<replace "#result">>
-		$activeSlave.slaveName keeps waiting, but the doors to the penthouse never open. When $his owners arrive a few minutes later to collect $him, $he cries harder, but does not resist. $His weeping has the peculiar ring of utter hopelessness as they restrain $him and drag $him off. A few minutes after that, you receive a businesslike note @@.green;expressing gratitude@@ for your assistance in this matter.
+		_slave.slaveName keeps waiting, but the doors to the penthouse never open. When $his owners arrive a few minutes later to collect $him, $he cries harder, but does not resist. $His weeping has the peculiar ring of utter hopelessness as they restrain $him and drag $him off. A few minutes after that, you receive a businesslike note @@.green;expressing gratitude@@ for your assistance in this matter.
 		<<set $boomerangStats = 0>>
 	<</replace>>
 <</link>>
 <<if $cash >= _ContractCost>>
 <br><<link "Obfuscate $his appearance and re-enslave $him">>
-	<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $activeSlave)>>
+	<<run cashX(forceNeg(_ContractCost), "slaveTransfer", _slave)>>
 	<<if $boomerangStats.PCpregSource > 0 && $PC.preg > 0 && $PC.pregSource == 0>>
-		<<set $PC.pregSource = $activeSlave.ID>>
+		<<set $PC.pregSource = _slave.ID>>
 	<</if>>
 	<<if $boomerangStats.PCmother > 0>>
-		<<set $PC.mother = $activeSlave.ID>>
+		<<set $PC.mother = _slave.ID>>
 	<</if>>
 	<<if $boomerangStats.PCfather > 0>>
-		<<set $PC.father = $activeSlave.ID>>
+		<<set $PC.father = _slave.ID>>
 	<</if>>
 	<<for _reb = 0; _reb < $slaves.length; _reb++>>
 		<<if $boomerangStats.boomerangMother.includes($slaves[_reb].ID)>>
-			<<set $slaves[_reb].mother = $activeSlave.ID>>
+			<<set $slaves[_reb].mother = _slave.ID>>
 		<</if>>
 		<<if $boomerangStats.boomerangFather.includes($slaves[_reb].ID)>>
-			<<set $slaves[_reb].father = $activeSlave.ID>>
+			<<set $slaves[_reb].father = _slave.ID>>
 		<</if>>
 		<<if $boomerangStats.boomerangPregSources.includes($slaves[_reb].ID) && $slaves[_reb].preg > 0 && $slaves[_reb].pregSource == 0>>
-			<<set $slaves[_reb].pregSource = $activeSlave.ID>>
+			<<set $slaves[_reb].pregSource = _slave.ID>>
 		<</if>>
 	<</for>>
 	<<if $incubator > 0>>
 		<<for _reb = 0; _reb < $tanks.length; _reb++>>
 			<<if $boomerangStats.boomerangMotherTank.includes($tanks[_reb].ID)>>
-				<<set $tanks[_reb].mother = $activeSlave.ID>>
+				<<set $tanks[_reb].mother = _slave.ID>>
 			<</if>>
 			<<if $boomerangStats.boomerangFatherTank.includes($tanks[_reb].ID)>>
-				<<set $tanks[_reb].father = $activeSlave.ID>>
+				<<set $tanks[_reb].father = _slave.ID>>
 			<</if>>
 		<</for>>
 	<</if>>
 	<<if $nursery > 0>>
 		<<for _reb = 0; _reb < $cribs.length; _reb++>>
 			<<if $boomerangStats.boomerangMotherTank.includes($cribs[_reb].ID)>>
-				<<set $cribs[_reb].mother = $activeSlave.ID>>
+				<<set $cribs[_reb].mother = _slave.ID>>
 			<</if>>
 			<<if $boomerangStats.boomerangFatherTank.includes($cribs[_reb].ID)>>
-				<<set $cribs[_reb].father = $activeSlave.ID>>
+				<<set $cribs[_reb].father = _slave.ID>>
 			<</if>>
 		<</for>>
 	<</if>>
 	<<if $boomerangStats.boomerangRelationship > 0>>
 		<<set _reb = $slaveIndices[$boomerangStats.boomerangRelationship]>>
 		<<if def _reb>>
-			<<set $slaves[_reb].relationship = $activeSlave.relationship, $slaves[_reb].relationshipTarget = $activeSlave.ID>>
+			<<set $slaves[_reb].relationship = _slave.relationship, $slaves[_reb].relationshipTarget = _slave.ID>>
 		<<else>>
-			<<set $activeSlave.relationship = 0, $activeSlave.relationshipTarget = 0>>
+			<<set _slave.relationship = 0, _slave.relationshipTarget = 0>>
 		<</if>>
 	<</if>>
 	<<if $boomerangStats.boomerangRivalry > 0>>
 		<<set _reb = $slaveIndices[$boomerangStats.boomerangRivalry]>>
 		<<if def _reb>>
-			<<set $slaves[_reb].rivalry = $activeSlave.rivalry, $slaves[_reb].rivalryTarget = $activeSlave.ID>>
+			<<set $slaves[_reb].rivalry = _slave.rivalry, $slaves[_reb].rivalryTarget = _slave.ID>>
 		<<else>>
-			<<set $activeSlave.rivalry = 0, $activeSlave.rivalryTarget = 0>>
+			<<set _slave.rivalry = 0, _slave.rivalryTarget = 0>>
 		<</if>>
 	<</if>>
 	<<if $boomerangStats.boomerangBody > 0>>
 		<<set _reb = $slaveIndices[$boomerangStats.boomerangBody]>>
 		<<if def _reb>>
-			<<set $slaves[_reb].origBodyOwnerID = $activeSlave.ID>>
+			<<set $slaves[_reb].origBodyOwnerID = _slave.ID>>
 		<</if>>
 	<</if>>
 	<<for _reb = 0; _reb < $slaves.length; _reb++>>
-		<<run WombChangeID($slaves[_reb], $activeSlave.missingParentTag, $activeSlave.ID)>>
-		<<run WombChangeGeneID($slaves[_reb], $activeSlave.missingParentTag, $activeSlave.ID)>>
+		<<run WombChangeID($slaves[_reb], _slave.missingParentTag, _slave.ID)>>
+		<<run WombChangeGeneID($slaves[_reb], _slave.missingParentTag, _slave.ID)>>
 	<</for>>
 	<<set $boomerangStats = 0>>
 	<<replace "#result">>
-		The penthouse opens, and $activeSlave.slaveName stumbles inside, sobbing $his thanks. $He's immediately conducted to the autosurgery for some quick cosmetic surgery, while you and $assistant.name do the necessary work to falsify the arcology records and conceal $his origins. Even so, it would probably be wise to keep $him off public assignments for a while. In no time at all, $he's standing in front of your desk like any other new slave. $He waits obediently, knowing that it's in $his best interests not to mention anything out of the ordinary.
-	<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+		The penthouse opens, and _slave.slaveName stumbles inside, sobbing $his thanks. $He's immediately conducted to the autosurgery for some quick cosmetic surgery, while you and $assistant.name do the necessary work to falsify the arcology records and conceal $his origins. Even so, it would probably be wise to keep $him off public assignments for a while. In no time at all, $he's standing in front of your desk like any other new slave. $He waits obediently, knowing that it's in $his best interests not to mention anything out of the ordinary.
+	<<includeDOM App.UI.newSlaveIntro(_slave)>>
 	<</replace>>
 <</link>> //This will cost <<print cashFormat(_ContractCost)>>.//
 <br><<link "Sell $him immediately">>
 	<<run cashX(_slaveCost, "slaveTransfer")>>
 	<<replace "#result">>
-		The penthouse opens, and $activeSlave.slaveName stumbles inside, sobbing $his thanks. $He's immediately conducted to the autosurgery for some quick cosmetic surgery, while you and $assistant.name do the necessary work to falsify the arcology records and conceal $his origins. Before $he's even out from under anesthesia, $he's bundled off into one of the hundreds of slave shipments that move between arcologies every day. This time $he'll be sold far enough away that no matter how much of an escape artist $he is, you won't be seeing any more of $him. $He can whine elsewhere.
+		The penthouse opens, and _slave.slaveName stumbles inside, sobbing $his thanks. $He's immediately conducted to the autosurgery for some quick cosmetic surgery, while you and $assistant.name do the necessary work to falsify the arcology records and conceal $his origins. Before $he's even out from under anesthesia, $he's bundled off into one of the hundreds of slave shipments that move between arcologies every day. This time $he'll be sold far enough away that no matter how much of an escape artist $he is, you won't be seeing any more of $him. $He can whine elsewhere.
 		<<set $boomerangStats = 0>>
 	<</replace>>
 <</link>> //This will bring in <<print cashFormat(_slaveCost)>>.//
 <<else>>
 	//You lack the necessary funds to enslave $him.//
 <</if>>
-</span>
+</span>
\ No newline at end of file
diff --git a/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw b/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw
index 545c7062d0c29fedfaec04e40fd2251496104592..8dddd60aaba42389c53965213984525a36777120 100644
--- a/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw
+++ b/src/uncategorized/reFSEgyptianRevivalistAcquisition.tw
@@ -6,23 +6,23 @@
 <<set $market = {introType: "egyptian", newSlavesDone: 0, newSlaveIndex: 0}, _newSlaves = []>>
 
 <<set _contractCost = 3000>>
-<<set $activeSlave = GenerateNewSlave(null, {minAge: Math.max(16, $minimumSlaveAge + 3), maxAge: 29, disableDisability: 1})>>
-<<run generateSalonModifications($activeSlave)>>
-<<set $activeSlave.origin = "$He offered $himself to you for enslavement hoping you would preserve $his incestuous relationship with $his sibling.">>
-<<set $activeSlave.devotion = random(5,15)>>
-<<set $activeSlave.trust = random(-15,-5)>>
-<<run setHealth($activeSlave, jsRandom(-20, 0), undefined, undefined, undefined, 35)>>
-<<run setMissingParents($activeSlave)>>
-<<set $activeSlave.canRecruit = 0>>
-<<if ($activeSlave.dick > 0) && ($activeSlave.balls == 0)>><<set $activeSlave.balls = random(1,5)>><</if>>
+<<set _slave = GenerateNewSlave(null, {minAge: Math.max(16, $minimumSlaveAge + 3), maxAge: 29, disableDisability: 1})>>
+<<run generateSalonModifications(_slave)>>
+<<set _slave.origin = "$He offered $himself to you for enslavement hoping you would preserve $his incestuous relationship with $his sibling.">>
+<<set _slave.devotion = random(5,15)>>
+<<set _slave.trust = random(-15,-5)>>
+<<run setHealth(_slave, jsRandom(-20, 0), undefined, undefined, undefined, 35)>>
+<<run setMissingParents(_slave)>>
+<<set _slave.canRecruit = 0>>
+<<if (_slave.dick > 0) && (_slave.balls == 0)>><<set _slave.balls = random(1,5)>><</if>>
 
 <<set _oppositeSex = $seeDicks > 0 && $seeDicks < 100 && (random(1, 4) <= 3)>>
-<<set _secondSlave = generateRelatedSlave($activeSlave, "younger sibling", _oppositeSex)>>
+<<set _secondSlave = generateRelatedSlave(_slave, "younger sibling", _oppositeSex)>>
 
 <<set _secondSlave.relationship = 4>>
-<<set _secondSlave.relationshipTarget = $activeSlave.ID>>
-<<set $activeSlave.relationship = 4>>
-<<set $activeSlave.relationshipTarget = _secondSlave.ID>>
+<<set _secondSlave.relationshipTarget = _slave.ID>>
+<<set _slave.relationship = 4>>
+<<set _slave.relationshipTarget = _secondSlave.ID>>
 
 <<if (_secondSlave.actualAge <= 22)>>
 	<<set _secondSlave.career = App.Data.Careers.General.young.random()>>
@@ -34,25 +34,25 @@
 
 /* they've been fucking, obviously, so no virginity */
 <<if (_secondSlave.dick > 0)>>
-	<<if $activeSlave.vagina == 0>>
-		<<set $activeSlave.vagina = _secondSlave.dick > 4 ? 2 : 1>>
+	<<if _slave.vagina == 0>>
+		<<set _slave.vagina = _secondSlave.dick > 4 ? 2 : 1>>
 	<</if>>
-	<<set $activeSlave.anus = Math.max($activeSlave.anus, _secondSlave.dick > 4 ? 2 : 1)>>
-	<<if $activeSlave.preg >= 1>>
-		<<set $activeSlave.pregSource = _secondSlave.ID>>
+	<<set _slave.anus = Math.max(_slave.anus, _secondSlave.dick > 4 ? 2 : 1)>>
+	<<if _slave.preg >= 1>>
+		<<set _slave.pregSource = _secondSlave.ID>>
 	<</if>>
 <</if>>
-<<if ($activeSlave.dick > 0)>>
+<<if (_slave.dick > 0)>>
 	<<if _secondSlave.vagina == 0>>
-		<<set _secondSlave.vagina = $activeSlave.dick > 4 ? 2 : 1>>
+		<<set _secondSlave.vagina = _slave.dick > 4 ? 2 : 1>>
 	<</if>>
-	<<set _secondSlave.anus = Math.max(_secondSlave.anus, $activeSlave.dick > 4 ? 2 : 1)>>
+	<<set _secondSlave.anus = Math.max(_secondSlave.anus, _slave.dick > 4 ? 2 : 1)>>
 	<<if _secondSlave.preg >= 1>>
-		<<set _secondSlave.pregSource = $activeSlave.ID>>
+		<<set _secondSlave.pregSource = _slave.ID>>
 	<</if>>
 <</if>>
 
-<<run _newSlaves.push($activeSlave), _newSlaves.push(_secondSlave)>>
+<<run _newSlaves.push(_slave), _newSlaves.push(_secondSlave)>>
 
 <<setAssistantPronouns>>
 
@@ -63,7 +63,7 @@ This call is coming from a public kiosk, which is usually an indication that the
 <<= capFirstChar($assistant.name)>> assembles a dossier of information and photos from information they've sent describing their bodies and skills, to be used as a substitute for an in-person inspection.
 <br><br>
 
-<<set _totalValue = slaveCost($activeSlave) + slaveCost(_secondSlave)>>
+<<set _totalValue = slaveCost(_slave) + slaveCost(_secondSlave)>>
 //Enslaving them will cost <<print cashFormat(_contractCost)>>. Selling them immediately will bring in approximately <<print cashFormat(_totalValue-_contractCost)>>.//
 <br><br>
 <<includeDOM App.UI.MultipleInspect(_newSlaves, true, false)>>
diff --git a/src/uncategorized/reMalefactor.tw b/src/uncategorized/reMalefactor.tw
index e0294b2f9f011ab29081b7fcf43a23a5375981c7..4396e0f6116d5bc8af87aac1944cfc39645c5887 100644
--- a/src/uncategorized/reMalefactor.tw
+++ b/src/uncategorized/reMalefactor.tw
@@ -3,399 +3,341 @@
 <<set $nextButton = "Continue", $nextLink = "RIE Eligibility Check", $returnTo = "RIE Eligibility Check", $encyclopedia = "Free Cities Justice">>
 
 <<switch $malefactor>>
-
 <<case "addict">>
-
-<<set $activeSlave = GenerateNewSlave()>>
-<<set $activeSlave.origin = "You sentenced $him to enslavement as a punishment for attempted burglary.">>
-<<set $activeSlave.career = "a criminal">>
-<<set $activeSlave.devotion = random(-75,-60)>>
-<<set $activeSlave.trust = random(-15,0)>>
-<<set $activeSlave.oldDevotion = $activeSlave.devotion>>
-<<run setHealth($activeSlave, jsRandom(-40, -20))>>
-<<set $activeSlave.addict = 30>>
-<<set $activeSlave.anus = 3>>
-<<if $activeSlave.dick == 0>>
-	<<set $activeSlave.balls = 0>>
-	<<set $activeSlave.vagina = 2>>
-	<<set $activeSlave.skill.vaginal = 15>>
-<<else>>
-	<<set $activeSlave.ovaries = 0>>
-	<<set $activeSlave.clit = 0>>
-	<<set $activeSlave.skill.vaginal = 0>>
-<</if>>
-<<set $activeSlave.skill.oral = 15>>
-<<set $activeSlave.skill.anal = 35>>
-<<set $activeSlave.skill.whoring = 15>>
-<<set $activeSlave.earPiercing = 1>>
-<<set $activeSlave.nosePiercing = 1>>
-<<set $activeSlave.nipplesPiercing = 1>>
-<<set $activeSlave.clitPiercing = 1>>
-<<set $activeSlave.behavioralFlaw = "odd">>
-
+	<<set _slave = GenerateNewSlave()>>
+	<<set _slave.origin = "You sentenced $him to enslavement as a punishment for attempted burglary.">>
+	<<set _slave.career = "a criminal">>
+	<<set _slave.devotion = random(-75,-60)>>
+	<<set _slave.trust = random(-15,0)>>
+	<<set _slave.oldDevotion = _slave.devotion>>
+	<<run setHealth(_slave, jsRandom(-40, -20))>>
+	<<set _slave.addict = 30>>
+	<<set _slave.anus = 3>>
+	<<if _slave.dick === 0>>
+		<<set _slave.balls = 0>>
+		<<set _slave.vagina = 2>>
+		<<set _slave.skill.vaginal = 15>>
+	<<else>>
+		<<set _slave.ovaries = 0>>
+		<<set _slave.clit = 0>>
+		<<set _slave.skill.vaginal = 0>>
+	<</if>>
+	<<set _slave.skill.oral = 15>>
+	<<set _slave.skill.anal = 35>>
+	<<set _slave.skill.whoring = 15>>
+	<<set _slave.earPiercing = 1>>
+	<<set _slave.nosePiercing = 1>>
+	<<set _slave.nipplesPiercing = 1>>
+	<<set _slave.clitPiercing = 1>>
+	<<set _slave.behavioralFlaw = "odd">>
 <<case "escapee">>
-
-<<set $oneTimeDisableDisability = 1>>
-<<set $activeSlave = GenerateNewSlave()>>
-<<set $activeSlave.origin = "You sentenced $him to enslavement as a punishment for suspected escapism.">>
-<<set $activeSlave.devotion = random(-75,-60)>>
-<<set $activeSlave.trust = random(-15,0)>>
-<<set $activeSlave.oldDevotion = $activeSlave.devotion>>
-<<run setHealth($activeSlave, jsRandom(-80, -70), undefined, undefined, undefined, 70)>>
-<<set $activeSlave.heels = 1>>
-<<set $activeSlave.boobs += 100*random(12,32)>>
-<<set $activeSlave.butt += random(2,4)>>
-<<set $activeSlave.anus = 1>>
-<<if $activeSlave.dick == 0>>
-	<<set $activeSlave.balls = 0>>
-	<<set $activeSlave.vagina = 2>>
-	<<set $activeSlave.skill.vaginal = 15>>
-<<else>>
-	<<set $activeSlave.dick = random(4,5)>>
-	<<set $activeSlave.balls = random(0,2)>>
-	<<set $activeSlave.ovaries = 0>>
-	<<set $activeSlave.clit = 0>>
-	<<set $activeSlave.skill.vaginal = 0>>
-<</if>>
-<<set $activeSlave.skill.oral = 0>>
-<<set $activeSlave.skill.anal = 0>>
-<<set $activeSlave.skill.whoring = 0>>
-<<set $activeSlave.sexualFlaw = "hates penetration">>
-<<set $activeSlave.behavioralFlaw = "odd">>
-
+	<<set _slave = GenerateNewSlave(null, {disableDisability: 1})>>
+	<<set _slave.origin = "You sentenced $him to enslavement as a punishment for suspected escapism.">>
+	<<set _slave.devotion = random(-75,-60)>>
+	<<set _slave.trust = random(-15,0)>>
+	<<set _slave.oldDevotion = _slave.devotion>>
+	<<run setHealth(_slave, jsRandom(-80, -70), undefined, undefined, undefined, 70)>>
+	<<set _slave.heels = 1>>
+	<<set _slave.boobs += 100*random(12,32)>>
+	<<set _slave.butt += random(2,4)>>
+	<<set _slave.anus = 1>>
+	<<if _slave.dick === 0>>
+		<<set _slave.balls = 0>>
+		<<set _slave.vagina = 2>>
+		<<set _slave.skill.vaginal = 15>>
+	<<else>>
+		<<set _slave.dick = random(4,5)>>
+		<<set _slave.balls = random(0,2)>>
+		<<set _slave.ovaries = 0>>
+		<<set _slave.clit = 0>>
+		<<set _slave.skill.vaginal = 0>>
+	<</if>>
+	<<set _slave.skill.oral = 0>>
+	<<set _slave.skill.anal = 0>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.sexualFlaw = "hates penetration">>
+	<<set _slave.behavioralFlaw = "odd">>
 <<case "anchorBaby">>
-
-<<set $activeSlaveOneTimeMinAge = $fertilityAge>>
-<<set $activeSlaveOneTimeMaxAge = 42>>
-<<set $oneTimeDisableDisability = 1>>
-<<set $activeSlave = GenerateNewSlave("XX")>>
-<<set $activeSlave.origin = "You sentenced $him to enslavement as a punishment for smuggling slaves within $his body.">>
-<<set $activeSlave.career = App.Data.Careers.General.uneducated.random()>>
-<<set $activeSlave.devotion = random(-75,-50)>>
-<<set $activeSlave.trust = random(-75,-60)>>
-<<set $activeSlave.oldDevotion = $activeSlave.devotion>>
-<<run setHealth($activeSlave, jsRandom(20, 40), undefined, undefined, undefined, 60)>>
-<<set $activeSlave.weight = random(40,80)>>
-<<set $activeSlave.accent = 3>>
-<<set $activeSlave.boobs += 200>>
-<<set $activeSlave.lactation = 1>>
-<<set $activeSlave.lactationDuration = 2>>
-<<set $activeSlave.ovaries = 1>>
-<<if $activeSlave.vagina < 2>>
-	<<set $activeSlave.vagina += 3>>
-<</if>>
-<<set $activeSlave.bellySag = 3, $activeSlave.bellySagPreg = 3>>
-<<set $activeSlave.preg = 0>>
-<<set $activeSlave.pregWeek = -4>>
-<<set $activeSlave.counter.birthsTotal = 2>>
-<<set $activeSlave.counter.births = 2>>
-<<set $activeSlave.skill.vaginal = 30>>
-<<set $activeSlave.skill.oral = 15>>
-<<set $activeSlave.skill.anal = 15>>
-<<set $activeSlave.sexualFlaw = "crude">>
-<<set $activeSlave.behavioralFlaw = "bitchy">>
-
+	<<set _slave = GenerateNewSlave("XX", {disableDisability: 1, minAge: $fertilityAge, maxAge: 42})>>
+	<<set _slave.origin = "You sentenced $him to enslavement as a punishment for smuggling slaves within $his body.">>
+	<<set _slave.career = App.Data.Careers.General.uneducated.random()>>
+	<<set _slave.devotion = random(-75,-50)>>
+	<<set _slave.trust = random(-75,-60)>>
+	<<set _slave.oldDevotion = _slave.devotion>>
+	<<run setHealth(_slave, jsRandom(20, 40), undefined, undefined, undefined, 60)>>
+	<<set _slave.weight = random(40,80)>>
+	<<set _slave.accent = 3>>
+	<<set _slave.boobs += 200>>
+	<<set _slave.lactation = 1>>
+	<<set _slave.lactationDuration = 2>>
+	<<set _slave.ovaries = 1>>
+	<<if _slave.vagina < 2>>
+		<<set _slave.vagina += 3>>
+	<</if>>
+	<<set _slave.bellySag = 3, _slave.bellySagPreg = 3>>
+	<<set _slave.preg = 0>>
+	<<set _slave.pregWeek = -4>>
+	<<set _slave.counter.birthsTotal = 2>>
+	<<set _slave.counter.births = 2>>
+	<<set _slave.skill.vaginal = 30>>
+	<<set _slave.skill.oral = 15>>
+	<<set _slave.skill.anal = 15>>
+	<<set _slave.sexualFlaw = "crude">>
+	<<set _slave.behavioralFlaw = "bitchy">>
 <<case "orphanloli">>
-
-<<set $activeSlaveOneTimeMinAge = $minimumSlaveAge>>
-<<set $activeSlaveOneTimeMaxAge = 12>>
-<<set $oneTimeDisableDisability = 1>>
-<<set $activeSlave = GenerateNewSlave()>>
-<<set $activeSlave.origin = "You sentenced $him to enslavement as a punishment for suspected escapism.">>
-<<set $activeSlave.career = "an orphan">>
-<<set $activeSlave.devotion = random(-15,0)>>
-<<set $activeSlave.trust = random(-75,-60)>>
-<<set $activeSlave.oldDevotion = $activeSlave.devotion>>
-<<run setHealth($activeSlave, jsRandom(-80, -70), undefined, undefined, undefined, 70)>>
-<<set $activeSlave.weight = -100>>
-<<set $activeSlave.accent = 3>>
-<<set $activeSlave.boobs = 0>>
-<<set $activeSlave.butt = 0>>
-<<set $activeSlave.anus = 0>>
-<<if $activeSlave.dick == 0>>
-	<<set $activeSlave.balls = 0>>
-	<<set $activeSlave.vagina = 0>>
-	<<set $activeSlave.skill.vaginal = 0>>
-<<else>>
-	<<set $activeSlave.dick = random(1,2)>>
-	<<set $activeSlave.balls = random(1,2)>>
-	<<set $activeSlave.ovaries = 0>>
-	<<set $activeSlave.clit = 0>>
-	<<set $activeSlave.skill.vaginal = 0>>
-<</if>>
-<<set $activeSlave.skill.oral = 0>>
-<<set $activeSlave.skill.anal = 0>>
-<<set $activeSlave.skill.whoring = 0>>
-<<set $activeSlave.sexualFlaw = "apathetic">>
-<<set $activeSlave.behavioralFlaw = "gluttonous">>
-
+	<<set _slave = GenerateNewSlave(null, {minAge: $minimumSlaveAge, maxAge: 12, disableDisability: 1})>>
+	<<set _slave.origin = "You sentenced $him to enslavement as a punishment for suspected escapism.">>
+	<<set _slave.career = "an orphan">>
+	<<set _slave.devotion = random(-15,0)>>
+	<<set _slave.trust = random(-75,-60)>>
+	<<set _slave.oldDevotion = _slave.devotion>>
+	<<run setHealth(_slave, jsRandom(-80, -70), undefined, undefined, undefined, 70)>>
+	<<set _slave.weight = -100>>
+	<<set _slave.accent = 3>>
+	<<set _slave.boobs = 0>>
+	<<set _slave.butt = 0>>
+	<<set _slave.anus = 0>>
+	<<if _slave.dick === 0>>
+		<<set _slave.balls = 0>>
+		<<set _slave.vagina = 0>>
+	<<else>>
+		<<set _slave.dick = random(1,2)>>
+		<<set _slave.balls = random(1,2)>>
+		<<set _slave.ovaries = 0>>
+		<<set _slave.clit = 0>>
+	<</if>>
+	<<set _slave.skill.vaginal = 0>>
+	<<set _slave.skill.oral = 0>>
+	<<set _slave.skill.anal = 0>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.sexualFlaw = "apathetic">>
+	<<set _slave.behavioralFlaw = "gluttonous">>
 <<case "businesswoman">>
-
-<<set $activeSlaveOneTimeMinAge = 35>>
-<<set $activeSlaveOneTimeMaxAge = 43>>
-<<set $oneTimeDisableDisability = 1>>
-<<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
-<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-	<<set $fixedRace = _races.random()>>
-<</if>>
-<<set $activeSlave = GenerateNewSlave("XX")>>
-<<set $activeSlave.origin = "You sentenced $him to enslavement as a punishment for fraud and theft.">>
-<<set $activeSlave.career = "a criminal businesswoman">>
-<<set $activeSlave.devotion = random(-75,-60)>>
-<<set $activeSlave.trust = random(-15,0)>>
-<<set $activeSlave.oldDevotion = $activeSlave.devotion>>
-<<set $activeSlave.vagina = 2>>
-<<set $activeSlave.preg = -1>>
-<<set $activeSlave.skill.vaginal = 15>>
-<<set $activeSlave.anus = 0>>
-<<set $activeSlave.boobs += 400>>
-<<set $activeSlave.boobsImplant = 400>>
-<<set $activeSlave.boobsImplantType = "normal">>
-<<set $activeSlave.butt += 2>>
-<<set $activeSlave.buttImplant = 2>>
-<<set $activeSlave.buttImplantType = "normal">>
-<<run setHealth($activeSlave, jsRandom(20, 40), undefined, undefined, undefined, 10)>>
-<<set $activeSlave.sexualFlaw = "hates oral">>
-<<set $activeSlave.behavioralFlaw = "arrogant">>
-<<set $activeSlave.hStyle = "fashionable for a Free Cities businesswoman, up in a tight bun">>
-<<set $activeSlave.custom.tattoo = "$He has a pretty floral tattoo along $his collarbone.">>
-
+	<<set _pram = {disableDisability: 1, minAge: 35, maxAge: 45}>>
+	<<if $arcologies[0].FSSupremacistLawME === 1>>
+		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
+	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
+		<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
+		<<set _pram.race = _races.random()>>
+	<</if>>
+	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave.origin = "You sentenced $him to enslavement as a punishment for fraud and theft.">>
+	<<set _slave.career = "a criminal businesswoman">>
+	<<set _slave.devotion = random(-75,-60)>>
+	<<set _slave.trust = random(-15,0)>>
+	<<set _slave.oldDevotion = _slave.devotion>>
+	<<set _slave.vagina = 2>>
+	<<set _slave.preg = -1>>
+	<<set _slave.skill.vaginal = 15>>
+	<<set _slave.anus = 0>>
+	<<set _slave.boobs += 400>>
+	<<set _slave.boobsImplant = 400>>
+	<<set _slave.boobsImplantType = "normal">>
+	<<set _slave.butt += 2>>
+	<<set _slave.buttImplant = 2>>
+	<<set _slave.buttImplantType = "normal">>
+	<<run setHealth(_slave, jsRandom(20, 40), undefined, undefined, undefined, 10)>>
+	<<set _slave.sexualFlaw = "hates oral">>
+	<<set _slave.behavioralFlaw = "arrogant">>
+	<<set _slave.hStyle = "fashionable for a Free Cities businesswoman, up in a tight bun">>
+	<<set _slave.custom.tattoo = "$He has a pretty floral tattoo along $his collarbone.">>
 <<case "whore">>
-
-<<set $oneTimeDisableDisability = 1>>
-<<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
-<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-	<<set $fixedRace = _races.random()>>
-<</if>>
-<<set $activeSlave = GenerateNewSlave()>>
-<<set $activeSlave.origin = "You sentenced $him to enslavement as a punishment for theft and battery.">>
-<<set $activeSlave.career = "a prostitute">>
-<<set $activeSlave.devotion = random(-75,-60)>>
-<<set $activeSlave.trust = random(-15,0)>>
-<<set $activeSlave.oldDevotion = $activeSlave.devotion>>
-<<run setHealth($activeSlave, jsRandom(-40, -20))>>
-<<set $activeSlave.anus = 2>>
-<<if $activeSlave.dick == 0>>
-	<<set $activeSlave.balls = 0>>
-	<<set $activeSlave.vagina = 2>>
-	<<set $activeSlave.skill.vaginal = 35>>
-<</if>>
-<<set $activeSlave.skill.oral = 35>>
-<<set $activeSlave.skill.anal = 35>>
-<<set $activeSlave.skill.whoring = 35>>
-<<set $activeSlave.boobs += 400>>
-<<set $activeSlave.boobsImplant = 400>>
-<<set $activeSlave.boobsImplantType = "normal">>
-<<set $activeSlave.butt += 1>>
-<<set $activeSlave.buttImplant = 1>>
-<<set $activeSlave.buttImplantType = "normal">>
-<<set $activeSlave.lips += 10>>
-<<set $activeSlave.lipsImplant = 10>>
-<<set $activeSlave.lipsPiercing = 1>>
-<<set $activeSlave.tonguePiercing = 1>>
-<<set $activeSlave.earPiercing = 1>>
-<<set $activeSlave.nosePiercing = 1>>
-<<set $activeSlave.eyebrowPiercing = 1>>
-<<set $activeSlave.nipplesPiercing = 1>>
-<<set $activeSlave.clitPiercing = 1>>
-<<set $activeSlave.sexualFlaw = "hates penetration">>
-<<set $activeSlave.hStyle = "strip">>
-<<set $activeSlave.custom.tattoo = "$He has a teardrop tattooed under each eye.">>
-
+	<<set _pram = {disableDisability: 1}>>
+	<<if $arcologies[0].FSSupremacistLawME === 1>>
+		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
+	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
+		<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
+		<<set _pram.race = _races.random()>>
+	<</if>>
+	<<set _slave = GenerateNewSlave(null, _pram)>>
+	<<set _slave.origin = "You sentenced $him to enslavement as a punishment for theft and battery.">>
+	<<set _slave.career = "a prostitute">>
+	<<set _slave.devotion = random(-75,-60)>>
+	<<set _slave.trust = random(-15,0)>>
+	<<set _slave.oldDevotion = _slave.devotion>>
+	<<run setHealth(_slave, jsRandom(-40, -20))>>
+	<<set _slave.anus = 2>>
+	<<if _slave.dick === 0>>
+		<<set _slave.balls = 0>>
+		<<set _slave.vagina = 2>>
+		<<set _slave.skill.vaginal = 35>>
+	<</if>>
+	<<set _slave.skill.oral = 35>>
+	<<set _slave.skill.anal = 35>>
+	<<set _slave.skill.whoring = 35>>
+	<<set _slave.boobs += 400>>
+	<<set _slave.boobsImplant = 400>>
+	<<set _slave.boobsImplantType = "normal">>
+	<<set _slave.butt++>>
+	<<set _slave.buttImplant = 1>>
+	<<set _slave.buttImplantType = "normal">>
+	<<set _slave.lips += 10>>
+	<<set _slave.lipsImplant = 10>>
+	<<set _slave.lipsPiercing = 1>>
+	<<set _slave.tonguePiercing = 1>>
+	<<set _slave.earPiercing = 1>>
+	<<set _slave.nosePiercing = 1>>
+	<<set _slave.eyebrowPiercing = 1>>
+	<<set _slave.nipplesPiercing = 1>>
+	<<set _slave.clitPiercing = 1>>
+	<<set _slave.sexualFlaw = "hates penetration">>
+	<<set _slave.hStyle = "strip">>
+	<<set _slave.custom.tattoo = "$He has a teardrop tattooed under each eye.">>
 <<case "rapist">>
-
-<<set $activeSlaveOneTimeMinAge = 16>>
-<<set $oneTimeDisableDisability = 1>>
-<<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
-<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-	<<set $fixedRace = _races.random()>>
-<</if>>
-<<set $activeSlave = GenerateNewSlave("XY")>>
-<<set $activeSlave.origin = "You sentenced $him to enslavement as a punishment for the rape of a free woman.">>
-<<set $activeSlave.devotion = random(-75,-60)>>
-<<set $activeSlave.trust = random(-15,0)>>
-<<set $activeSlave.oldDevotion = $activeSlave.devotion>>
-<<run setHealth($activeSlave, jsRandom(0, 20), undefined, undefined, 0, 5)>>
-<<set $activeSlave.anus = 0>>
-<<set $activeSlave.balls = random(2,4)>>
-<<set $activeSlave.skill.oral = 0>>
-<<set $activeSlave.skill.anal = 0>>
-<<set $activeSlave.behavioralFlaw = "arrogant">>
-<<set $activeSlave.sexualFlaw = "hates men">>
-
+	<<set _pram = {disableDisability: 1, minAge: 16}>>
+	<<if $arcologies[0].FSSupremacistLawME === 1>>
+		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
+	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
+		<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
+		<<set _pram.race = _races.random()>>
+	<</if>>
+	<<set _slave = GenerateNewSlave("XY", _pram)>>
+	<<set _slave.origin = "You sentenced $him to enslavement as a punishment for the rape of a free woman.">>
+	<<set _slave.devotion = random(-75,-60)>>
+	<<set _slave.trust = random(-15,0)>>
+	<<set _slave.oldDevotion = _slave.devotion>>
+	<<run setHealth(_slave, jsRandom(0, 20), undefined, undefined, 0, 5)>>
+	<<set _slave.anus = 0>>
+	<<set _slave.balls = random(2,4)>>
+	<<set _slave.skill.oral = 0>>
+	<<set _slave.skill.anal = 0>>
+	<<set _slave.behavioralFlaw = "arrogant">>
+	<<set _slave.sexualFlaw = "hates men">>
 <<case "mule">>
-
-<<set $activeSlaveOneTimeMinAge = 13>>
-<<if $pedo_mode == 1>>
-<<else>>
-	<<set $activeSlaveOneTimeMaxAge = 26>>
-<</if>>
-<<set $oneTimeDisableDisability = 1>>
-<<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set $fixedRace = $arcologies[0].FSSupremacistRace>>
-<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-	<<set $fixedRace = _races.random()>>
-<</if>>
-<<set $activeSlave = GenerateNewSlave("XX")>>
-<<set $activeSlave.origin = "You sentenced $him to enslavement for smuggling drugs into the arcology.">>
-<<set $activeSlave.career = "a drug mule">>
-<<set $activeSlave.devotion = random(-50,-20)>>
-<<set $activeSlave.trust = random(-100,-75)>>
-<<set $activeSlave.vagina = 2>>
-<<set $activeSlave.preg = -2>>
-<<set $activeSlave.bellyImplant = 0>>
-<<set $activeSlave.cervixImplant = 1>>
-<<set $activeSlave.pubicHStyle = "shaved">>
-<<set $activeSlave.bellySag = 2>>
-<<set $activeSlave.skill.vaginal = 50>>
-<<set $activeSlave.anus = 0>>
-<<set $activeSlave.hips = 0>>
-<<set $activeSlave.weight = -60>>
-<<set $activeSlave.waist = random(-30,-10)>>
-<<set $activeSlave.boobs = random(4,5)*100>>
-<<set $activeSlave.boobShape = "perky">>
-<<run setHealth($activeSlave, jsRandom(-20, 10), undefined, undefined, undefined, 40)>>
-<<set $activeSlave.sexualFlaw = "hates penetration">>
-<<set $activeSlave.behavioralFlaw = "shamefast">>
-<<set $activeSlave.accent = 0>>
-
+	<<set _pram = {disableDisability: 1, minAge: 13}>>
+	<<if $pedo_mode === 0>>
+		<<set _pram.maxAge = 26>>
+	<</if>>
+	<<if $arcologies[0].FSSupremacistLawME === 1>>
+		<<set _pram.race = $arcologies[0].FSSupremacistRace>>
+	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
+		<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
+		<<set _pram.race = _races.random()>>
+	<</if>>
+	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave.origin = "You sentenced $him to enslavement for smuggling drugs into the arcology.">>
+	<<set _slave.career = "a drug mule">>
+	<<set _slave.devotion = random(-50,-20)>>
+	<<set _slave.trust = random(-100,-75)>>
+	<<set _slave.vagina = 2>>
+	<<set _slave.preg = -2>>
+	<<set _slave.bellyImplant = 0>>
+	<<set _slave.cervixImplant = 1>>
+	<<set _slave.pubicHStyle = "shaved">>
+	<<set _slave.bellySag = 2>>
+	<<set _slave.skill.vaginal = 50>>
+	<<set _slave.anus = 0>>
+	<<set _slave.hips = 0>>
+	<<set _slave.weight = -60>>
+	<<set _slave.waist = random(-30,-10)>>
+	<<set _slave.boobs = random(4,5)*100>>
+	<<set _slave.boobShape = "perky">>
+	<<run setHealth(_slave, jsRandom(-20, 10), undefined, undefined, undefined, 40)>>
+	<<set _slave.sexualFlaw = "hates penetration">>
+	<<set _slave.behavioralFlaw = "shamefast">>
+	<<set _slave.accent = 0>>
 <<case "liberator">>
-
-<<set $activeSlaveOneTimeMinAge = random(12,28)>>
-<<set $activeSlaveOneTimeMaxAge = 43>>
-<<set $oneTimeDisableDisability = 1>>
-<<set $activeSlave = GenerateNewSlave("XX")>>
-<<set $activeSlave.origin = "You sentenced $him to enslavement as a punishment for attempted theft of a slave.">>
-<<set $activeSlave.career = "an antislavery activist">>
-<<set $activeSlave.devotion = random(-75,-60)>>
-<<set $activeSlave.trust = random(-15,0)>>
-<<set $activeSlave.oldDevotion = $activeSlave.devotion>>
-<<set $activeSlave.muscles = 50>>
-<<set $activeSlave.weight = random(-20,30)>>
-<<set $activeSlave.waist = random(-10,10)>>
-<<set $activeSlave.skill.vaginal = 0>>
-<<set $activeSlave.skill.oral = 0>>
-<<set $activeSlave.skill.anal = 0>>
-<<set $activeSlave.skill.whoring = 0>>
-<<set $activeSlave.skill.combat = 1>>
-<<set $activeSlave.anus = 0>>
-<<run setHealth($activeSlave, jsRandom(60, 80), undefined, undefined, 0, 10)>>
-<<set $activeSlave.behavioralFlaw = "arrogant">>
-<<set $activeSlave.sexualFlaw = "hates men">>
-<<set $activeSlave.hStyle = "shaved into a mohawk">>
-<<set $activeSlave.custom.tattoo = "$He seems to have had slave tattoos at one time, but has had them cheaply removed.">>
-
+	<<set _slave = GenerateNewSlave("XX", {disableDisability: 1, minAge: random(12, 28) , maxAge: 43})>>
+	<<set _slave.origin = "You sentenced $him to enslavement as a punishment for attempted theft of a slave.">>
+	<<set _slave.career = "an antislavery activist">>
+	<<set _slave.devotion = random(-75,-60)>>
+	<<set _slave.trust = random(-15,0)>>
+	<<set _slave.oldDevotion = _slave.devotion>>
+	<<set _slave.muscles = 50>>
+	<<set _slave.weight = random(-20,30)>>
+	<<set _slave.waist = random(-10,10)>>
+	<<set _slave.skill.vaginal = 0>>
+	<<set _slave.skill.oral = 0>>
+	<<set _slave.skill.anal = 0>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.combat = 1>>
+	<<set _slave.anus = 0>>
+	<<run setHealth(_slave, jsRandom(60, 80), undefined, undefined, 0, 10)>>
+	<<set _slave.behavioralFlaw = "arrogant">>
+	<<set _slave.sexualFlaw = "hates men">>
+	<<set _slave.hStyle = "shaved into a mohawk">>
+	<<set _slave.custom.tattoo = "$He seems to have had slave tattoos at one time, but has had them cheaply removed.">>
 <<case "passfail">>
-
-<<set $oneTimeDisableDisability = 1>>
-<<if $arcologies[0].FSSubjugationistLawME == 1>>
-	<<set _realRace = $arcologies[0].FSSubjugationistRace>>
-<<elseif $arcologies[0].FSSupremacistLawME == 1>>
-	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSupremacistRace)>>
-	<<set _realRace = _races.random()>>
-<</if>>
-<<set $fixedRace = _realRace>>
-<<set $activeSlave = GenerateNewSlave()>>
-<<set $activeSlave.origin = "You sentenced $him to enslavement as a punishment for defying local racial segregation laws.">>
-<<set $activeSlave.career = App.Data.Careers.General.educated.random()>>
-<<set $activeSlave.devotion = random(-75,-50)>>
-<<set $activeSlave.trust = random(-75,-50)>>
-<<set $activeSlave.oldDevotion = $activeSlave.devotion>>
-<<run setHealth($activeSlave, jsRandom(-40, -20), undefined, undefined, 0, 10)>>
-<<set $activeSlave.intelligence = random(51,95)>>
-<<set $activeSlave.intelligenceImplant = 15>>
-<<if $arcologies[0].FSSupremacistLawME == 1>>
-	<<set _fakeRace = $arcologies[0].FSSupremacistRace>>
-<<elseif $arcologies[0].FSSubjugationistLawME == 1>>
-	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
-	<<set _fakeRace = _races.random()>>
-<</if>>
-<<set $activeSlave.race = _fakeRace>>
-<<set $activeSlave.skin = randomRaceSkin(_fakeRace)>>
-<<run setEyeColor($activeSlave, randomRaceEye(_fakeRace))>>
-<<set $activeSlave.hColor = randomRaceHair(_fakeRace)>>
-<<set $activeSlave.override_Race = 1, $activeSlave.override_Skin = 1, $activeSlave.override_H_Color = 1, $activeSlave.override_Eye_Color = 1>>
-
+	<<set _pram = {disableDisability: 1}>>
+	<<if $arcologies[0].FSSubjugationistLawME === 1>>
+		<<set _pram.race = $arcologies[0].FSSubjugationistRace>>
+	<<elseif $arcologies[0].FSSupremacistLawME === 1>>
+		<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSupremacistRace)>>
+		<<set _pram.race = _races.random()>>
+	<</if>>
+	<<set _slave = GenerateNewSlave(null, _pram)>>
+	<<set _slave.origin = "You sentenced $him to enslavement as a punishment for defying local racial segregation laws.">>
+	<<set _slave.career = App.Data.Careers.General.educated.random()>>
+	<<set _slave.devotion = random(-75,-50)>>
+	<<set _slave.trust = random(-75,-50)>>
+	<<set _slave.oldDevotion = _slave.devotion>>
+	<<run setHealth(_slave, jsRandom(-40, -20), undefined, undefined, 0, 10)>>
+	<<set _slave.intelligence = random(51,95)>>
+	<<set _slave.intelligenceImplant = 15>>
+	<<if $arcologies[0].FSSupremacistLawME === 1>>
+		<<set _fakeRace = $arcologies[0].FSSupremacistRace>>
+	<<elseif $arcologies[0].FSSubjugationistLawME === 1>>
+		<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
+		<<set _fakeRace = _races.random()>>
+	<</if>>
+	<<set _slave.race = _fakeRace>>
+	<<set _slave.skin = randomRaceSkin(_fakeRace)>>
+	<<run setEyeColor(_slave, randomRaceEye(_fakeRace))>>
+	<<set _slave.hColor = randomRaceHair(_fakeRace)>>
+	<<set _slave.override_Race = 1, _slave.override_Skin = 1, _slave.override_H_Color = 1, _slave.override_Eye_Color = 1>>
 <</switch>>
 
-<<run App.Utils.setLocalPronouns($activeSlave)>>
+<<run App.Utils.setLocalPronouns(_slave)>>
 
-<<switch $malefactor>>
+<<if ["addict", "escapee", "anchorBaby", "orphanloli", "businesswoman", "whore", "rapist", "mule"].includes($malefactor)>>
+	<<= capFirstChar($assistant.name)>> alerts you that a <<if $malefactor === "mule">>potential <</if>>criminal has been detected by your security systems and detained by the drones. Crime is extremely uncommon in your arcology,
+	<<if !["liberator", "passfail"].includes($malefactor)>>
+		since nothing can escape the notice of the omnipresent monitoring systems.
+	<</if>>
+<</if>>
 
+<<switch $malefactor>>
 <<case "addict">>
-
-<<= capFirstChar($assistant.name)>> alerts you that a criminal has been detected by your security systems and detained by the drones. Crime is extremely uncommon in your arcology, since nothing can escape the notice of the omnipresent monitoring systems. Criminals are usually either too angry, too ignorant, or too stupid to understand the impossibility of successful petty crime. This is the latter situation; a $girl suffering severe aphrodisiac withdrawal has attempted to break into a store that sells the stuff. $He's now lying <<if $seePee == 1>>in a pool of $his own urine<<else>>face-down on the pavement<</if>> with a taser round stuck in $his ass; the drone responsible is hovering helpfully nearby, hitting $him with another shock whenever $he does more than twitch.
-
+	Criminals are usually either too angry, too ignorant, or too stupid to understand the impossibility of successful petty crime. This is the latter situation; a $girl suffering severe aphrodisiac withdrawal has attempted to break into a store that sells the stuff. $He's now lying <<if $seePee === 1>>in a pool of $his own urine<<else>>face-down on the pavement<</if>> with a taser round stuck in $his ass; the drone responsible is hovering helpfully nearby, hitting $him with another shock whenever $he does more than twitch.
 <<case "escapee">>
-
-<<= capFirstChar($assistant.name)>> alerts you that a criminal has been detected by your security systems and detained by the drones. Crime is extremely uncommon in your arcology, since nothing can escape the notice of the omnipresent monitoring systems. This is a simple case of vagrancy; sleeping on the streets (due to penury rather than inebriation) breaks an implicit contract all visitors to the arcology sign by coming here. The criminal is anything but usual, however. $He bears signs of extreme hormone manipulation over a long period, and has had $his Achilles tendons clipped. Camera records show $him crawling in with a cargo shipment. $He's clad in rags, and you cannot find any record of $him anywhere. The growing crowd is convinced $he's an escaped slave, and is growing ugly.
-
+	This is a simple case of vagrancy; sleeping on the streets (due to penury rather than inebriation) breaks an implicit contract all visitors to the arcology sign by coming here. The criminal is anything but usual, however. $He bears signs of extreme hormone manipulation over a long period, and has had $his Achilles tendons clipped. Camera records show $him crawling in with a cargo shipment. $He's clad in rags, and you cannot find any record of $him anywhere. The growing crowd is convinced $he's an escaped slave, and is growing ugly.
 <<case "anchorBaby">>
-
-<<= capFirstChar($assistant.name)>> alerts you that a criminal has been detected by your security systems and is waiting detainment. Crime is extremely uncommon in your arcology, since nothing can escape the notice of the omnipresent monitoring systems. This is likely another case of attempted escape by a slave or potentially a smuggling operation. The cause of detection is a steady stream of moaning emanating from a cargo container recently deposited into the arcology's cargo depot and has attracted a crowd of curious onlookers. Video feeds show the container being open and a heavily pregnant <<if $activeSlave.physicalAge > 30>>$woman<<elseif $activeSlave.physicalAge > 19>>young $woman<<elseif $activeSlave.physicalAge > 12>>teenager<<else>>little $girl<</if>> staggering out while clutching a newborn to $his breast and struggling to hold back $his second child from being born. From what little language $he knows, $he seems to think that just giving birth in your arcology is enough to become a proper citizen; as expected, $he squats and pushes out the other brat as you arrive. The growing crowd is becoming unruly, and $his inability to speak the language isn't helping; things could get ugly at any moment and hinge entirely on your next move.
-
+	This is likely another case of attempted escape by a slave or potentially a smuggling operation. The cause of detection is a steady stream of moaning emanating from a cargo container recently deposited into the arcology's cargo depot and has attracted a crowd of curious onlookers. Video feeds show the container being open and a heavily pregnant <<if _slave.physicalAge > 30>>$woman<<elseif _slave.physicalAge > 19>>young $woman<<elseif _slave.physicalAge > 12>>teenager<<else>>little $girl<</if>> staggering out while clutching a newborn to $his breast and struggling to hold back $his second child from being born. From what little language $he knows, $he seems to think that just giving birth in your arcology is enough to become a proper citizen; as expected, $he squats and pushes out the other brat as you arrive. The growing crowd is becoming unruly, and $his inability to speak the language isn't helping; things could get ugly at any moment and hinge entirely on your next move.
 <<case "orphanloli">>
-
-<<= capFirstChar($assistant.name)>> alerts you that a criminal has been detected by your security systems and detained by the drones. Crime is extremely uncommon in your arcology, since nothing can escape the notice of the omnipresent monitoring systems. This is a simple case of vagrancy; sleeping on the streets (due to penury rather than inebriation) breaks an implicit contract all visitors to the arcology sign by coming here. Several reports of petty theft were made in the area recently as well. The criminal is anything but usual, however. $He is very young, emaciated, and desperate. Camera records show $him crawling in through an air vent. $He's clad in rags, clutching a presumably stolen apple, and you cannot find any record of $him anywhere. The growing crowd is convinced $he's an escaped slave, and $his inability to speak the language isn't helping; things could get ugly at any moment and hinge entirely on your next move.
-
+	This is a simple case of vagrancy; sleeping on the streets (due to penury rather than inebriation) breaks an implicit contract all visitors to the arcology sign by coming here. Several reports of petty theft were made in the area recently as well. The criminal is anything but usual, however. $He is very young, emaciated, and desperate. Camera records show $him crawling in through an air vent. $He's clad in rags, clutching a presumably stolen apple, and you cannot find any record of $him anywhere. The growing crowd is convinced $he's an escaped slave, and $his inability to speak the language isn't helping; things could get ugly at any moment and hinge entirely on your next move.
 <<case "businesswoman">>
-
-<<= capFirstChar($assistant.name)>> alerts you that a criminal has been detected by your security systems and detained by the drones. Crime is extremely uncommon in your arcology, since nothing can escape the notice of the omnipresent monitoring systems. Nevertheless, it seems one of your tenants, a hitherto well-respected business<<= $woman>>, has left the straight and narrow. It seems $his business affairs took a decisive turn for the worse, so $he attempted to drain $his clients' funds and leave your arcology before anyone was the wiser. Unfortunately for $him, your security drones, controlled by $assistant.name, were very much the wiser. <<= capFirstChar($assistant.name)>> has with machine efficiency compiled the completest proofs of corporate malfeasance you have ever seen. Your wretched tenant signed a contract with you that included provisions forbidding theft. $He is entirely at your mercy.
-
+	Nevertheless, it seems one of your tenants, a hitherto well-respected business<<= $woman>>, has left the straight and narrow. It seems $his business affairs took a decisive turn for the worse, so $he attempted to drain $his clients' funds and leave your arcology before anyone was the wiser. Unfortunately for $him, your security drones, controlled by $assistant.name, were very much the wiser. <<= capFirstChar($assistant.name)>> has with machine efficiency compiled the completest proofs of corporate malfeasance you have ever seen. Your wretched tenant signed a contract with you that included provisions forbidding theft. $He is entirely at your mercy.
 <<case "whore">>
-
-<<= capFirstChar($assistant.name)>> alerts you that a criminal has been detected by your security systems and detained by the drones. Crime is extremely uncommon in your arcology, since nothing can escape the notice of the omnipresent monitoring systems. Nevertheless, it seems one of your tenants, a free whore, has been systematically stealing from clients. $He was furtive enough to get away with it for a time, but has now been caught red-handed. The john who caught $him attempted to stop $him, and $he fought him. Like many prostitutes $he carried a weapon in $his handbag, and the man is severely wounded. <<= capFirstChar($assistant.name)>> has with machine efficiency compiled a staggering dossier of video logs and personal testimony from previous customers who now understand where their personal belongings went, as well as appalling footage of today's victim's injuries. Your wretched tenant signed a contract with you that included provisions forbidding this kind of thing. $He is entirely at your mercy.
-
+	Nevertheless, it seems one of your tenants, a free whore, has been systematically stealing from clients. $He was furtive enough to get away with it for a time, but has now been caught red-handed. The john who caught $him attempted to stop $him, and $he fought him. Like many prostitutes $he carried a weapon in $his handbag, and the man is severely wounded. <<= capFirstChar($assistant.name)>> has with machine efficiency compiled a staggering dossier of video logs and personal testimony from previous customers who now understand where their personal belongings went, as well as appalling footage of today's victim's injuries. Your wretched tenant signed a contract with you that included provisions forbidding this kind of thing. $He is entirely at your mercy.
 <<case "rapist">>
-
-<<= capFirstChar($assistant.name)>> alerts you that a criminal has been detected by your security systems and detained by the drones. Crime is extremely uncommon in your arcology, since nothing can escape the notice of the omnipresent monitoring systems. Nevertheless, it seems one of your tenants saw fit to rape a free woman. Within ten minutes, the inhuman efficiency of $assistant.name has compiled video recordings, physical evidence, and even the victim's testimony, which is quite consistent with the first two. Your wretched tenant signed a contract with you that included provisions forbidding this kind of thing. $He is entirely at your mercy.
-
+	Nevertheless, it seems one of your tenants saw fit to rape a free woman. Within ten minutes, the inhuman efficiency of $assistant.name has compiled video recordings, physical evidence, and even the victim's testimony, which is quite consistent with the first two. Your wretched tenant signed a contract with you that included provisions forbidding this kind of thing. $He is entirely at your mercy.
 <<case "mule">>
-
-<<= capFirstChar($assistant.name)>> alerts you that a potential criminal has been detected by your security systems and is now being tailed by the drones. Crime is extremely uncommon in your arcology, since nothing can escape the notice of the omnipresent monitoring systems, but some individuals still make attempts to fool them. In this case, the cameras are fixed on a clearly pregnant, and hugely at that, $woman as $he works $his way through the crowded market sectors. You watch as $he repeatedly bumps into other patrons and stalls, pausing to apologize before proceeding on $his way, as if $he wasn't familiar with $his gravid swell. $His body is also clearly underdeveloped for someone ready to drop quadruplets at any moment; thin, with barely any hips to speak of and a pert bust clearly not swollen with milk. $He even walks like a $woman not burdened with nine months of gestating multiples, let alone a single. As $he stumbles under $his own weight, $his shirt rides up, giving you a clear view of the deep red stretch marks of a belly that grew far faster than it could handle. You've seen enough and order the drones to corral $him until security arrives. $His expression shifts from fear as they encircle $him to panic as a groan escapes $his lips. $He grabs $his stomach as a capsule falls to the floor. As another contraction hits $him, $he drops to the ground and begins to "give birth" to $his illegal cargo.
-<<if $bellyImplants == 1>>
-	$He likely has belly implant designed to carry foreign objects inside $his womb and, having lost $his composure, is now vacating its contents.
-<<else>>
-	You have no idea what you are witnessing until <<if $assistant.name == "your personal assistant">>your personal assistant pulls up an advertisement for a fillable womb located implant<<else>>$assistant.name introduces you to a fillable womb located implant<</if>> that $he likely has installed.
-<</if>>
-$He is easily taken into custody and $his contraband confiscated once the jeering crowd is dispersed enough to reach $him.
-
+	However some individuals still make attempts to fool them. In this case, the cameras are fixed on a clearly pregnant, and hugely at that, $woman as $he works $his way through the crowded market sectors. You watch as $he repeatedly bumps into other patrons and stalls, pausing to apologize before proceeding on $his way, as if $he wasn't familiar with $his gravid swell. $His body is also clearly underdeveloped for someone ready to drop quadruplets at any moment; thin, with barely any hips to speak of and a pert bust clearly not swollen with milk. $He even walks like a $woman not burdened with nine months of gestating multiples, let alone a single. As $he stumbles under $his own weight, $his shirt rides up, giving you a clear view of the deep red stretch marks of a belly that grew far faster than it could handle. You've seen enough and order the drones to corral $him until security arrives. $His expression shifts from fear as they encircle $him to panic as a groan escapes $his lips. $He grabs $his stomach as a capsule falls to the floor. As another contraction hits $him, $he drops to the ground and begins to "give birth" to $his illegal cargo.
+	<<if $bellyImplants === 1>>
+		$He likely has a belly implant designed to carry foreign objects inside $his womb and, having lost $his composure, is now vacating its contents.
+	<<else>>
+		You have no idea what you are witnessing until <<if $assistant.name === "your personal assistant">>your personal assistant pulls up an advertisement for a fillable womb located implant<<else>>$assistant.name introduces you to a fillable womb located implant<</if>> that $he likely has installed.
+	<</if>>
+	$He is easily taken into custody and $his contraband confiscated once the jeering crowd is dispersed enough to reach $him.
 <<case "liberator">>
-
-<<setNonlocalPronouns $seeDicks>>
-<<= capFirstChar($assistant.name)>> alerts you that a criminal has been detected by your security systems and detained by the drones. Crime is extremely uncommon in your arcology, but this is a special case. A well-muscled, well-armed $woman was caught attempting to smuggle a slave owned by one of your tenants out of the arcology. Though the slave surrendered immediately (and will be dealt with by _hisU owner), the would-be liberatrix was caught by your security drones. $He destroyed two of them and caused @@.red;other minor damage@@<<run cashX(forceNeg(1000), "event", $activeSlave)>> that will require a small sum to repair, but was eventually subdued. The drones had to expend a great deal of nonlethal ordnance to bring $him down and keep $him down, but $he is now entirely at your mercy.
-
+	<<setNonlocalPronouns $seeDicks>>
+	but this is a special case. A well-muscled, well-armed $woman was caught attempting to smuggle a slave owned by one of your tenants out of the arcology. Though the slave surrendered immediately (and will be dealt with by _hisU owner), the would-be liberatrix was caught by your security drones. $He destroyed two of them and caused @@.red;other minor damage@@<<run cashX(forceNeg(1000), "event", _slave)>> that will require a small sum to repair, but was eventually subdued. The drones had to expend a great deal of nonlethal ordnance to bring $him down and keep $him down, but $he is now entirely at your mercy.
 <<case "passfail">>
-
-<<= capFirstChar($assistant.name)>> alerts you that a criminal has been detected by your security systems and detained by the drones. Crime is extremely uncommon in your arcology, since nothing can escape the notice of the omnipresent monitoring systems. Nevertheless, it seems one of your tenants, a rather ordinary white collar worker, has been severely wounded in a freak industrial accident, to the point that a blood transfusion was needed. In the course of doing so, an arcology hospital's autosurgery noted several genetic discrepancies and alerted a few nearby drones. Simply put, while the $woman appears to be a normal _fakeRace $woman, this is the result of numerous cosmetic surgeries; $he is actually _realRace. The laws of your arcology hold that members of the _realRace race are fit only for slavery, quite unlike the superior _fakeRace people. That a _realRace $girl would gain a position of relatively high class and power through such deception and fraud is considered an outrage by many of your citizens, and so $he was placed under arrest before $he even awoke from surgery. $He is now entirely at your mercy.
-
+	since nothing can escape the notice of the omnipresent monitoring systems. Nevertheless, it seems one of your tenants, a rather ordinary white collar worker, has been severely wounded in a freak industrial accident, to the point that a blood transfusion was needed. In the course of doing so, an arcology hospital's autosurgery noted several genetic discrepancies and alerted a few nearby drones. Simply put, while the $woman appears to be a normal _fakeRace $woman, this is the result of numerous cosmetic surgeries; $he is actually _realRace. The laws of your arcology hold that members of the _realRace race are fit only for slavery, quite unlike the superior _fakeRace people. That a _realRace $girl would gain a position of relatively high class and power through such deception and fraud is considered an outrage by many of your citizens, and so $he was placed under arrest before $he even awoke from surgery. $He is now entirely at your mercy.
 <</switch>>
 
-<br><br>
-
 <<set _ContractCost = 1000>>
-<<set _slaveCost = slaveCost($activeSlave)>>
+<<set _slaveCost = slaveCost(_slave)>>
 <<set _slaveCost -= 1000>>
 
-//Applying enslavement as punishment will cost <<print cashFormat(_ContractCost)>>. Doing so and then selling $him immediately will bring in approximately <<print cashFormat(_slaveCost)>>.//
+<br><br>//Applying enslavement as punishment will cost <<print cashFormat(_ContractCost)>>. Doing so and then selling $him immediately will bring in approximately <<print cashFormat(_slaveCost)>>.//
+<br><br> <<includeDOM App.Desc.longSlave(_slave, {market: "generic"})>>
 
 <br><br>
-
-<<includeDOM App.Desc.longSlave(V.activeSlave, {market: "generic"})>>
-
-<br><br>
-
 <span id="result">
 	<<if $cash >= _ContractCost>>
 		<<link "Enslave $him">>
-			<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $activeSlave)>>
+			<<run cashX(forceNeg(_ContractCost), "slaveTransfer", _slave)>>
 			<<replace "#result">>
 				<<switch $malefactor>>
 				<<case "addict">>
@@ -411,61 +353,61 @@ $He is easily taken into custody and $his contraband confiscated once the jeerin
 				<<case "liberator">>
 					You complete the legalities and biometric scanning quickly and cautiously. Though the would-be liberator is of course restrained, disarmed, and still sedated, $he could awake at any time. Based on the drone logs, $he is likely to be violent when $he does.
 				<</switch>>
-				<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+				<<includeDOM App.UI.newSlaveIntro(_slave)>>
 			<</replace>>
 		<</link>>
 		<br><<link "Sentence $him to a day in the stocks, then enslave $him">>
-			<<run healthDamage($activeSlave, 10)>>
-			<<set $activeSlave.behavioralFlaw = "odd">>
-			<<set $activeSlave.sexualFlaw = "hates penetration">>
-			<<set $activeSlave.anus = 2>>
+			<<run healthDamage(_slave, 10)>>
+			<<set _slave.behavioralFlaw = "odd">>
+			<<set _slave.sexualFlaw = "hates penetration">>
+			<<set _slave.anus = 2>>
 			<<set _fuckCount = random(20,35)>>
-			<<run seX($activeSlave, "anal", "public", "penetrative", _fuckCount)>>
-			<<if $activeSlave.vagina > -1>>
-				<<if $activeSlave.vagina < 2>>
-					<<set $activeSlave.vagina = 2>>
+			<<run seX(_slave, "anal", "public", "penetrative", _fuckCount)>>
+			<<if _slave.vagina > -1>>
+				<<if _slave.vagina < 2>>
+					<<set _slave.vagina = 2>>
 				<</if>>
-				<<if isFertile($activeSlave) && $activeSlave.eggType == "human">>
-					<<= knockMeUp($activeSlave, 40, 2, -2)>>
+				<<if isFertile(_slave) && _slave.eggType === "human">>
+					<<= knockMeUp(_slave, 40, 2, -2)>>
 				<</if>>
-				<<run seX($activeSlave, "vaginal", "public", "penetrative", _fuckCount*2)>>
+				<<run seX(_slave, "vaginal", "public", "penetrative", _fuckCount*2)>>
 			<</if>>
-			<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $activeSlave)>>
+			<<run cashX(forceNeg(_ContractCost), "slaveTransfer", _slave)>>
 			<<replace "#result">>
 				<<switch $malefactor>>
 				<<case "addict">>
-					You declare $his holes fair game for the entire arcology, since $he must somehow repay $his debt to society. $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if $activeSlave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
+					You declare $his holes fair game for the entire arcology, since $he must somehow repay $his debt to society. $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if _slave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
 				<<case "escapee">>
-					You declare $his holes fair game for the entire arcology, so that all free citizens can own $him for a moment, if they wish. $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if $activeSlave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
+					You declare $his holes fair game for the entire arcology, so that all free citizens can own $him for a moment, if they wish. $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if _slave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
 				<<case "orphanloli">>
-					You declare $his holes fair game for the entire arcology, so that all free citizens can own $him for a moment, if they wish. $He spends a torturous day in the stocks before being hauled in for enslavement, @@.health.dec;completely broken@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if $activeSlave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
-					<<set $activeSlave.fetish = "mindbroken">>
+					You declare $his holes fair game for the entire arcology, so that all free citizens can own $him for a moment, if they wish. $He spends a torturous day in the stocks before being hauled in for enslavement, @@.health.dec;completely broken@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if _slave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
+					<<set _slave.fetish = "mindbroken">>
 				<<case "anchorBaby">>
-					You declare $his holes fair game for the entire arcology; since $he wants to produce future slaves, your arcology might as well have the privilege of fathering them. $He spends a torturous day in the stocks after $his children are taken to a slave orphanage before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if $activeSlave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
+					You declare $his holes fair game for the entire arcology; since $he wants to produce future slaves, your arcology might as well have the privilege of fathering them. $He spends a torturous day in the stocks after $his children are taken to a slave orphanage before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if _slave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
 				<<case "businesswoman">>
-					You declare $his holes fair game for the entire arcology, in payment for $his crimes. $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if $activeSlave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
+					You declare $his holes fair game for the entire arcology, in payment for $his crimes. $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if _slave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
 				<<case "whore">>
-					You declare $his holes fair game for the entire arcology, to repay $his thefts. $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if $activeSlave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
+					You declare $his holes fair game for the entire arcology, to repay $his thefts. $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if _slave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
 				<<case "rapist">>
-					You declare $his holes fair game for the entire arcology. $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if $activeSlave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
+					You declare $his holes fair game for the entire arcology. $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if _slave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
 				<<case "mule">>
-					You declare $his holes fair game for the entire arcology as punishment for trying to smuggle in a load instead of taking one. $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if $activeSlave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
+					You declare $his holes fair game for the entire arcology as punishment for trying to smuggle in a load instead of taking one. $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if _slave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
 				<<case "liberator">>
-					Slaveownership is the cornerstone of the society you're building in your arcology, and this $woman attempted to undermine it. $His holes are thus fair game for the entire arcology. $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if $activeSlave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun,@@ and small slaveholders are @@.green;encouraged to do business with your arcology@@ after word of the incident gets around.
+					Slaveownership is the cornerstone of the society you're building in your arcology, and this $woman attempted to undermine it. $His holes are thus fair game for the entire arcology. $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if _slave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun,@@ and small slaveholders are @@.green;encouraged to do business with your arcology@@ after word of the incident gets around.
 				<<case "passfail">>
-					You declare $his holes fair game for the entire arcology; after all, $he did want to be around lots of _fakeRace people, didn't $he? $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if $activeSlave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
+					You declare $his holes fair game for the entire arcology; after all, $he did want to be around lots of _fakeRace people, didn't $he? $He spends a torturous day in the stocks before being hauled in for enslavement, somewhat @@.health.dec;the worse for wear@@ and @@.red;acting oddly@@ due to $his ordeal, bruises all over $his body, cum leaking from $his @@.lime;loosened@@ anus<<if _slave.vagina > -1>> and @@.lime;fucked-out@@ pussy<</if>>. The public @@.green;enjoys the fun.@@
 				<</switch>>
-				<<run repX(500, "event", $activeSlave)>>
+				<<run repX(500, "event", _slave)>>
 				<<set $arcologies[0].prosperity += 2>>
-				<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+				<<includeDOM App.UI.newSlaveIntro(_slave)>>
 			<</replace>>
 		<</link>>
 		<<if $arcade > 0>>
 			<br><<link "Enslave $him and sentence $him to a month in the arcade">>
-				<<= assignJob($activeSlave, "be confined in the arcade")>>
-				<<set $activeSlave.choosesOwnAssignment = 0>>
-				<<set $activeSlave.sentence = 4>>
-				<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $activeSlave)>>
+				<<= assignJob(_slave, "be confined in the arcade")>>
+				<<set _slave.choosesOwnAssignment = 0>>
+				<<set _slave.sentence = 4>>
+				<<run cashX(forceNeg(_ContractCost), "slaveTransfer", _slave)>>
 				<<replace "#result">>
 					<<switch $malefactor>>
 					<<case "addict">>
@@ -479,40 +421,40 @@ $He is easily taken into custody and $his contraband confiscated once the jeerin
 					<<case "liberator">>
 						You complete the legalities and biometric scanning quickly and cautiously. Though the would-be liberator is of course restrained, disarmed, and still sedated, $he could awake at any time. It would be best to have $him restrained for public use in the arcade first. The public @@.green;looks forward@@ to seeing $him there.
 					<</switch>>
-					<<run repX(250, "event", $activeSlave)>>
-					<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+					<<run repX(250, "event", _slave)>>
+					<<run newSlave(_slave)>> /* skip New Slave Intro */
 				<</replace>>
 			<</link>>
 		<</if>>
-		<<if $malefactor != "mule">>
+		<<if $malefactor !== "mule">>
 			<<if $dairy > 0>>
 				<<if $dairyRestraintsSetting > 1>>
 					<br><<link "Enslave $him and send $him straight to the industrial dairy">>
-						<<= assignJob($activeSlave, "work in the dairy")>>
-						<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $activeSlave)>>
+						<<= assignJob(_slave, "work in the dairy")>>
+						<<run cashX(forceNeg(_ContractCost), "slaveTransfer", _slave)>>
 						<<replace "#result">>
 							<<switch $malefactor>>
 							<<case "addict">>
-								You complete the legalities and biometric scanning quickly and cautiously. The condemned accepts a sedative, thinking it's aphrodisiacs, and $his unconscious body is installed in $dairyName. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the addict's <<if $dairyStimulatorsSetting > 1>>agony as $his anus adapts to accommodate rectal dildo hydration<<elseif ($dairyPregSetting > 1) && ($activeSlave.vagina > 0)>>discomfort as $his pussy adapts to industrial reproduction<<else>>breasts as they are roughly milked<</if>>, together with a lengthy report on the experimental detox process used to ensure that the milk $he produces will be untainted.
+								You complete the legalities and biometric scanning quickly and cautiously. The condemned accepts a sedative, thinking it's aphrodisiacs, and $his unconscious body is installed in $dairyName. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the addict's <<if $dairyStimulatorsSetting > 1>>agony as $his anus adapts to accommodate rectal dildo hydration<<elseif ($dairyPregSetting > 1) && (_slave.vagina > 0)>>discomfort as $his pussy adapts to industrial reproduction<<else>>breasts as they are roughly milked<</if>>, together with a lengthy report on the experimental detox process used to ensure that the milk $he produces will be untainted.
 							<<case "escapee">>
-								You complete the legalities and biometric scanning quickly. The condemned is too far gone to resist as $he is installed in $dairyName. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the escapee's <<if $dairyStimulatorsSetting > 1>>agony as $his anus adapts to accommodate rectal dildo hydration<<elseif ($dairyPregSetting > 1) && ($activeSlave.vagina > 0)>>discomfort as $his pussy adapts to industrial reproduction<<else>>breasts as they are roughly milked<</if>>.
+								You complete the legalities and biometric scanning quickly. The condemned is too far gone to resist as $he is installed in $dairyName. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the escapee's <<if $dairyStimulatorsSetting > 1>>agony as $his anus adapts to accommodate rectal dildo hydration<<elseif ($dairyPregSetting > 1) && (_slave.vagina > 0)>>discomfort as $his pussy adapts to industrial reproduction<<else>>breasts as they are roughly milked<</if>>.
 							<<case "orphanloli">>
-								You complete the legalities and biometric scanning quickly. The condemned is too weak to resist as $he is installed in $dairyName but $he weeps the entire time. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the escapee's <<if $dairyStimulatorsSetting > 1>>agony as $his anus adapts to accommodate rectal dildo hydration<<elseif ($dairyPregSetting > 1) && ($activeSlave.vagina > 0)>>agony as $his once tight pussy adapts to industrial reproduction<<else>>budding breasts as they are roughly milked<</if>>.
+								You complete the legalities and biometric scanning quickly. The condemned is too weak to resist as $he is installed in $dairyName but $he weeps the entire time. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the escapee's <<if $dairyStimulatorsSetting > 1>>agony as $his anus adapts to accommodate rectal dildo hydration<<elseif ($dairyPregSetting > 1) && (_slave.vagina > 0)>>agony as $his once tight pussy adapts to industrial reproduction<<else>>budding breasts as they are roughly milked<</if>>.
 							<<case "anchorBaby">>
-								You complete the legalities and biometric scanning quickly and cautiously before having $his children taken away. The condemned resists installation in $dairyName with energy born of desperation. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the criminal's <<if ($dairyPregSetting > 1) && ($activeSlave.vagina > 0)>>discomfort as $his pussy adapts to industrial reproduction, along with a prospectus detailing the scheduled sale of $his next batch of slave product in eighteen years and nine months<<elseif $dairyStimulatorsSetting > 1>>agony as $his anus adapts to accommodate rectal dildo hydration<<else>>breasts as they are roughly milked<</if>>.
+								You complete the legalities and biometric scanning quickly and cautiously before having $his children taken away. The condemned resists installation in $dairyName with energy born of desperation. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the criminal's <<if ($dairyPregSetting > 1) && (_slave.vagina > 0)>>discomfort as $his pussy adapts to industrial reproduction, along with a prospectus detailing the scheduled sale of $his next batch of slave product in eighteen years and nine months<<elseif $dairyStimulatorsSetting > 1>>agony as $his anus adapts to accommodate rectal dildo hydration<<else>>breasts as they are roughly milked<</if>>.
 							<<case "businesswoman">>
-								You complete the legalities and biometric scanning quickly and cautiously. The condemned resists installation in $dairyName with energy born of desperation. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the criminal's <<if ($dairyPregSetting > 1) && ($activeSlave.vagina > 0)>>discomfort as $his pussy adapts to industrial reproduction, along with a prospectus detailing the scheduled sale of $his first slave product in eighteen years and nine months<<elseif $dairyStimulatorsSetting > 1>>agony as $his anus adapts to accommodate rectal dildo hydration<<else>>breasts as they are roughly milked<</if>>.
+								You complete the legalities and biometric scanning quickly and cautiously. The condemned resists installation in $dairyName with energy born of desperation. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the criminal's <<if ($dairyPregSetting > 1) && (_slave.vagina > 0)>>discomfort as $his pussy adapts to industrial reproduction, along with a prospectus detailing the scheduled sale of $his first slave product in eighteen years and nine months<<elseif $dairyStimulatorsSetting > 1>>agony as $his anus adapts to accommodate rectal dildo hydration<<else>>breasts as they are roughly milked<</if>>.
 							<<case "whore">>
-								You complete the legalities and biometric scanning quickly and cautiously. The condemned resists installation in $dairyName with energy born of desperation. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the criminal's <<if ($dairyPregSetting > 1) && ($activeSlave.vagina > 0)>>discomfort as $his well-traveled pussy adapts to industrial reproduction<<elseif $dairyStimulatorsSetting > 1>>discomfort as $his well-traveled anus adapts to accommodate rectal dildo hydration<<else>>breasts as they are roughly milked<</if>>.
+								You complete the legalities and biometric scanning quickly and cautiously. The condemned resists installation in $dairyName with energy born of desperation. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the criminal's <<if ($dairyPregSetting > 1) && (_slave.vagina > 0)>>discomfort as $his well-traveled pussy adapts to industrial reproduction<<elseif $dairyStimulatorsSetting > 1>>discomfort as $his well-traveled anus adapts to accommodate rectal dildo hydration<<else>>breasts as they are roughly milked<</if>>.
 							<<case "rapist">>
 								You complete the legalities and biometric scanning quickly and cautiously. The condemned resists installation in $dairyName with energy born of desperation. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the rapist's <<if $dairyStimulatorsSetting > 1>>agony as $his anus adapts to accommodate rectal dildo hydration<<else>>newly growing breasts as they are roughly milked<</if>>.
 							<<case "liberator">>
-								You complete the legalities and biometric scanning quickly and cautiously. The condemned resists installation in $dairyName with energy born of desperation. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the criminal's <<if ($dairyPregSetting > 1) && ($activeSlave.vagina > 0)>>discomfort as $his pussy adapts to industrial reproduction<<elseif $dairyStimulatorsSetting > 1>>discomfort as $his anus adapts to accommodate rectal dildo hydration<<else>>breasts as they are roughly milked<</if>>, together with a report on the likely productivity of such a fit body capable of withstanding the stress of high throughput.
+								You complete the legalities and biometric scanning quickly and cautiously. The condemned resists installation in $dairyName with energy born of desperation. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the criminal's <<if ($dairyPregSetting > 1) && (_slave.vagina > 0)>>discomfort as $his pussy adapts to industrial reproduction<<elseif $dairyStimulatorsSetting > 1>>discomfort as $his anus adapts to accommodate rectal dildo hydration<<else>>breasts as they are roughly milked<</if>>, together with a report on the likely productivity of such a fit body capable of withstanding the stress of high throughput.
 							<<case "passfail">>
-								You complete the legalities and biometric scanning quickly. The condemned is too weak to resist as $he is installed in $dairyName but $he weeps the entire time. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the criminal's <<if ($dairyPregSetting > 1) && ($activeSlave.vagina > 0)>>discomfort as $his pussy adapts to industrial reproduction<<elseif $dairyStimulatorsSetting > 1>>discomfort as $his anus adapts to accommodate rectal dildo hydration<<else>>breasts as they are roughly milked<</if>>.
+								You complete the legalities and biometric scanning quickly. The condemned is too weak to resist as $he is installed in $dairyName but $he weeps the entire time. The public @@.green;accepts@@ this as an appropriate punishment, especially when you release footage of the criminal's <<if ($dairyPregSetting > 1) && (_slave.vagina > 0)>>discomfort as $his pussy adapts to industrial reproduction<<elseif $dairyStimulatorsSetting > 1>>discomfort as $his anus adapts to accommodate rectal dildo hydration<<else>>breasts as they are roughly milked<</if>>.
 							<</switch>>
-							<<run repX(250, "event", $activeSlave)>>
-							<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+							<<run repX(250, "event", _slave)>>
+							<<run newSlave(_slave)>> /* skip New Slave Intro */
 						<</replace>>
 					<</link>>
 				<</if>>
@@ -520,10 +462,10 @@ $He is easily taken into custody and $his contraband confiscated once the jeerin
 		<</if>>
 		<<if $seeExtreme > 0>>
 			<br><<link "Punitively amputate $his limbs, and then enslave $him">>
-				<<run healthDamage($activeSlave, 20)>>
-				<<run removeLimbs($activeSlave, "all")>>
-				<<set $activeSlave.behavioralFlaw = "odd">>
-				<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $activeSlave)>>
+				<<run healthDamage(_slave, 20)>>
+				<<run removeLimbs(_slave, "all")>>
+				<<set _slave.behavioralFlaw = "odd">>
+				<<run cashX(forceNeg(_ContractCost), "slaveTransfer", _slave)>>
 				<<replace "#result">>
 					<<switch $malefactor>>
 					<<case "addict">>
@@ -547,61 +489,61 @@ $He is easily taken into custody and $his contraband confiscated once the jeerin
 					<<case "passfail">>
 						An example must be made. The citizens of your arcology must be assured that the racially inferior will not try to rise above their station, no matter their deceptions. The protesting malefactor is stripped and stuffed into your remote surgery on public video feed. $He begs and pleads until $he sees $his doom in the form of the surgical machinery, at which point $he switches to fighting vainly to escape. Of course, @@.health.dec;$his health is affected@@ and the horrible experience has left $him @@.red;acting oddly.@@ Then it's off to the penthouse for basic slave induction. The public @@.green;approves of this harshness.@@
 					<</switch>>
-					<<run repX(500, "event", $activeSlave)>>
-					<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+					<<run repX(500, "event", _slave)>>
+					<<includeDOM App.UI.newSlaveIntro(_slave)>>
 				<</replace>>
 			<</link>>
-			<<if $malefactor == "rapist" && $activeSlave.balls > 0>>
+			<<if $malefactor === "rapist" && _slave.balls > 0>>
 				<br><<link "Enslave the criminal and geld $him">>
-					<<run healthDamage($activeSlave, 20)>>
-					<<set $activeSlave.balls = 0>>
-					<<set $activeSlave.devotion -= 25>>
-					<<set $activeSlave.trust -= 25>>
-					<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $activeSlave)>>
+					<<run healthDamage(_slave, 20)>>
+					<<set _slave.balls = 0>>
+					<<set _slave.devotion -= 25>>
+					<<set _slave.trust -= 25>>
+					<<run cashX(forceNeg(_ContractCost), "slaveTransfer", _slave)>>
 					<<replace "#result">>
 						Video feeds from your remote surgery are made public as the protesting criminal is strapped down and gelded. $He is so utterly broken by this turn of events that you complete the legalities and biometric scanning without fuss. The condemned sobs weakly throughout the process until you grow tired of the whining and apply punishment. Then it's off to the penthouse for basic slave induction. The public @@.green;approves of this harshness,@@ which increases your arcology's prosperity by @@.green;giving it a reputation for swift and terrible justice.@@
-						<<run repX(500, "event", $activeSlave)>>
+						<<run repX(500, "event", _slave)>>
 						<<set $arcologies[0].prosperity += 10>>
-						<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+						<<includeDOM App.UI.newSlaveIntro(_slave)>>
 					<</replace>>
 				<</link>>
 			<</if>>
 		<</if>> /* closes seeExtreme */
-		<<if $malefactor == "orphanloli">>
+		<<if $malefactor === "orphanloli">>
 			<br><<link "'Adopt' $him">>
-				<<set $activeSlave.devotion = 25>>
-				<<set $activeSlave.trust = 25>>
-				<<set $activeSlave.origin = "$He was an orphan forced to live and steal on the streets until you adopted $him.">>
-				<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $activeSlave)>>
+				<<set _slave.devotion = 25>>
+				<<set _slave.trust = 25>>
+				<<set _slave.origin = "$He was an orphan forced to live and steal on the streets until you adopted $him.">>
+				<<run cashX(forceNeg(_ContractCost), "slaveTransfer", _slave)>>
 				<<replace "#result">>
 					You sit down and talk to the exhausted $girl, handing $him a contract cleverly altered to resemble adoption papers. Once $he comprehends what $he is looking at, $he eagerly signs it. Only once $he has reached the penthouse and been introduced to the slave life does $he realize $he willingly signed away $his freedom. Though $he can't complain. A warm cot and plenty of food await, which to $him is a huge improvement over a slow death on the streets. The public
 					<<if $arcologies[0].FSPaternalist != "unset">>
 						@@.green;is impressed by your act,@@ even if it is a trick.
-						<<run repX(500, "event", $activeSlave)>>
+						<<run repX(500, "event", _slave)>>
 					<<else>>
 						@@.red;feels you let this criminal off too easy.@@
-						<<run repX(forceNeg(100), "event", $activeSlave)>>
+						<<run repX(forceNeg(100), "event", _slave)>>
 					<</if>>
-					<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+					<<includeDOM App.UI.newSlaveIntro(_slave)>>
 				<</replace>>
 			<</link>>
 		<</if>>
 	<<else>>
 		//You lack the necessary funds to enslave $him.//
 	<</if>>
-	<<if $malefactor == "anchorBaby">>
+	<<if $malefactor === "anchorBaby">>
 		<br><<link "Grant $him citizenship">>
 			<<replace "#result">>
-				You help the exhausted mother to $his feet and hand $him $his second newborn. $He watches you, uncertain of your motives, until you have $him escorted to the proper welcoming facility and put in a good word for having $him added to your arcology's free population. You announce to the public that such a fertile <<if $activeSlave.physicalAge > 30>>MILF<<elseif $activeSlave.physicalAge > 19>>$woman<<elseif $activeSlave.physicalAge > 12>>teen<<else>>youth<</if>> will be a boon to <<if $arcologies[0].FSRepopulationFocus != "unset">>Repopulationism<<else>>society<</if>>, and that the contract $he is signing mandates $he be on powerful fertility agents whenever $he isn't pregnant. During $his residency, free or not, $he will provide society with dozens of future children. The public
+				You help the exhausted mother to $his feet and hand $him $his second newborn. $He watches you, uncertain of your motives, until you have $him escorted to the proper welcoming facility and put in a good word for having $him added to your arcology's free population. You announce to the public that such a fertile <<if _slave.physicalAge > 30>>MILF<<elseif _slave.physicalAge > 19>>$woman<<elseif _slave.physicalAge > 12>>teen<<else>>youth<</if>> will be a boon to <<if $arcologies[0].FSRepopulationFocus != "unset">>Repopulationism<<else>>society<</if>>, and that the contract $he is signing mandates $he be on powerful fertility agents whenever $he isn't pregnant. During $his residency, free or not, $he will provide society with dozens of future children. The public
 				<<if $arcologies[0].FSRepopulationFocus != "unset">>
 					@@.green;approves of breeders, free or not,@@ and word spreads that any and all mothers are welcome into your arcology @@.green;adding to its prosperity.@@
-					<<run repX(500, "event", $activeSlave)>>
+					<<run repX(500, "event", _slave)>>
 				<<elseif $arcologies[0].FSPaternalist != "unset">>
 					@@.green;sympathizes with your charity.@@
-					<<run repX(100, "event", $activeSlave)>>
+					<<run repX(100, "event", _slave)>>
 				<<else>>
 					@@.red;feels you let this criminal off too easy.@@
-					<<run repX(forceNeg(100), "event", $activeSlave)>>
+					<<run repX(forceNeg(100), "event", _slave)>>
 				<</if>>
 			<</replace>>
 		<</link>>
@@ -626,21 +568,21 @@ $He is easily taken into custody and $his contraband confiscated once the jeerin
 			<<case "liberator">>
 				An example must be made. Slaveownership is the cornerstone of the society you're building in your arcology, and this $woman attempted to undermine it. The protesting bitch is stripped and flogged on the promenade before being escorted bleeding from the arcology. The public @@.green;approves of this harshness.@@
 			<</switch>>
-			<<run repX(500, "event", $activeSlave)>>
+			<<run repX(500, "event", _slave)>>
 		<</replace>>
 	<</link>>
-	<<if $malefactor == "liberator">>
+	<<if $malefactor === "liberator">>
 		<br><<link "Permit the slaveowner $he tried to steal from to flog $him">>
 			<<replace "#result">>
 				An example must be made. Slaveownership is the cornerstone of the society you're building in your arcology, and this $woman attempted to undermine it. $He is stripped and the slaveowner whose property $he tried to free is handed the leathern instrument. It seems the escapee was a favorite he does not wish to mangle, so he flogs the criminal mercilessly instead. $He is flung out of the arcology, nearly dead. The public @@.green;approves of this harshness,@@ and small slaveholders are @@.green;encouraged to do business with your arcology@@ after word of the incident gets around.
-				<<run repX(500, "event", $activeSlave)>>
+				<<run repX(500, "event", _slave)>>
 				<<set $arcologies[0].prosperity += 10>>
 			<</replace>>
 		<</link>>
 	<</if>>
 	<br><<link "Sell $him immediately">>
 		<<run cashX(_slaveCost, "slaveTransfer")>>
-		<<if $cash4Babies == 1 && $malefactor == "anchorBaby">>
+		<<if $cash4Babies === 1 && $malefactor === "anchorBaby">>
 			<<run cashX(random(20,30), "slaveTransfer")>>
 		<</if>>
 		<<replace "#result">>
@@ -652,7 +594,7 @@ $He is easily taken into custody and $his contraband confiscated once the jeerin
 			<<case "orphanloli">>
 				You complete the legalities and biometric scanning quickly and without fuss. $He sobs throughout the process, though stops once $he realizes being a slave means free food. $He starts crying again once $he realizes $he is heading for the slave markets.
 			<<case "anchorBaby">>
-				You complete the legalities and biometric scanning quickly and without fuss. The condemned sobs and begs throughout the process until you grow tired of the whining and apply punishment. Then it's off to slave markets for sale. $His children <<if $cash4Babies == 1>>head off to be sold as well<<else>>will be sent to a slave orphanage for future sale<</if>>.
+				You complete the legalities and biometric scanning quickly and without fuss. The condemned sobs and begs throughout the process until you grow tired of the whining and apply punishment. Then it's off to slave markets for sale. $His children <<if $cash4Babies === 1>>head off to be sold as well<<else>>will be sent to a slave orphanage for future sale<</if>>.
 			<<case "businesswoman" "mule" "passfail" "rapist" "whore">>
 				You complete the legalities and biometric scanning quickly and without fuss. The condemned sobs and begs throughout the process until you grow tired of the whining and apply punishment. Then it's off to slave markets for sale.
 			<<case "liberator">>
@@ -660,4 +602,4 @@ $He is easily taken into custody and $his contraband confiscated once the jeerin
 			<</switch>>
 		<</replace>>
 	<</link>>
-</span>
+</span>
\ No newline at end of file
diff --git a/src/uncategorized/reMilfTourist.tw b/src/uncategorized/reMilfTourist.tw
index 310a8b1e787680b2b24155482f22de96fdc2d6df..19bbbd603e6ab449a4b4a63a61452d5a632afa1f 100644
--- a/src/uncategorized/reMilfTourist.tw
+++ b/src/uncategorized/reMilfTourist.tw
@@ -12,27 +12,27 @@
 	<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
 	<<set _race = _races.random()>>
 <</if>>
-<<set $activeSlave = GenerateNewSlave("XX", {minAge: 36, maxAge: 42, ageOverridesPedoMode: 1, race: _race, disableDisability: 1})>>
-<<set $activeSlave.origin = "$He came to your arcology as a tourist and found $himself enslaved.">>
-<<set $activeSlave.devotion = random(-70,-55)>>
-<<set $activeSlave.trust = random(-45,-25)>>
-<<run setHealth($activeSlave, jsRandom(10, 20), undefined, undefined, undefined, 5)>>
-<<set $activeSlave.vagina++>>
-<<set $activeSlave.hips = 2>>
-<<set $activeSlave.butt = random(4,6)>>
-<<set $activeSlave.boobs = 100*random(10,18)>>
-<<set $activeSlave.weight = random(60,140)>>
-<<set $activeSlave.behavioralQuirk = "none">>
-<<set $activeSlave.sexualQuirk = "none">>
-<<set $activeSlave.canRecruit = 0>>
-<<set $activeSlave.clothes = "nice business attire">>
+<<set _slave = GenerateNewSlave("XX", {minAge: 36, maxAge: 42, ageOverridesPedoMode: 1, race: _race, disableDisability: 1})>>
+<<set _slave.origin = "$He came to your arcology as a tourist and found $himself enslaved.">>
+<<set _slave.devotion = random(-70,-55)>>
+<<set _slave.trust = random(-45,-25)>>
+<<run setHealth(_slave, jsRandom(10, 20), undefined, undefined, undefined, 5)>>
+<<set _slave.vagina++>>
+<<set _slave.hips = 2>>
+<<set _slave.butt = random(4,6)>>
+<<set _slave.boobs = 100*random(10,18)>>
+<<set _slave.weight = random(60,140)>>
+<<set _slave.behavioralQuirk = "none">>
+<<set _slave.sexualQuirk = "none">>
+<<set _slave.canRecruit = 0>>
+<<set _slave.clothes = "nice business attire">>
 
 <span id="art-frame">
 	/* 000-250-006 */
 	<<if $seeImages == 1>>
 		<div class="imageColumn">
 			<div class="imageRef medImg">
-				<<= SlaveArt($activeSlave, 2, 0)>>
+				<<= SlaveArt(_slave, 2, 0)>>
 			</div>
 			<div class="imageRef medImg">
 				<<= SlaveArt(_milfSlave, 2, 0)>>
@@ -43,7 +43,7 @@
 </span>
 
 <<setLocalPronouns _milfSlave>>
-<<setLocalPronouns $activeSlave 2>>
+<<setLocalPronouns _slave 2>>
 <<setAssistantPronouns>>
 
 <<if $assistant.personality == 1>>
@@ -97,7 +97,7 @@
 <span id="result">
 <<link "Decline politely">>
 	<<replace "#result">>
-	<<setSpokenLocalPronouns _milfSlave $activeSlave>>
+	<<setSpokenLocalPronouns _milfSlave _slave>>
 	You have $assistant.name instruct _milfSlave.slaveName to pass on your regrets, and add a message for _milfSlave.slaveName expressing confidence in $him to represent you and the arcology perfectly well without you. $He's @@.mediumaquamarine;affirmed@@ by your trust in $him. "<<Master>>," $he reports the next time you see $him, "that touri<<s>>t wa<<s>> really nice. Al<<s>>o, I got _him2 to have <<s>>e<<x>> with me, after all. <<He 2>> wa<<s>> all he<<s>>itant and blu<<sh>>y about doing it in public, but <<he 2>> got better after the fir<<s>>t time I ate _him2 out." $He looks pleased with $himself. "I bet <<he 2>> @@.green;tell<<s>> all <<his 2>> friend<<s>>@@ back home how much fun it i<<s>> here."
 	<<run repX(500, "event")>>
 	<<set $slaves[_milfed].trust += 4, $slaves[_milfed].counter.oral++>>
@@ -106,7 +106,7 @@
 <</link>>
 <br><<link "Share some Free Cities life with _him2">>
 	<<replace "#result">>
-	<<run Enunciate($activeSlave)>>
+	<<run Enunciate(_slave)>>
 	You have _milfSlave.slaveName bring the tourist up to meet you. _He2's full of questions about what it's like to be an arcology owner, and you finally tell _him2 that you can give _him2 a pretty good idea. Eagerly, _he2 asks you how, and you point at _milfSlave.slaveName, telling the tourist _he2 ought to bend the slave over the couch if _he2 wants to know what it's really like to be an oversexed oligarch. "I'm, um, not really a le<<s>>bian," the tourist responds hesitantly.
 	<<run Enunciate(_milfSlave)>>
 	<<if _milfSlave.dick > 0>>
@@ -126,7 +126,7 @@
 <</link>>
 <br><<link "Encourage _him2 to enjoy the slave with your compliments">>
 	<<replace "#result">>
-	<<run Enunciate($activeSlave)>>
+	<<run Enunciate(_slave)>>
 	You have _milfSlave.slaveName bring the tourist up to meet you, and exchange some minor pleasantries. You tell _him2 that if _he2 really wants to experience Free Cities life, though, _he2 really should enjoy _milfSlave.slaveName, pointing at the slave hovering behind _him2. _He2 blushes furiously, but before _he2 can stammer a refusal, the slave whispers something into _his2 ear. "I'm, um, not really a le<<s>>bian," the tourist responds hesitantly.
 	<<run Enunciate(_milfSlave)>>
 	<<if _milfSlave.dick > 0>>
@@ -136,7 +136,7 @@
 	<</if>>
 	give me a try." The tourist turns to stare at $him, and _he2 offers just the right kind of plaintive expression. "O-okay," the tourist says in a tiny voice, and _milfSlave.slaveName giggles, hugging _him2 from behind. $He takes the tourist's hand, and they leave your office together.
 	<br><br>
-	<<setSpokenLocalPronouns _milfSlave $activeSlave>>
+	<<setSpokenLocalPronouns _milfSlave _slave>>
 	"<<Master>>," $he reports the next time you see $him, "that touri<<s>>t was really nice. Al<<s>>o, I got _him2 to have <<s>>e<<x>> with me, after all. <<He 2>> wa<<s>> going to take me back to <<his 2>> hotel but I got _him2 to do me on the way. <<He 2>> wa<<s>> all he<<s>>itant and blu<<sh>>y about doing it in public, but <<he 2>> got better after the fir<<s>>t time I ate _him2 out." $He looks pleased with $himself. "I bet <<he 2>> @@.green;tell<<s>> all <<his 2>> friend<<s>>@@ back home how much fun it i<<s>> here."
 	<<set $slaves[_milfed].trust += 4, $slaves[_milfed].counter.oral++>>
 	<<set $oralTotal++>>
@@ -147,13 +147,13 @@
 <</link>>
 <<if $cash > 20000>>
 	<br><<link "Enslave _him2">>
-		<<set $activeSlave.clothes = "no clothing">>
+		<<set _slave.clothes = "no clothing">>
 		<<replace "#art-frame">>
 			/* 000-250-006 */
 			<<if $seeImages == 1>>
 				<div class="imageColumn">
 					<div class="imageRef medImg">
-						<<= SlaveArt($activeSlave, 2, 0)>>
+						<<= SlaveArt(_slave, 2, 0)>>
 					</div>
 					<div class="imageRef medImg">
 						<<= SlaveArt(_milfSlave, 2, 0)>>
@@ -163,11 +163,11 @@
 			/* 000-250-006 */
 		<</replace>>
 		<<replace "#result">>
-		<<run Enunciate($activeSlave)>>
+		<<run Enunciate(_slave)>>
 		When your new slave comes to, _his2 weight is hanging from _his2 wrists, bound over _his2 head. _He2's not exactly thin, making the position uncomfortable for _his2 arms, so _he2 groggily stands, finding _himself2 in a pool of light in the middle of a cell. _He2's nursing a tremendous hangover, and though _he2 does not realize it, _he2's drugged. You're present, though not visible, witnessing _his2 first conscious moment of slavery from your desk. Realization is slow. _He2's no innocent, so _he2 recognizes the sensations of waking up the morning after a night of drinking interspersed with vigorous vaginal, oral, and anal intercourse, but _he2 does not remember the specifics. After a few minutes, _he2 understands that no one is coming, and speaks up hesitantly: "I<<s>> anyone there?" Getting no immediate answer, _he2 slumps against _his2 wrist restraints again, and begins to cry to _himself2. "W-why would a-anyone do thi<<s>>."
 		<br>
-		<<run cashX(-20000, "event", $activeSlave)>>
-		<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+		<<run cashX(-20000, "event", _slave)>>
+		<<includeDOM App.UI.newSlaveIntro(_slave)>>
 		<</replace>>
 	<</link>> //This will require an unprofitable <<print cashFormat(20000)>>, since _he2 is wealthy and obfuscating _his2 fate will require considerable spending//
 <<else>>
diff --git a/src/uncategorized/rePokerNight.tw b/src/uncategorized/rePokerNight.tw
index 738584edce69f6e12756d3b72b425180cb910a44..770c490b07328547de65a1a77611b9a34ae4831a 100644
--- a/src/uncategorized/rePokerNight.tw
+++ b/src/uncategorized/rePokerNight.tw
@@ -60,42 +60,42 @@ On a particularly lackadaisical evening, you find yourself alerted to a message
 						<<set _races = setup.filterRacesLowercase.filter(race => race !== $arcologies[0].FSSubjugationistRace)>>
 						<<set _race = _races.random()>>
 					<</if>>
-					<<set _genParam = {minAge: 38, maxAge: 43, ageOverridesPedoMode: 1, race: _race, disableDisability:1}>>
+					<<set _genParam = {minAge: 38, maxAge: 43, ageOverridesPedoMode: 1, race: _race, disableDisability: 1}>>
 					<<if $seeDicks != 100>>
-						<<set $activeSlave = GenerateNewSlave("XX", _genParam)>>
+						<<set _slave = GenerateNewSlave("XX", _genParam)>>
 					<<else>>
-						<<set $activeSlave = GenerateNewSlave("XY", _genParam)>>
+						<<set _slave = GenerateNewSlave("XY", _genParam)>>
 					<</if>>
-					<<set $activeSlave.origin = "$He put $himself up as collateral at a poker game, and lost.">>
-					<<set $activeSlave.career = "a soldier">>
-					<<set $activeSlave.indentureRestrictions = 2>>
-					<<set $activeSlave.indenture = 52>>
-					<<set $activeSlave.devotion = random(25,40)>>
-					<<set $activeSlave.trust = random(35,45)>>
-					<<run setHealth($activeSlave, jsRandom(60, 80), 0, undefined, 0, 10)>>
-					<<set $activeSlave.muscles = 50>>
-					<<if $activeSlave.weight > 130>>
-						<<set $activeSlave.weight -= 100>>
-						<<set $activeSlave.waist = random(-10,50)>>
+					<<set _slave.origin = "$He put $himself up as collateral at a poker game, and lost.">>
+					<<set _slave.career = "a soldier">>
+					<<set _slave.indentureRestrictions = 2>>
+					<<set _slave.indenture = 52>>
+					<<set _slave.devotion = random(25,40)>>
+					<<set _slave.trust = random(35,45)>>
+					<<run setHealth(_slave, jsRandom(60, 80), 0, undefined, 0, 10)>>
+					<<set _slave.muscles = 50>>
+					<<if _slave.weight > 130>>
+						<<set _slave.weight -= 100>>
+						<<set _slave.waist = random(-10,50)>>
 					<</if>>
-					<<set $activeSlave.anus = 0>>
-					<<set $activeSlave.skill.anal = 0>>
-					<<set $activeSlave.skill.whoring = 0>>
-					<<set $activeSlave.skill.combat = 1>>
-					<<set $activeSlave.accent = random(0,1)>>
-					<<set $activeSlave.behavioralFlaw = "arrogant">>
-					<<set $activeSlave.hLength = 1>>
-					<<set $activeSlave.hStyle = "shaved into a mohawk">>
-					<<set $activeSlave.custom.tattoo = "$He has a number of tattoos from a variety of mercenary companies.">>
-					<<set $activeSlave.clothes = "a military uniform">>
-					<<run App.Utils.setLocalPronouns($activeSlave)>>
+					<<set _slave.anus = 0>>
+					<<set _slave.skill.anal = 0>>
+					<<set _slave.skill.whoring = 0>>
+					<<set _slave.skill.combat = 1>>
+					<<set _slave.accent = random(0,1)>>
+					<<set _slave.behavioralFlaw = "arrogant">>
+					<<set _slave.hLength = 1>>
+					<<set _slave.hStyle = "shaved into a mohawk">>
+					<<set _slave.custom.tattoo = "$He has a number of tattoos from a variety of mercenary companies.">>
+					<<set _slave.clothes = "a military uniform">>
+					<<run App.Utils.setLocalPronouns(_slave)>>
 					<<replace "#art-frame">>
 					/* 000-250-006 */
 					<<if $seeImages == 1>>
 						<<if $imageChoice == 1>>
-							<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+							<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 						<<else>>
-							<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+							<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 						<</if>>
 					<</if>>
 					/* 000-250-006 */
@@ -104,7 +104,7 @@ On a particularly lackadaisical evening, you find yourself alerted to a message
 						Some aggressive play and an eye for riling up your fellow players has resulted in an immense payout, and all but one of your adversaries have folded as the situation has escalated. The only player still in contention is a wily old mercenary, the veteran of $his fair share of battles on the battlefield and at the poker table. $He's short on chips, however, and $he'll have to buy in with something else as collateral.
 						<br><br>
 						<span id="alive-result">
-							<<set $activeSlave.clothes = "no clothing">>
+							<<set _slave.clothes = "no clothing">>
 							<<link "A year of servitude">>
 								<<replace "#alive-result">>
 									<<if random(1,100) > 50>>
@@ -116,16 +116,16 @@ On a particularly lackadaisical evening, you find yourself alerted to a message
 										/* 000-250-006 */
 										<<if $seeImages == 1>>
 											<<if $imageChoice == 1>>
-												<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+												<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 											<<else>>
-												<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+												<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 											<</if>>
 										<</if>>
 										/* 000-250-006 */
 										<</replace>>
 										For all your skillful maneuvering to reach this position, ultimately the win comes down to chance. This time, however, luck has rendered you the victor. A silence falls over the room as the result is declared, but after some time your opponent breaks the hush by joking that life as your slave is probably easier than fighting for $arcologies[0].name. After some awkward laughter the night continues, and at the end your former mercenary joins you on your trip back to the penthouse to submit to processing and to begin $his new life as your sexual servant. $He's not young, but $he's tough and not distrusting of you due to $his service in the $mercenariesTitle.
 										<br>
-										<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+										<<includeDOM App.UI.newSlaveIntro(_slave)>>
 									<</if>>
 								<</replace>>
 							<</link>>
diff --git a/src/uncategorized/reRecruit.tw b/src/uncategorized/reRecruit.tw
index 6471b3ee17887054d2b92abfdc65047e10eb6a94..ff6cb77a5b64573e61c0a1e6830fcf09f47998ca 100644
--- a/src/uncategorized/reRecruit.tw
+++ b/src/uncategorized/reRecruit.tw
@@ -1408,11 +1408,7 @@
 <<set $activeSlave.skill.oral = 35>>
 <<set $activeSlave.skill.entertainment = 0>>
 <<set $activeSlave.skill.whoring = 15>>
-<<set $activeSlave.boobs = 0>>
-<<set $activeSlave.vagina = -1>>
-<<set $activeSlave.vaginaLube = 1>>
-<<set $activeSlave.labia = 2>>
-<<set $activeSlave.ovaries = -1>>
+<<set $activeSlave.boobs = 200>>
 <<set $activeSlave.dick = random(3,4)>>
 <<set $activeSlave.balls = random(2,3)>>
 <<set $activeSlave.scrotum = $activeSlave.balls>>
diff --git a/src/uncategorized/reShelterInspection.tw b/src/uncategorized/reShelterInspection.tw
index 5004597528bfe36832d8fad740e734a0e82ad09e..7fdff1f7b9884a92e64689854e17ca09cc5c7aec 100644
--- a/src/uncategorized/reShelterInspection.tw
+++ b/src/uncategorized/reShelterInspection.tw
@@ -10,50 +10,50 @@
 	<<set _race = _races.random()>>
 <</if>>
 <<set _ContractCost = 10000>>
-<<set $activeSlave = GenerateNewSlave("XX", {minAge: 36, maxAge: 42, ageOverridesPedoMode: 1, race: _race, disableDisability: 1})>>
-<<set $activeSlave.origin = "$He was once an inspector for the Shelter, but you put a stop to that.">>
-<<set $activeSlave.career = "a charity worker">>
-<<set $activeSlave.devotion = random(-90,-75)>>
-<<set $activeSlave.trust = random(75,90)>>
-<<set $activeSlave.oldDevotion = $activeSlave.devotion>>
-<<set $activeSlave.oldTrust = $activeSlave.trust>>
-<<run setHealth($activeSlave, jsRandom(30, 50), 0, 0, 0, 40)>>
-<<set $activeSlave.skill.anal = 0>>
-<<set $activeSlave.skill.oral = 0>>
-<<set $activeSlave.skill.whoring = 0>>
-<<set $activeSlave.skill.vaginal = 0>>
-<<set $activeSlave.skill.entertainment = 0>>
-<<set $activeSlave.butt = random(4,6)>>
-<<set $activeSlave.boobs = 100*random(12,18)>>
-<<set $activeSlave.weight = random(20,80)>>
-<<set $activeSlave.face = -20>>
-<<set $activeSlave.voice = 1>>
-<<set $activeSlave.hColor = "graying">>
-<<set $activeSlave.override_H_Color = 1>>
-<<set $activeSlave.hLength = 40>>
-<<set $activeSlave.hStyle = "up">>
-<<set $activeSlave.energy = random(5,50)>>
-<<set $activeSlave.behavioralQuirk = either("gluttonous", "hates men", "hates women", "liberated")>>
-<<set $activeSlave.sexualQuirk = either("apathetic", "idealistic")>>
-<<set $activeSlave.clothes = either("conservative clothing", "nice business attire")>>
-<<set $activeSlave.shoes = either("flats", "heels")>>
+<<set _slave = GenerateNewSlave("XX", {minAge: 36, maxAge: 42, ageOverridesPedoMode: 1, race: _race, disableDisability: 1})>>
+<<set _slave.origin = "$He was once an inspector for the Shelter, but you put a stop to that.">>
+<<set _slave.career = "a charity worker">>
+<<set _slave.devotion = random(-90,-75)>>
+<<set _slave.trust = random(75,90)>>
+<<set _slave.oldDevotion = _slave.devotion>>
+<<set _slave.oldTrust = _slave.trust>>
+<<run setHealth(_slave, jsRandom(30, 50), 0, 0, 0, 40)>>
+<<set _slave.skill.anal = 0>>
+<<set _slave.skill.oral = 0>>
+<<set _slave.skill.whoring = 0>>
+<<set _slave.skill.vaginal = 0>>
+<<set _slave.skill.entertainment = 0>>
+<<set _slave.butt = random(4,6)>>
+<<set _slave.boobs = 100*random(12,18)>>
+<<set _slave.weight = random(20,80)>>
+<<set _slave.face = -20>>
+<<set _slave.voice = 1>>
+<<set _slave.hColor = "graying">>
+<<set _slave.override_H_Color = 1>>
+<<set _slave.hLength = 40>>
+<<set _slave.hStyle = "up">>
+<<set _slave.energy = random(5,50)>>
+<<set _slave.behavioralQuirk = either("gluttonous", "hates men", "hates women", "liberated")>>
+<<set _slave.sexualQuirk = either("apathetic", "idealistic")>>
+<<set _slave.clothes = either("conservative clothing", "nice business attire")>>
+<<set _slave.shoes = either("flats", "heels")>>
 
 <<set _Inspectee = getSlave($shelterGirlID)>>
 <<set _originSlave = $genePool.find(function(s) { return s.ID == $shelterGirlID; })>>
 
 <<setLocalPronouns _Inspectee>>
-<<setLocalPronouns $activeSlave 2>>
+<<setLocalPronouns _slave 2>>
 <<setAssistantPronouns>>
 <<setPlayerPronouns>>
-<<run Enunciate($activeSlave)>>
-<<setSpokenLocalPronouns _Inspectee $activeSlave>>
+<<run Enunciate(_slave)>>
+<<setSpokenLocalPronouns _Inspectee _slave>>
 
 <span id="art-frame">
 /* 000-250-006 */
 <<if $seeImages == 1>>
 	<div class="imageColumn">
 		<div class="imageRef medImg">
-			<<= SlaveArt($activeSlave, 2, 0)>>
+			<<= SlaveArt(_slave, 2, 0)>>
 		</div>
 		<div class="imageRef medImg">
 			<<= SlaveArt(_Inspectee, 2, 0)>>
@@ -108,12 +108,12 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema
 
 <span id="result">
 <<link "Amusing. Enslave _him2">>
-	<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $activeSlave)>>
+	<<run cashX(forceNeg(_ContractCost), "slaveTransfer", _slave)>>
 	<<replace "#result">>
 	$assistant.name ushers _him2 into your penthouse and keeps _him2 busy for the few minutes you need to circumvent the Shelter's various legal and contractual defenses to prevent slaveowners from doing exactly what you're doing. Fortunately, you're cleverer and richer than most, and you succeed. You have _him2 brought into your office, and you are pleased to see _him2. _He2's not young and _he2's not pretty, but _his2 suit cannot disguise _his2 big bottom, and _he2's using the tablet _he2 has clasped protectively against _his2 chest to conceal a huge pair of mature breasts. _He2 knows exactly what's happened, and fixes you with a gimlet stare. "In a couple of month<<s>>," _he2 says with venom, "when you've filled me full of hormone<<s>> and drug<<s>> and training, and I'm begging you to <<if $PC.dick != 0>><<s>>tick your tiny little dick up<<else>>fi<<s>>t<</if>> my a<<ss>>hole, remember thi<<s>>. It'll be conditioning and <<s>>elf-pre<<s>>ervation and <<S>>tockholm <<S>>yndrome talking, not me. I think you're a <<if $PC.title == 1>><<s>>ad ba<<s>>tard<<else>>vile cunt<</if>>, and I alway<<s>> will."
 	<<set $shelterAbuse += 10>>
-	<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
-	<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+	<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
+	<<includeDOM App.UI.newSlaveIntro(_slave)>>
 	<</replace>>
 <</link>> //This will cost <<print cashFormat(_ContractCost)>>//
 <<if _S.Bodyguard || $mercenaries > 1 || ($SF.Toggle && $SF.Active >= 1)>>
@@ -135,28 +135,28 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema
 		<</if>>
 		forcefully escort the inspector off your property. You barely make it back to the penthouse before the message deeming you permanently banned from the Slave Shelter arrives.
 		<<set $shelterAbuse += 100>>
-		<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+		<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 	<</replace>>
 	<</link>>
 <</if>>
 <<if ($dairy > 0) && ($dairyRestraintsSetting > 1) && (_Inspectee.assignment == "work in the dairy")>>
 	<br><<link "The slave is attached to a milking machine in $dairyName, and so will be the inspector">>
-		<<= assignJob($activeSlave, "work in the dairy")>>
-		<<set $activeSlave.lactation = 1, $activeSlave.lactationDuration = 2>>
-		<<set $activeSlave.clothes = "no clothing">>
-		<<run cashX(forceNeg(_ContractCost/2), "slaveTransfer", $activeSlave)>>
+		<<= assignJob(_slave, "work in the dairy")>>
+		<<set _slave.lactation = 1, _slave.lactationDuration = 2>>
+		<<set _slave.clothes = "no clothing">>
+		<<run cashX(forceNeg(_ContractCost/2), "slaveTransfer", _slave)>>
 		<<replace "#result">>
 		_Inspectee.slaveName is attached to a milking machine, so it would be extremely unwise to let the inspector report on _Inspectee.slaveName's industrial fate in all its gorgeous productivity. So, you greet _him2 politely, and bring _him2 down to $dairyName to show _him2 _Inspectee.slaveName. The inspector has a single moment to stiffen in shock at the sight before _he2 stiffens involuntarily due to the security drone tasing _him2 unconscious. It takes a few credits here and there to circumvent the Shelter's various legal and contractual defenses to prevent slaveowners from doing exactly what you're doing, but you finish the day richer by one more big-boobed milk producer. You leave the inspector's drug dosage low to start, so _he2 can appreciate _his2 situation for a while. When the inspector awakes, _his2 visor is set to show an overhead view of _his2 bay in $dairyName. _He2 sees _his2 breasts, already larger than _he2 remembers, gently swaying with the pumping of the milkers.<<if $dairyFeedersSetting > 1>> _He2 sees the huge phallus occupying _his2 mouth, and feels nutrition sliding down _his2 throat.<</if>><<if $dairyPregSetting > 1>> _He2 sees _his2 vagina drooling as it's fucked in preparation for pregnancy.<</if>><<if $dairyPregSetting > 1>> _He2 sees a massive piston moving slowly back and forth beneath _his2 buttocks, and understands what the ache of impossible fullness in _his2 bottom is.<</if>> _His2 hands ball into fists.
 		<<set $shelterAbuse += 10>>
-		<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+		<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(_ContractCost/2)>>//
 <<elseif ($arcade > 0) && (_Inspectee.assignment == "be confined in the arcade")>>
 	<br><<link "The slave is little more than a hole in $arcadeName, and so will be the inspector">>
-		<<= assignJob($activeSlave, "be confined in the arcade")>>
-		<<set $activeSlave.clothes = "no clothing">>
-		<<run cashX(forceNeg(_ContractCost/2), "slaveTransfer", $activeSlave)>>
+		<<= assignJob(_slave, "be confined in the arcade")>>
+		<<set _slave.clothes = "no clothing">>
+		<<run cashX(forceNeg(_ContractCost/2), "slaveTransfer", _slave)>>
 		<<replace "#result">>
 		_Inspectee.slaveName is sealed in a box and currently in use, so it would be extremely unwise to let the inspector report on _Inspectee.slaveName's permanent position in the service industry. So, you greet _him2 politely, and bring _him2 down to $arcadeName to show _him2 _Inspectee.slaveName. The inspector has a single moment to stiffen in shock at the sight before _he2 stiffens involuntarily due to the security drone tasing _him2 unconscious. It takes a few credits here and there to circumvent the Shelter's various legal and contractual defenses to prevent slaveowners from doing exactly what you're doing, but you finish the day richer by three more fuckable holes. When the inspector awakes to a dick intruding _his2 body, the pitch blackness and sound proofing disorientates _him2.
 		<<if $arcadeUpgradeInjectors == 2>>
@@ -170,8 +170,8 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema
 		<</if>>
 		Before _he2 gets the chance to swear defiance against you, another patron rams his dick down _his2 throat, putting a stop to that notion. _His2 hands ball into fists as _he2 endures _his2 first spitroasting.
 		<<set $shelterAbuse += 15>>
-		<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+		<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(_ContractCost/2)>>//
 <<elseif (_Inspectee.assignment == "be your agent") || (_Inspectee.assignment == "live with your agent")>>
@@ -179,18 +179,18 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema
 		<<replace "#result">>
 		_Inspectee.slaveName is now a guiding force in another of the Free City's arcologies, so it would be disruptive to $his work to be called away like this. You simply pass along $his new address and send the inspector on _his2 way. _He2 stands there dumbfounded before hastily writing notes on _his2 tablet. _He2 seems quite pleased by _Inspectee.slaveName's progress.
 		<<set $shelterAbuse -= 15>>
-		<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+		<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 		<</replace>>
 	<</link>>
 <<elseif _Inspectee.fuckdoll > 0>>
 	<br><<link "The slave is little more than a latex wrapped doll, and so will be the inspector">>
-		<<run cashX(forceNeg(_ContractCost/2), "slaveTransfer", $activeSlave)>>
+		<<run cashX(forceNeg(_ContractCost/2), "slaveTransfer", _slave)>>
 		<<replace "#result">>
 		You have _him2 ushered up to your office, and order _Inspectee.slaveName brought in. The inspector has a single moment to stiffen in shock at the sight before _he2 stiffens involuntarily due to the security drone tasing _him2 unconscious. It takes a few credits here and there to circumvent the Shelter's various legal and contractual defenses to prevent slaveowners from doing exactly what you're doing, but you finish the day richer by one more Fuckdoll. Odds are _he2 wants to be defiant, but the suit works perfectly and leaves _him2 no outlet to make _his2 thoughts known.
-		<<run beginFuckdoll($activeSlave)>>
+		<<run beginFuckdoll(_slave)>>
 		<<set $shelterAbuse += 10>>
-		<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+		<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 		<</replace>>
 	<</link>> //This will cost <<print cashFormat(_ContractCost/2)>>//
 <<elseif ($dairyRestraintsSetting < 2) || (_Inspectee.assignment != "work in the dairy")>>
@@ -257,7 +257,7 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema
 							$He nods confidently.
 						<</if>>
 					<</if>>
-					<<run Enunciate($activeSlave)>>
+					<<run Enunciate(_slave)>>
 					The inspector's expression softens, and _he2 pauses a moment before jotting down more notes on _his2 tablet. "Thank you, _Inspectee.slaveName, that will be all." _He2 turns to you and says "You're more than welcome to adopt <<s>>lave<<s>> from our <<sh>>elter." You swear _he2 seems in much better spirits as _he2 leaves your penthouse.
 					<<set _inspectionContinues = 0>>
 					<<set $shelterAbuse-->>
@@ -273,7 +273,7 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema
 					<<else>>
 						_Inspectee.slaveName shakes $his head in response.
 					<</if>>
-					<<run Enunciate($activeSlave)>>
+					<<run Enunciate(_slave)>>
 					The inspector gasps at the realization that $he can see again. "They look ju<<s>>t like <<his>> old photo<<s>> too..." A tear comes to _his2 weary eye as _he2 writes out notes on _his2 tablet. "You're more than welcome to adopt <<s>>lave<<s>> from our <<sh>>elter." You swear _he2 seems in much better spirits as _he2 leaves your penthouse.
 					<<set _inspectionContinues = 0>>
 					<<set $shelterAbuse-->>
@@ -427,7 +427,7 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema
 			<<if (_Inspectee.devotion < 10)>>
 				<<if (_Inspectee.buttplug == "large plug") || (_Inspectee.buttplug == "huge plug") || (_Inspectee.buttplug == "long, large plug") || (_Inspectee.buttplug == "long, huge plug")>>
 					"W-well," $he says, "I wear a buttplug." The inspector frowns.
-					<<run Enunciate($activeSlave)>>
+					<<run Enunciate(_slave)>>
 					"A buttplug <<sh>>ouldn't do that!"
 					<<run Enunciate(_Inspectee)>>
 					The slave looks worried and replies, "It'<<s>> kinda big? And I wear it all the time. B-but I like it! It d-doe<<s>>n't hurt. Well, anymore." The inspector is not amused. _He2 offers you a few choice words, makes notes on _his2 tablet, and storms out.
@@ -441,7 +441,7 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema
 					<<set $shelterAbuse -= 1>>
 				<<else>>
 					"W-well," $he says, "I'm a <<s>>lave." The inspector frowns.
-					<<run Enunciate($activeSlave)>>
+					<<run Enunciate(_slave)>>
 					"What doe<<s>> that have to do with it?"
 					<<run Enunciate(_Inspectee)>>
 					The slave looks worried and replies, "I-it'<<s>> a hole, right? I get fucked in all my hole<<s>>." The inspector is not amused. _He2 offers you a few choice words, makes notes on _his2 tablet, and storms out.
@@ -449,7 +449,7 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema
 			<<else>>
 				<<if (_Inspectee.buttplug == "large plug") || (_Inspectee.buttplug == "huge plug") || (_Inspectee.buttplug == "long, large plug") || (_Inspectee.buttplug == "long, huge plug")>>
 					"I wear a buttplug!" $he says confidently. The inspector frowns.
-					<<run Enunciate($activeSlave)>>
+					<<run Enunciate(_slave)>>
 					"A buttplug <<sh>>ouldn't do that!"
 					<<run Enunciate(_Inspectee)>>
 					The slave looks worried and replies, "It'<<s>> really big, and I wear it all the time. I like it! It keep<<s>> my hole ready for anything." The inspector looks deflated, and reluctantly makes a positive note on _his2 tablet.
@@ -465,7 +465,7 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema
 					<<set $shelterAbuse -= 1>>
 				<<else>>
 					"I'm a <<s>>lave," $he says confidently. The inspector frowns.
-					<<run Enunciate($activeSlave)>>
+					<<run Enunciate(_slave)>>
 					"What doe<<s>> that have to do with it?"
 					<<run Enunciate(_Inspectee)>>
 					The slave beams and replies, "It'<<s>> a hole. I'm a good $girl, <<s>>o I get fucked in all my hole<<s>>." The inspector looks deflated, and reluctantly makes a positive note on _his2 tablet.
@@ -511,7 +511,7 @@ Not waiting to be greeted, the inspector looks up at the nearest camera and dema
 				<<set $shelterAbuse -= 1>>
 			<</switch>>
 		<</if>>
-		<<set $nextButton = "Continue">><<UpdateNextButton>> /* unlock Continue button */
+		<<set $nextButton = "Continue">><<run App.Utils.updateUserButton()>> /* unlock Continue button */
 		<</replace>>
 	<</link>>
 <</if>>
diff --git a/src/uncategorized/resFailure.tw b/src/uncategorized/resFailure.tw
index 0341a1d74c47e64d3d9e97d8082601522e74c3a0..d69dc78e57ba8540e329c8c18fbf88caa08e751d 100644
--- a/src/uncategorized/resFailure.tw
+++ b/src/uncategorized/resFailure.tw
@@ -6,862 +6,692 @@
 
 <<run repX(-200, "event")>>
 <<set $arcologies[0].prosperity -= 2>>
-<<set $slavesToAdd = 5>>
+<<set _slavesToAdd = 5>>
+<<set V[$RESFailure].schoolPresent = 0>>
+<<set V[$RESFailure].subsidize = 0>>
+<<set V[$RESFailure].schoolProsperity = 0>>
+<<set V[$RESFailure].schoolAnnexed = 1>>
 <<if $RESFailure == "TSS">>
-	<<set $TSS.schoolPresent = 0>>
-	<<set $TSS.subsidy = 0>>
-	<<set $TSS.schoolProsperity = 0>>
-	<<set $TSS.schoolAnnexed = 1>>
-	<<for $i = 0; $i < $slavesToAdd; $i++>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XX")>>
-		<<set $activeSlave.career = "a slave">>
-		<<set $activeSlave.butt = either(1, 2, 2, 3)>>
-		<<set $activeSlave.boobs = either(200, 300, 300, 400)>>
+	<<for _i = 0; _i < _slavesToAdd-1; _i++>>
+		<<set _slave = GenerateNewSlave("XX", {ageOverridesPedoMode: 1})>>
+		<<set _slave.career = "a slave">>
+		<<set _slave.butt = either(1, 2, 2, 3)>>
+		<<set _slave.boobs = either(200, 300, 300, 400)>>
 		<<if $TSS.schoolUpgrade == 1>>
-			<<set $activeSlave.origin = "$He was given to you by a failed branch campus of the Slavegirl School after $he was retrained as a slave $girl.">>
-			<<set $activeSlave.butt += 1>>
-			<<set $activeSlave.boobs += 200>>
-			<<set $activeSlave.anus = 1>>
-			<<set $activeSlave.vagina = 1>>
-			<<set $activeSlave.actualAge = random(36,42)>>
-			<<set $activeSlave.visualAge = $activeSlave.actualAge>>
-			<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
-			<<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
+			<<set _slave.origin = "$He was given to you by a failed branch campus of the Slavegirl School after $he was retrained as a slave $girl.">>
+			<<set _slave.butt++>>
+			<<set _slave.boobs += 200>>
 		<<else>>
-			<<set $activeSlave.origin = "$He was given to you by a failed branch campus of the Slavegirl School right after $his majority.">>
-			<<set $activeSlave.anus = 0>>
-			<<set $activeSlave.vagina = 0>>
-			<<set $activeSlave.actualAge = 18>>
-			<<set $activeSlave.visualAge = $activeSlave.actualAge>>
-			<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
-			<<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
+			<<set _slave.origin = "$He was given to you by a failed branch campus of the Slavegirl School right after $his majority.">>
 		<</if>>
-		<<set $activeSlave.intelligenceImplant = 15>>
-		<<set $activeSlave.teeth = "normal">>
-		<<set $activeSlave.intelligence = random(-50,95)>>
-		<<set $activeSlave.devotion = random(25,45)>>
-		<<set $activeSlave.trust = random(25,45)>>
-		<<run setHealth($activeSlave, jsRandom(50, 60), 0, 0, 0)>>
-		<<set $activeSlave.preg = 0>>
-		<<set $activeSlave.weight = 0>>
-		<<set $activeSlave.chem = 20>>
-		<<if $TSS.schoolUpgrade == 0>>
-			<<set $activeSlave.skill.vaginal = 0>>
-			<<set $activeSlave.skill.oral = 0>>
-			<<set $activeSlave.skill.anal = 0>>
-			<<set $activeSlave.skill.whoring = 0>>
-			<<set $activeSlave.skill.entertainment = 15>>
-		<<else>>
-			<<set $activeSlave.skill.vaginal = 15>>
-			<<set $activeSlave.skill.oral = 15>>
-			<<set $activeSlave.skill.anal = 15>>
-			<<set $activeSlave.skill.whoring = 15>>
-			<<set $activeSlave.skill.entertainment = 15>>
-		<</if>>
-		<<set $activeSlave.skill.combat = 0>>
-		<<set $activeSlave.pubicHStyle = "waxed">>
-		<<set $activeSlave.underArmHStyle = "waxed">>
-		<<set $activeSlave.sexualFlaw = either("none")>>
-		<<set $activeSlave.behavioralFlaw = either("none")>>
-		<<set $activeSlave.hStyle = "tails">>
-		<<set $activeSlave.custom.tattoo = "$He has the simple logo of the corporation that operates the Slavegirl School tattooed on $his left cheek.">>
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+		<<set _slave.actualAge = ($TSS.schoolUpgrade == 1 ? random(36,42) : 18)>>
+		<<set _slave.anus = ($TSS.schoolUpgrade == 1 ? 1 : 0)>>
+		<<set _slave.vagina = ($TSS.schoolUpgrade == 1 ? 1 : 0)>>
+		<<set _slave.visualAge = _slave.actualAge>>
+		<<set _slave.physicalAge = _slave.actualAge>>
+		<<set _slave.ovaryAge = _slave.actualAge>>
+		<<set _slave.intelligenceImplant = 15>>
+		<<set _slave.teeth = "normal">>
+		<<set _slave.intelligence = random(-50,95)>>
+		<<set _slave.devotion = random(25,45)>>
+		<<set _slave.trust = random(25,45)>>
+		<<run setHealth(_slave, jsRandom(50, 60), 0, 0, 0)>>
+		<<set _slave.preg = 0>>
+		<<set _slave.weight = 0>>
+		<<set _slave.chem = 20>>
+		<<set _slave.skill.vaginal = ($TUO.schoolUpgrade !== 0 ? 15 : 0)>>
+		<<set _slave.skill.oral = ($TUO.schoolUpgrade !== 0 ? 15 : 0)>>
+		<<set _slave.skill.anal = ($TUO.schoolUpgrade !== 0 ? 15 : 0)>>
+		<<set _slave.skill.whoring = ($TUO.schoolUpgrade !== 0 ? 15 : 0)>>
+		<<set _slave.skill.entertainment = 15>>
+		<<set _slave.skill.combat = 0>>
+		<<set _slave.pubicHStyle = "waxed">>
+		<<set _slave.underArmHStyle = "waxed">>
+		<<set _slave.sexualFlaw = either("none")>>
+		<<set _slave.behavioralFlaw = either("none")>>
+		<<set _slave.hStyle = "tails">>
+		<<set _slave.custom.tattoo = "$He has the simple logo of the corporation that operates the Slavegirl School tattooed on $his left cheek.">>
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 	<</for>>
 <<elseif $RESFailure == "TUO">>
-	<<set $TUO.schoolPresent = 0>>
-	<<set $TUO.subsidy = 0>>
-	<<set $TUO.schoolProsperity = 0>>
-	<<set $TUO.schoolAnnexed = 1>>
-	<<for $i = 0; $i < $slavesToAdd; $i++>>
-		<<set $activeSlaveOneTimeMinAge = $minimumSlaveAge>>
-		<<set $activeSlaveOneTimeMaxAge = $fertilityAge>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave()>>
-		<<set $activeSlave.origin = "$He was given to you by a failed branch of The Utopian Orphanage right after $his graduation.">>
-		<<set $activeSlave.career = "a slave">>
-		<<run setHealth($activeSlave, jsRandom(60, 80), 0, 0, 0)>>
-		<<set $activeSlave.devotion = random(50,75)>>
-		<<set $activeSlave.trust = random(50,75)>>
-		<<if $TUO.schoolUpgrade == 1>>
-			<<set $activeSlave.face = random(30,100)>>
-			<<set $activeSlave.intelligence = random(55,100)>>
-			<<set $activeSlave.intelligenceImplant = 30>>
-			<<set $activeSlave.accent = 1>>
-			<<set $activeSlave.skill.entertainment = 75>>
-			<<set $activeSlave.skill.combat = 1>>
-		<<else>>
-			<<set $activeSlave.face = random(10,65)>>
-			<<set $activeSlave.intelligenceImplant = 15>>
-			<<set $activeSlave.intelligence = random(35,75)>>
-			<<set $activeSlave.accent = either(0,1)>>
-			<<set $activeSlave.skill.entertainment = 45>>
-			<<set $activeSlave.skill.combat = 0>>
-		<</if>>
-		<<if $TUO.schoolUpgrade == 2>>
-			<<set $activeSlave.skill.vaginal = 15>>
-			<<set $activeSlave.skill.oral = 15>>
-			<<set $activeSlave.skill.anal = 15>>
-			<<set $activeSlave.skill.whoring = 15>>
-			<<set $activeSlave.energy = random(40,95)>>
-		<<else>>
-			<<set $activeSlave.skill.vaginal = 0>>
-			<<set $activeSlave.skill.oral = 0>>
-			<<set $activeSlave.skill.anal = 0>>
-			<<set $activeSlave.skill.whoring = 0>>
-			<<set $activeSlave.energy = random(15,65)>>
-		<</if>>
-		<<set $activeSlave.faceImplant = 0>>
-		<<set $activeSlave.weight = random(-17,17)>>
-		<<set $activeSlave.muscles = random(0,20)>>
-		<<set $activeSlave.lips = random(10,40)>>
-		<<set $activeSlave.lipsImplant = 0>>
-		<<set $activeSlave.boobs = 50>>
-		<<set $activeSlave.boobsImplant = 0>>
-		<<set $activeSlave.butt = random(0,2)>>
-		<<set $activeSlave.buttImplant = 0>>
-		<<set $activeSlave.vagina = 0>>
-		<<set $activeSlave.anus = 0>>
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+	<<for _i = 0; _i < _slavesToAdd; _i++>>
+		<<set _slave = GenerateNewSlave("", {minAge: $minimumSlaveAge, maxAge: $fertilityAge, disableDisability: 1})>>
+		<<set _slave.origin = "$He was given to you by a failed branch of The Utopian Orphanage right after $his graduation.">>
+		<<set _slave.career = "a slave">>
+		<<run setHealth(_slave, jsRandom(60, 80), 0, 0, 0)>>
+		<<set _slave.devotion = random(50,75)>>
+		<<set _slave.trust = random(50,75)>>
+		<<set _slave.face = ($TUO.schoolUpgrade == 1 ? random(30, 100) : random(10, 65))>>
+		<<set _slave.intelligence = ($TUO.schoolUpgrade == 1 ? random(55, 100) : random(35, 75))>>
+		<<set _slave.intelligenceImplant = ($TUO.schoolUpgrade == 1 ? 30 : 15)>>
+		<<set _slave.accent = ($TUO.schoolUpgrade == 1 ? 1 : either(0, 1))>>
+		<<set _slave.skill.entertainment = ($TUO.schoolUpgrade == 1 ? 75 : 45)>>
+		<<set _slave.skill.combat = ($TUO.schoolUpgrade == 1 ? 1 : 0)>>
+		<<set _slave.skill.vaginal = ($TUO.schoolUpgrade == 2 ? 15 : 0)>>
+		<<set _slave.skill.oral = ($TUO.schoolUpgrade == 2 ? 15 : 0)>>
+		<<set _slave.skill.anal = ($TUO.schoolUpgrade == 2 ? 15 : 0)>>
+		<<set _slave.skill.whoring = ($TUO.schoolUpgrade == 2 ? 15 : 0)>>
+		<<set _slave.energy = ($TUO.schoolUpgrade == 2 ? random(40,95) : random(15,65))>>
+		<<set _slave.faceImplant = 0>>
+		<<set _slave.weight = random(-17,17)>>
+		<<set _slave.muscles = random(0,20)>>
+		<<set _slave.lips = random(10,40)>>
+		<<set _slave.lipsImplant = 0>>
+		<<set _slave.boobs = 50>>
+		<<set _slave.boobsImplant = 0>>
+		<<set _slave.butt = random(0,2)>>
+		<<set _slave.buttImplant = 0>>
+		<<set _slave.vagina = 0>>
+		<<set _slave.anus = 0>>
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 	<</for>>
 <<elseif $RESFailure == "TCR">>
-	<<set $TCR.schoolPresent = 0>>
-	<<set $TCR.subsidy = 0>>
-	<<set $TCR.schoolProsperity = 0>>
-	<<set $TCR.schoolAnnexed = 1>>
-	<<for $i = 0; $i < $slavesToAdd; $i++>>
-		<<set $activeSlaveOneTimeMinAge = $fertilityAge+6>>
-		<<set $activeSlaveOneTimeMaxAge = 32>>
-		<<set $one_time_age_overrides_pedo_mode = 1>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XX")>>
-		<<set $activeSlave.slaveName = setup.cowSlaveNames.random()>>
-		<<set $activeSlave.slaveSurname = 0>>
-		<<set $activeSlave.career = "a dairy cow">>
-		<<set $activeSlave.butt = either(5, 6, 6, 7, 7, 8, 9)>>
-		<<set $activeSlave.boobs = 30000>>
-		<<set $activeSlave.lactation = 1>>
-		<<set $activeSlave.lactationDuration = 2>>
-		<<set $activeSlave.lactationAdaptation = 100>>
-		<<set $activeSlave.origin = "$He is a prized dairy cow given to you by a failed local pasture of The Cattle Ranch.">>
-		<<set $activeSlave.anus = 1>>
-		<<set $activeSlave.vagina = 5>>
-		<<set $activeSlave.vaginaLube = 2>>
-		<<set $activeSlave.intelligence = either(-100, -100, -100, -96, -80, -70, -50)>>
-		<<set $activeSlave.devotion = 100>>
-		<<set $activeSlave.trust = 100>>
-		<<run setHealth($activeSlave, jsRandom(50, 60), 0, 0, 0)>>
-		<<set $activeSlave.preg = random(30,39)>>
-		<<set $activeSlave.pregType = random(3,6)>>
-		<<set $activeSlave.pregKnown = 1>>
-		<<set $activeSlave.pregWeek = $activeSlave.preg>>
-		<<run SetBellySize($activeSlave)>>
-		<<set $activeSlave.bellySag = 10>>
-		<<set $activeSlave.bellySagPreg = 10>>
-		<<set $activeSlave.hips = either(2, 2, 2, 2, 3)>>
-		<<set $activeSlave.counter.birthsTotal = random(10,15)>>
-		<<set $activeSlave.geneticQuirks.hyperFertility = 2>>
-		<<set $activeSlave.weight = random(60,160)>>
-		<<set $activeSlave.muscles = random(60,80)>>
-		<<set $activeSlave.chem = 10>>
-		<<set $activeSlave.skill.vaginal = 0>>
-		<<set $activeSlave.skill.oral = 0>>
-		<<set $activeSlave.skill.anal = 0>>
-		<<set $activeSlave.skill.whoring = 0>>
-		<<set $activeSlave.skill.entertainment = 0>>
-		<<set $activeSlave.skill.combat = 0>>
-		<<set $activeSlave.pubicHStyle = "waxed">>
-		<<set $activeSlave.underArmHStyle = "waxed">>
-		<<set $activeSlave.heels = 1>>
-		<<set $activeSlave.fetish = "mindbroken">>
-		<<set $activeSlave.fetishStrength = 10>>
-		<<set $activeSlave.fetishKnown = 1>>
-		<<set $activeSlave.sexualFlaw = either("none")>>
-		<<set $activeSlave.behavioralFlaw = either("none")>>
-		<<set $activeSlave.sexualQuirk = either("none")>>
-		<<set $activeSlave.behavioralQuirk = either("none")>>
-		<<set $activeSlave.hStyle = "neat">>
-		<<set $activeSlave.collar = "leather with cowbell">>
-		<<set $activeSlave.brand["right thigh"] = "the logo of the Cattle Ranch">>
-		<<set $activeSlave.boobsTat = "bovine patterns">>
-		<<set $activeSlave.buttTat = "bovine patterns">>
-		<<set $activeSlave.vaginaTat = "bovine patterns">>
-		<<set $activeSlave.lipsTat = "bovine patterns">>
-		<<set $activeSlave.anusTat = "bovine patterns">>
-		<<set $activeSlave.shouldersTat = "bovine patterns">>
-		<<set $activeSlave.backTat = "bovine patterns">>
-		<<set $activeSlave.armsTat = "bovine patterns">>
-		<<set $activeSlave.legsTat = "bovine patterns">>
-		<<set $activeSlave.stampTat = "bovine patterns">>
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+	<<for _i = 0; _i < _slavesToAdd; _i++>>
+		<<set _slave = GenerateNewSlave("XX", {minAge: $fertilityAge+6, maxAge: 32, disableDisability: 1, ageOverridesPedoMode: 1})>>
+		<<set _slave.slaveName = setup.cowSlaveNames.random()>>
+		<<set _slave.slaveSurname = 0>>
+		<<set _slave.career = "a dairy cow">>
+		<<set _slave.butt = either(5, 6, 6, 7, 7, 8, 9)>>
+		<<set _slave.boobs = 30000>>
+		<<set _slave.lactation = 1>>
+		<<set _slave.lactationDuration = 2>>
+		<<set _slave.lactationAdaptation = 100>>
+		<<set _slave.origin = "$He is a prized dairy cow given to you by a failed local pasture of The Cattle Ranch.">>
+		<<set _slave.anus = 1>>
+		<<set _slave.vagina = 5>>
+		<<set _slave.vaginaLube = 2>>
+		<<set _slave.intelligence = either(-100, -100, -100, -96, -80, -70, -50)>>
+		<<set _slave.devotion = 100>>
+		<<set _slave.trust = 100>>
+		<<run setHealth(_slave, jsRandom(50, 60), 0, 0, 0)>>
+		<<set _slave.preg = random(30,39)>>
+		<<set _slave.pregType = random(3,6)>>
+		<<set _slave.pregKnown = 1>>
+		<<set _slave.pregWeek = _slave.preg>>
+		<<run SetBellySize(_slave)>>
+		<<set _slave.bellySag = 10>>
+		<<set _slave.bellySagPreg = 10>>
+		<<set _slave.hips = either(2, 2, 2, 2, 3)>>
+		<<set _slave.counter.birthsTotal = random(10,15)>>
+		<<set _slave.geneticQuirks.hyperFertility = 2>>
+		<<set _slave.weight = random(60,160)>>
+		<<set _slave.muscles = random(60,80)>>
+		<<set _slave.chem = 10>>
+		<<set _slave.skill.vaginal = 0>>
+		<<set _slave.skill.oral = 0>>
+		<<set _slave.skill.anal = 0>>
+		<<set _slave.skill.whoring = 0>>
+		<<set _slave.skill.entertainment = 0>>
+		<<set _slave.skill.combat = 0>>
+		<<set _slave.pubicHStyle = "waxed">>
+		<<set _slave.underArmHStyle = "waxed">>
+		<<set _slave.heels = 1>>
+		<<set _slave.fetish = "mindbroken">>
+		<<set _slave.fetishStrength = 10>>
+		<<set _slave.fetishKnown = 1>>
+		<<set _slave.sexualFlaw = either("none")>>
+		<<set _slave.behavioralFlaw = either("none")>>
+		<<set _slave.sexualQuirk = either("none")>>
+		<<set _slave.behavioralQuirk = either("none")>>
+		<<set _slave.hStyle = "neat">>
+		<<set _slave.collar = "leather with cowbell">>
+		<<set _slave.brand["right thigh"] = "the logo of the Cattle Ranch">>
+		<<set _slave.boobsTat = "bovine patterns">>
+		<<set _slave.buttTat = "bovine patterns">>
+		<<set _slave.vaginaTat = "bovine patterns">>
+		<<set _slave.lipsTat = "bovine patterns">>
+		<<set _slave.anusTat = "bovine patterns">>
+		<<set _slave.shouldersTat = "bovine patterns">>
+		<<set _slave.backTat = "bovine patterns">>
+		<<set _slave.armsTat = "bovine patterns">>
+		<<set _slave.legsTat = "bovine patterns">>
+		<<set _slave.stampTat = "bovine patterns">>
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 	<</for>>
 <<elseif $RESFailure == "GRI">>
-	<<set $GRI.schoolPresent = 0>>
-	<<set $GRI.subsidy = 0>>
-	<<set $GRI.schoolProsperity = 0>>
-	<<set $GRI.schoolAnnexed = 1>>
-	<<for $i = 0; $i < $slavesToAdd; $i++>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XX")>>
-		<<set $activeSlave.origin = "$He was given to you by a failed subsidiary lab of the Growth Research Institute right after $his use as a test subject ended.">>
-		<<set $activeSlave.career = "a slave">>
-		<<set $activeSlave.intelligenceImplant = 0>>
-		<<set $activeSlave.devotion = random(-15,-5)>>
-		<<set $activeSlave.trust = random(-25,-45)>>
-		<<set $activeSlave.chem = 100>>
+	<<for _i = 0; _i < _slavesToAdd; _i++>>
+		<<set _slave = GenerateNewSlave("XX", {disableDisability: 1})>>
+		<<set _slave.origin = "$He was given to you by a failed subsidiary lab of the Growth Research Institute right after $his use as a test subject ended.">>
+		<<set _slave.career = "a slave">>
+		<<set _slave.intelligenceImplant = 0>>
+		<<set _slave.devotion = random(-15,-5)>>
+		<<set _slave.trust = random(-25,-45)>>
+		<<set _slave.chem = 100>>
 		<<if $GRI.schoolUpgrade == 1>>
-			<<run setHealth($activeSlave, 200, 0, 0, 0)>>
+			<<run setHealth(_slave, 200, 0, 0, 0)>>
 		<<else>>
-			<<run setHealth($activeSlave, jsRandom(-70, 100), 0)>>
+			<<run setHealth(_slave, jsRandom(-70, 100), 0)>>
 		<</if>>
-		<<set $activeSlave.height = random(150,190)>>
-		<<set $activeSlave.butt = random(4,10)>>
+		<<set _slave.height = random(150,190)>>
+		<<set _slave.butt = random(4,10)>>
+		<<set _slave.boobs = 200 * ($GRI.schoolUpgrade == 2 ? random(15,30) : random(4,20))>>
 		<<if $GRI.schoolUpgrade == 2>>
-			<<set $activeSlave.boobs = 200*random(15,30)>>
-			<<set $activeSlave.lactation = 2>>
-			<<set $activeSlave.lactationDuration = 2>>
-		<<else>>
-			<<set $activeSlave.boobs = 200*random(4,20)>>
+			<<set _slave.lactation = _slave.lactationDuration = 2>>
 		<</if>>
-		<<set $activeSlave.nipples = either("huge", "inverted")>>
-		<<set $activeSlave.areolae = either(0, 1, 2, 3, 4)>>
-		<<set $activeSlave.clit = either(0, 1, 2, 3)>>
-		<<set $activeSlave.lips = random(5,85)>>
-		<<set $activeSlave.anus = 0>>
-		<<set $activeSlave.vagina = 0>>
-		<<set $activeSlave.preg = 0>>
-		<<set $activeSlave.weight = 0>>
-		<<set $activeSlave.skill.vaginal = 0>>
-		<<set $activeSlave.skill.oral = 0>>
-		<<set $activeSlave.skill.anal = 0>>
-		<<set $activeSlave.skill.whoring = 0>>
-		<<set $activeSlave.skill.entertainment = 0>>
-		<<set $activeSlave.skill.combat = 0>>
-		<<set $activeSlave.pubicHStyle = "waxed">>
-		<<set $activeSlave.underArmHStyle = "waxed">>
-		<<set $activeSlave.actualAge = 19>>
-		<<set $activeSlave.visualAge = $activeSlave.actualAge>>
-		<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
-		<<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
-		<<set $activeSlave.behavioralFlaw = either("odd")>>
-		<<set $activeSlave.hStyle = "shaved">>
-		<<set $activeSlave.hLength = 0>>
-		<<set $activeSlave.custom.tattoo = "$He has a barcode that identified $him when $he was a test subject at the Growth Research Institute tattooed on $his left cheek.">>
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+		<<set _slave.nipples = either("huge", "inverted")>>
+		<<set _slave.areolae = either(0, 1, 2, 3, 4)>>
+		<<set _slave.clit = either(0, 1, 2, 3)>>
+		<<set _slave.lips = random(5,85)>>
+		<<set _slave.anus = 0>>
+		<<set _slave.vagina = 0>>
+		<<set _slave.preg = 0>>
+		<<set _slave.weight = 0>>
+		<<set _slave.skill.vaginal = 0>>
+		<<set _slave.skill.oral = 0>>
+		<<set _slave.skill.anal = 0>>
+		<<set _slave.skill.whoring = 0>>
+		<<set _slave.skill.entertainment = 0>>
+		<<set _slave.skill.combat = 0>>
+		<<set _slave.pubicHStyle = "waxed">>
+		<<set _slave.underArmHStyle = "waxed">>
+		<<set _slave.actualAge = 19>>
+		<<set _slave.visualAge = _slave.actualAge>>
+		<<set _slave.physicalAge = _slave.actualAge>>
+		<<set _slave.ovaryAge = _slave.actualAge>>
+		<<set _slave.behavioralFlaw = either("odd")>>
+		<<set _slave.hStyle = "shaved">>
+		<<set _slave.hLength = 0>>
+		<<set _slave.custom.tattoo = "$He has a barcode that identified $him when $he was a test subject at the Growth Research Institute tattooed on $his left cheek.">>
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 	<</for>>
 <<elseif $RESFailure == "SCP">>
-	<<set $SCP.schoolPresent = 0>>
-	<<set $SCP.subsidy = 0>>
-	<<set $SCP.schoolProsperity = 0>>
-	<<set $SCP.schoolAnnexed = 1>>
-	<<for $i = 0; $i < $slavesToAdd; $i++>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XX")>>
-		<<set $activeSlave.origin = "$He was given to you by a failed branch campus of St. Claver Preparatory after $he served as a plastic surgeon's passing final exam.">>
-		<<set $activeSlave.chem = 20>>
-		<<set $activeSlave.career = "a slave">>
-		<<if $SCP.schoolUpgrade == 1>>
-			<<set $activeSlave.intelligenceImplant = 0>>
-			<<set $activeSlave.intelligence = -70>>
-			<<set $activeSlave.devotion = 20>>
-			<<set $activeSlave.trust = 20>>
-		<<else>>
-			<<set $activeSlave.intelligenceImplant = 15>>
-			<<set $activeSlave.teeth = "normal">>
-			<<set $activeSlave.intelligence = random(-50,50)>>
-			<<set $activeSlave.devotion = random(25,45)>>
-			<<set $activeSlave.trust = random(25,45)>>
+	<<for _i = 0; _i < _slavesToAdd; _i++>>
+		<<set _slave = GenerateNewSlave("XX", {disableDisability: 1})>>
+		<<set _slave.origin = "$He was given to you by a failed branch campus of St. Claver Preparatory after $he served as a plastic surgeon's passing final exam.">>
+		<<set _slave.chem = 20>>
+		<<set _slave.career = "a slave">>
+		<<set _slave.intelligenceImplant = ($SCP.schoolUpgrade == 1 ? 0 : 15)>>
+		<<set _slave.intelligence = ($SCP.schoolUpgrade == 1 ? -70 : random(-50, 50))>>
+		<<set _slave.devotion = _slave.trust = ($SCP.schoolUpgrade == 1 ? 20 : random(25, 45))>>
+		<<if $SCP.schoolUpgrade !== 1>>
+			<<set _slave.teeth = "normal">>
 		<</if>>
-		<<run setHealth($activeSlave, 100, 0, 0, 0)>>
-		<<set $activeSlave.heightImplant = 1>>
-		<<set $activeSlave.height += 10>>
-		<<set $activeSlave.buttImplant = (4-$activeSlave.butt)>>
-		<<set $activeSlave.butt += $activeSlave.buttImplant>>
-		<<set $activeSlave.boobsImplantType = "normal">>
-		<<set $activeSlave.boobsImplant = (2000-$activeSlave.boobs)>>
-		<<set $activeSlave.boobs += $activeSlave.boobsImplant>>
-		<<set $activeSlave.boobsImplantType = "fillable">>
-		<<set $activeSlave.nipples = "tiny">>
-		<<set $activeSlave.areolae = 0>>
-		<<set $activeSlave.clit = 0>>
-		<<set $activeSlave.lipsImplant = (75-$activeSlave.lips)>>
-		<<set $activeSlave.lips += $activeSlave.lipsImplant>>
-		<<set $activeSlave.faceImplant = 35>>
-		<<set $activeSlave.face = random(35,80)>>
-		<<set $activeSlave.anus = 0>>
-		<<set $activeSlave.vagina = 0>>
-		<<set $activeSlave.preg = 0>>
-		<<set $activeSlave.weight = -20>>
-		<<if $SCP.schoolUpgrade == 2>>
-			<<set $activeSlave.skill.vaginal = 15>>
-			<<set $activeSlave.skill.oral = 15>>
-			<<set $activeSlave.skill.anal = 15>>
-			<<set $activeSlave.skill.whoring = 15>>
-			<<set $activeSlave.skill.entertainment = 15>>
-		<<else>>
-			<<set $activeSlave.skill.vaginal = 0>>
-			<<set $activeSlave.skill.oral = 0>>
-			<<set $activeSlave.skill.anal = 0>>
-			<<set $activeSlave.skill.whoring = 0>>
-			<<set $activeSlave.skill.entertainment = 0>>
-		<</if>>
-		<<set $activeSlave.skill.combat = 0>>
-		<<set $activeSlave.pubicHStyle = "waxed">>
-		<<set $activeSlave.underArmHStyle = "waxed">>
-		<<set $activeSlave.actualAge = 19>>
-		<<set $activeSlave.visualAge = $activeSlave.actualAge>>
-		<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
-		<<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
-		<<set $activeSlave.sexualFlaw = either("none")>>
-		<<set $activeSlave.behavioralFlaw = either("none")>>
-		<<set $activeSlave.hStyle = "tails">>
-		<<set $activeSlave.hColor = "blonde">>
-		<<set $activeSlave.pubicHColor = "blonde">>
-		<<set $activeSlave.underArmHColor = "blonde">>
-		<<set $activeSlave.race = "white">>
-		<<set $activeSlave.skin = "sun tanned">>
-		<<set $activeSlave.override_H_Color = 1>>
-		<<set $activeSlave.override_Arm_H_Color = 1>>
-		<<set $activeSlave.override_Pubic_H_Color = 1>>
-		<<set $activeSlave.override_Race = 1>>
-		<<set $activeSlave.override_Skin = 1>>
-		<<set $activeSlave.custom.tattoo = "$He has the coat of arms of St. Claver Preparatory tattooed on $his left cheek.">>
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+		<<run setHealth(_slave, 100, 0, 0, 0)>>
+		<<set _slave.heightImplant = 1>>
+		<<set _slave.height += 10>>
+		<<set _slave.buttImplant = (4-_slave.butt)>>
+		<<set _slave.butt += _slave.buttImplant>>
+		<<set _slave.boobsImplantType = "normal">>
+		<<set _slave.boobsImplant = (2000-_slave.boobs)>>
+		<<set _slave.boobs += _slave.boobsImplant>>
+		<<set _slave.boobsImplantType = "fillable">>
+		<<set _slave.nipples = "tiny">>
+		<<set _slave.areolae = 0>>
+		<<set _slave.clit = 0>>
+		<<set _slave.lipsImplant = (75-_slave.lips)>>
+		<<set _slave.lips += _slave.lipsImplant>>
+		<<set _slave.faceImplant = 35>>
+		<<set _slave.face = random(35,80)>>
+		<<set _slave.anus = 0>>
+		<<set _slave.vagina = 0>>
+		<<set _slave.preg = 0>>
+		<<set _slave.weight = -20>>
+		<<set _slave.skill.vaginal = ($SCP.schoolUpgrade == 2 ? 15 : 0)>>
+		<<set _slave.skill.oral = ($SCP.schoolUpgrade == 2 ? 15 : 0)>>
+		<<set _slave.skill.anal = ($SCP.schoolUpgrade == 2 ? 15 : 0)>>
+		<<set _slave.skill.whoring = ($SCP.schoolUpgrade == 2 ? 15 : 0)>>
+		<<set _slave.skill.entertainment = ($SCP.schoolUpgrade == 2 ? 15 : 0)>>
+		<<set _slave.skill.combat = 0>>
+		<<set _slave.pubicHStyle = "waxed">>
+		<<set _slave.underArmHStyle = "waxed">>
+		<<set _slave.actualAge = 19>>
+		<<set _slave.visualAge = _slave.actualAge>>
+		<<set _slave.physicalAge = _slave.actualAge>>
+		<<set _slave.ovaryAge = _slave.actualAge>>
+		<<set _slave.sexualFlaw = either("none")>>
+		<<set _slave.behavioralFlaw = either("none")>>
+		<<set _slave.hStyle = "tails">>
+		<<set _slave.hColor = "blonde">>
+		<<set _slave.pubicHColor = "blonde">>
+		<<set _slave.underArmHColor = "blonde">>
+		<<set _slave.race = "white">>
+		<<set _slave.skin = "sun tanned">>
+		<<set _slave.override_H_Color = 1>>
+		<<set _slave.override_Arm_H_Color = 1>>
+		<<set _slave.override_Pubic_H_Color = 1>>
+		<<set _slave.override_Race = 1>>
+		<<set _slave.override_Skin = 1>>
+		<<set _slave.custom.tattoo = "$He has the coat of arms of St. Claver Preparatory tattooed on $his left cheek.">>
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 	<</for>>
 <<elseif $RESFailure == "LDE">>
-	<<set $LDE.schoolPresent = 0>>
-	<<set $LDE.subsidy = 0>>
-	<<set $LDE.schoolProsperity = 0>>
-	<<set $LDE.schoolAnnexed = 1>>
-	<<for $i = 0; $i < $slavesToAdd; $i++>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XY")>>
-		<<set $activeSlave.origin = "$He was given to you by a failed branch campus of the innovative École des Enculées right after $his graduation.">>
-		<<set $activeSlave.career = "a slave">>
-		<<set $activeSlave.intelligenceImplant = 0>>
-		<<set $activeSlave.chem = 100>>
-		<<if $LDE.schoolUpgrade == 1>>
-			<<set $activeSlave.devotion = 20>>
-			<<set $activeSlave.trust = 20>>
-		<<else>>
-			<<set $activeSlave.devotion = random(60,70)>>
-			<<set $activeSlave.trust = random(55,60)>>
-		<</if>>
-		<<run setHealth($activeSlave, jsRandom(60, 80), 0, 0, 0)>>
-		<<set $activeSlave.muscles = 0>>
+	<<for _i = 0; _i < _slavesToAdd; _i++>>
+		<<set _slave = GenerateNewSlave("XY", {disableDisability: 1})>>
+		<<set _slave.origin = "$He was given to you by a failed branch campus of the innovative École des Enculées right after $his graduation.">>
+		<<set _slave.career = "a slave">>
+		<<set _slave.intelligenceImplant = 0>>
+		<<set _slave.chem = 100>>
+		<<set _slave.devotion = ($LDE.schoolUpgrade == 1 ? 20 : random(60,70))>>
+		<<set _slave.trust = ($LDE.schoolUpgrade == 1 ? 20 : random(55,60))>>
+		<<run setHealth(_slave, jsRandom(60, 80), 0, 0, 0)>>
+		<<set _slave.muscles = 0>>
 		<<if random(1,100) > 75>>
-			<<set $activeSlave.geneticQuirks.rearLipedema = 2>>
-			<<set $activeSlave.butt = random(6,16)>>
+			<<set _slave.geneticQuirks.rearLipedema = 2>>
+			<<set _slave.butt = random(6,16)>>
 		<<else>>
-			<<set $activeSlave.butt = random(4,5)>>
+			<<set _slave.butt = random(4,5)>>
 		<</if>>
-		<<set $activeSlave.face = random(20,60)>>
-		<<set $activeSlave.boobs = either(500,650,800)>>
-		<<set $activeSlave.waist = -15>>
-		<<set $activeSlave.lips = 35>>
-		<<if $LDE.schoolUpgrade == 2>>
-			<<set $activeSlave.balls = either(3,4)>>
-			<<set $activeSlave.dick = either(3,4)>>
-			<<if $activeSlave.foreskin > 0>><<set $activeSlave.foreskin = $activeSlave.dick>><</if>>
-			<<if $activeSlave.balls > 0>><<set $activeSlave.scrotum = $activeSlave.balls>><</if>>
-		<<else>>
-			<<set $activeSlave.dick = either(1,1,1,2)>>
-			<<if $activeSlave.foreskin > 0>><<set $activeSlave.foreskin = $activeSlave.dick>><</if>>
-			<<if $activeSlave.balls > 0>><<set $activeSlave.scrotum = $activeSlave.balls>><</if>>
-			<<set $activeSlave.balls = either(1,1,1,2)>>
-		<</if>>
-		<<set $activeSlave.anus = 2>>
-		<<set $activeSlave.vagina = -1>>
-		<<set $activeSlave.preg = 0>>
-		<<set $activeSlave.weight = random(0,20)>>
-		<<set $activeSlave.skill.vaginal = 0>>
-		<<set $activeSlave.skill.oral = 15>>
-		<<set $activeSlave.skill.anal = 100>>
-		<<set $activeSlave.skill.whoring = 15>>
-		<<set $activeSlave.skill.entertainment = 15>>
-		<<set $activeSlave.skill.combat = 0>>
-		<<set $activeSlave.pubicHStyle = "waxed">>
-		<<set $activeSlave.underArmHStyle = "waxed">>
-		<<set $activeSlave.actualAge = 19>>
-		<<set $activeSlave.visualAge = $activeSlave.actualAge>>
-		<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
-		<<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
-		<<set $activeSlave.sexualFlaw = "none">>
-		<<set $activeSlave.behavioralFlaw = either("none", "odd")>>
-		<<set $activeSlave.fetishStrength = either(1, 2)>>
-		<<set $activeSlave.fetish = "buttslut">>
-		<<set $activeSlave.fetishKnown = 1>><<set $activeSlave.attrKnown = 1>>
-		<<set $activeSlave.hStyle = "tails">>
-		<<set $activeSlave.hLength = 100>>
-		<<set $activeSlave.custom.tattoo = "$He has the buttock-shaped symbol of the École des Enculées that created $his tattooed on $his left cheek.">>
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+		<<set _slave.face = random(20,60)>>
+		<<set _slave.boobs = either(500,650,800)>>
+		<<set _slave.waist = -15>>
+		<<set _slave.lips = 35>>
+		<<set _slave.balls = ($LDE.schoolUpgrade == 2 ? either(3,4) : either(1,1,1,2))>>
+		<<set _slave.dick = ($LDE.schoolUpgrade == 2 ? either(3,4) : either(1,1,1,2))>>
+		<<if _slave.foreskin > 0>><<set _slave.foreskin = _slave.dick>><</if>>
+		<<if _slave.balls > 0>><<set _slave.scrotum = _slave.balls>><</if>>
+		<<set _slave.anus = 2>>
+		<<set _slave.vagina = -1>>
+		<<set _slave.preg = 0>>
+		<<set _slave.weight = random(0,20)>>
+		<<set _slave.skill.vaginal = 0>>
+		<<set _slave.skill.oral = 15>>
+		<<set _slave.skill.anal = 100>>
+		<<set _slave.skill.whoring = 15>>
+		<<set _slave.skill.entertainment = 15>>
+		<<set _slave.skill.combat = 0>>
+		<<set _slave.pubicHStyle = "waxed">>
+		<<set _slave.underArmHStyle = "waxed">>
+		<<set _slave.actualAge = 19>>
+		<<set _slave.visualAge = _slave.actualAge>>
+		<<set _slave.physicalAge = _slave.actualAge>>
+		<<set _slave.ovaryAge = _slave.actualAge>>
+		<<set _slave.sexualFlaw = "none">>
+		<<set _slave.behavioralFlaw = either("none", "odd")>>
+		<<set _slave.fetishStrength = either(1, 2)>>
+		<<set _slave.fetish = "buttslut">>
+		<<set _slave.fetishKnown = 1>>
+		<<set _slave.attrKnown = 1>>
+		<<set _slave.hStyle = "tails">>
+		<<set _slave.hLength = 100>>
+		<<set _slave.custom.tattoo = "$He has the buttock-shaped symbol of the École des Enculées that created $his tattooed on $his left cheek.">>
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 	<</for>>
 <<elseif $RESFailure == "NUL">>
-	<<set $NUL.schoolPresent = 0>>
-	<<set $NUL.subsidy = 0>>
-	<<set $NUL.schoolProsperity = 0>>
-	<<set $NUL.schoolAnnexed = 1>>
-	<<for $i = 0; $i < $slavesToAdd; $i++>>
-		<<set $activeSlaveOneTimeMinAge = 16>>
-		<<set $activeSlaveOneTimeMaxAge = 24>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave()>>
-		<<set $activeSlave.origin = "$He was given to you by a failed branch campus of Nueva Universidad de Libertad right after $his graduation.">>
-		<<set $activeSlave.career = "a slave">>
-		<<run setHealth($activeSlave, jsRandom(60, 80), 0, 0, 0)>>
-		<<set $activeSlave.devotion = random(60,75)>>
-		<<set $activeSlave.trust = random(60,75)>>
-		<<set $activeSlave.intelligenceImplant = 30>>
-		<<if $NUL.schoolUpgrade == 1>>
-			<<set $activeSlave.intelligence = random(50, 70)>>
-			<<set $activeSlave.skill.whoring = random(70, 80)>>
-			<<set $activeSlave.skill.entertainment = random(70, 80)>>
-		<<else>>
-			<<set $activeSlave.intelligence = random(20, 50)>>
-			<<set $activeSlave.skill.whoring = random(40, 50)>>
-			<<set $activeSlave.skill.entertainment = random(40, 50)>>
-		<</if>>
-		<<if $NUL.schoolUpgrade == 2>>
-			<<set $activeSlave.skill.anal = random(60, 80)>>
-			<<set $activeSlave.skill.oral = random(70, 90)>>
-			<<set $activeSlave.anus = random(1, 3)>>
-		<<else>>
-			<<set $activeSlave.skill.anal = random(10, 30)>>
-			<<set $activeSlave.skill.oral = random(20, 40)>>
-			<<set $activeSlave.anus = either(0, 0, 0, 0, 1, 1, 1)>>
-		<</if>>
-		<<set $activeSlave.muscles = 0>>
-		<<set $activeSlave.face = random(15,55)>>
-		<<set $activeSlave.faceShape = "androgynous">>
-		<<set $activeSlave.boobs = 50>>
-		<<set $activeSlave.butt = 0>>
-		<<set $activeSlave.vagina = -1>>
-		<<set $activeSlave.clit = 0>>
-		<<set $activeSlave.dick = 0>>
-		<<set $activeSlave.balls = 0>>
-		<<set $activeSlave.preg = 0>>
-		<<set $activeSlave.eyebrowHStyle = "bald">>
-		<<set $activeSlave.underArmHStyle = "bald">>
-		<<set $activeSlave.pubicHStyle = "bald">>
-		<<set $activeSlave.hStyle = "bald">>
-		<<set $activeSlave.custom.tattoo = "$He has the abstract symbol of Nueva Universidad de Libertad tattooed on $his left shoulder.">>
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+	<<for _i = 0; _i < _slavesToAdd; _i++>>
+		<<set _slave = GenerateNewSlave("", {minAge: 16, maxAge: 24, disableDisability: 1})>>
+		<<set _slave.origin = "$He was given to you by a failed branch campus of Nueva Universidad de Libertad right after $his graduation.">>
+		<<set _slave.career = "a slave">>
+		<<run setHealth(_slave, jsRandom(60, 80), 0, 0, 0)>>
+		<<set _slave.devotion = random(60,75)>>
+		<<set _slave.trust = random(60,75)>>
+		<<set _slave.intelligenceImplant = 30>>
+		<<set _slave.intelligence = ($NUL.schoolUpgrade == 1 ? random(50, 70) : random(20, 50))>>
+		<<set _slave.skill.whoring = ($NUL.schoolUpgrade == 1 ? random(70, 80) : random(40, 50))>>
+		<<set _slave.skill.entertainment = ($NUL.schoolUpgrade == 1 ? random(70, 80) : random(40, 50))>>
+		<<set _slave.skill.anal = ($NUL.schoolUpgrade == 2 ? random(60, 80) : random(10, 30))>>
+		<<set _slave.skill.oral = ($NUL.schoolUpgrade == 2 ? random(70, 90) : random(20, 40))>>
+		<<set _slave.anus = ($NUL.schoolUpgrade == 2 ? random(1, 3) : either(0, 0, 0, 0, 1, 1, 1))>>
+		<<set _slave.muscles = 0>>
+		<<set _slave.face = random(15,55)>>
+		<<set _slave.faceShape = "androgynous">>
+		<<set _slave.boobs = 50>>
+		<<set _slave.butt = 0>>
+		<<set _slave.vagina = -1>>
+		<<set _slave.clit = 0>>
+		<<set _slave.dick = 0>>
+		<<set _slave.balls = 0>>
+		<<set _slave.preg = 0>>
+		<<set _slave.eyebrowHStyle = "bald">>
+		<<set _slave.underArmHStyle = "bald">>
+		<<set _slave.pubicHStyle = "bald">>
+		<<set _slave.hStyle = "bald">>
+		<<set _slave.custom.tattoo = "$He has the abstract symbol of Nueva Universidad de Libertad tattooed on $his left shoulder.">>
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 	<</for>>
 <<elseif $RESFailure == "TGA">>
-	<<set $TGA.schoolPresent = 0>>
-	<<set $TGA.subsidy = 0>>
-	<<set $TGA.schoolProsperity = 0>>
-	<<set $TGA.schoolAnnexed = 1>>
-	<<for $i = 0; $i < $slavesToAdd; $i++>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XY")>>
-		<<set $activeSlave.origin = "$He was given to you by a failed branch campus of the intense Gymnasium-Academy right after $his majority.">>
-		<<set $activeSlave.career = "a slave">>
-		<<set $activeSlave.intelligenceImplant = 15>>
-		<<set $activeSlave.teeth = "normal">>
-		<<set $activeSlave.intelligence = random(-50,95)>>
-		<<set $activeSlave.chem = 20>>
-		<<if $TGA.schoolUpgrade == 1>>
-			<<set $activeSlave.devotion = 20>>
-			<<set $activeSlave.trust = 20>>
-		<<else>>
-			<<set $activeSlave.devotion = random(25,45)>>
-			<<set $activeSlave.trust = random(25,45)>>
-		<</if>>
-		<<run setHealth($activeSlave, 100, 0, 0, 0)>>
-		<<set $activeSlave.muscles = either(20, 50, 50)>>
-		<<set $activeSlave.butt = either(2, 2, 3)>>
-		<<set $activeSlave.boobs = either(100, 200)>>
-		<<set $activeSlave.dick = random(3,5)>>
-		<<if $activeSlave.foreskin > 0>><<set $activeSlave.foreskin = $activeSlave.dick>><</if>>
-		<<if $activeSlave.balls > 0>><<set $activeSlave.scrotum = $activeSlave.balls>><</if>>
-		<<set $activeSlave.balls = random(3,5)>>
-		<<set $activeSlave.anus = 0>>
-		<<set $activeSlave.vagina = -1>>
-		<<set $activeSlave.preg = 0>>
-		<<set $activeSlave.weight = 0>>
-		<<set $activeSlave.skill.vaginal = 0>>
-		<<set $activeSlave.skill.oral = 0>>
-		<<set $activeSlave.skill.anal = 0>>
-		<<set $activeSlave.skill.whoring = 0>>
-		<<set $activeSlave.skill.entertainment = 0>>
-		<<if $TGA.schoolUpgrade == 2>>
-			<<set $activeSlave.skill.combat = 1>>
-		<<else>>
-			<<set $activeSlave.skill.combat = 0>>
-		<</if>>
-		<<set $activeSlave.pubicHStyle = "waxed">>
-		<<set $activeSlave.underArmHStyle = "waxed">>
-		<<set $activeSlave.actualAge = 18>>
-		<<set $activeSlave.visualAge = $activeSlave.actualAge>>
-		<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
-		<<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
-		<<set $activeSlave.sexualFlaw = either("apathetic", "none")>>
-		<<set $activeSlave.behavioralFlaw = either("arrogant", "none", "odd")>>
-		<<set $activeSlave.hStyle = "short">>
-		<<set $activeSlave.hLength = 2>>
-		<<set $activeSlave.brand["left cheek"] = "the baroque crest of the Gymnasium-Academy that trained $him">>
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+	<<for _i = 0; _i < _slavesToAdd; _i++>>
+		<<set _slave = GenerateNewSlave("XY", {disableDisability: 1})>>
+		<<set _slave.origin = "$He was given to you by a failed branch campus of the intense Gymnasium-Academy right after $his majority.">>
+		<<set _slave.career = "a slave">>
+		<<set _slave.intelligenceImplant = 15>>
+		<<set _slave.teeth = "normal">>
+		<<set _slave.intelligence = random(-50,95)>>
+		<<set _slave.chem = 20>>
+		<<set _slave.devotion = ($TGA.schoolUpgrade == 1 ? 20 : random(25,45))>>
+		<<set _slave.trust = ($TGA.schoolUpgrade == 1 ? 20 : random(25,45))>>
+		<<run setHealth(_slave, 100, 0, 0, 0)>>
+		<<set _slave.muscles = either(20, 50, 50)>>
+		<<set _slave.butt = either(2, 2, 3)>>
+		<<set _slave.boobs = either(100, 200)>>
+		<<set _slave.dick = random(3,5)>>
+		<<if _slave.foreskin > 0>><<set _slave.foreskin = _slave.dick>><</if>>
+		<<if _slave.balls > 0>><<set _slave.scrotum = _slave.balls>><</if>>
+		<<set _slave.balls = random(3,5)>>
+		<<set _slave.anus = 0>>
+		<<set _slave.vagina = -1>>
+		<<set _slave.preg = 0>>
+		<<set _slave.weight = 0>>
+		<<set _slave.skill.vaginal = 0>>
+		<<set _slave.skill.oral = 0>>
+		<<set _slave.skill.anal = 0>>
+		<<set _slave.skill.whoring = 0>>
+		<<set _slave.skill.entertainment = 0>>
+		<<set _slave.skill.combat = ($TGA.schoolUpgrade == 2 ? 1 : 0)>>
+		<<set _slave.pubicHStyle = "waxed">>
+		<<set _slave.underArmHStyle = "waxed">>
+		<<set _slave.actualAge = 18>>
+		<<set _slave.visualAge = _slave.actualAge>>
+		<<set _slave.physicalAge = _slave.actualAge>>
+		<<set _slave.ovaryAge = _slave.actualAge>>
+		<<set _slave.sexualFlaw = either("apathetic", "none")>>
+		<<set _slave.behavioralFlaw = either("arrogant", "none", "odd")>>
+		<<set _slave.hStyle = "short">>
+		<<set _slave.hLength = 2>>
+		<<set _slave.brand["left cheek"] = "the baroque crest of the Gymnasium-Academy that trained $him">>
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 	<</for>>
 <<elseif $RESFailure == "HA">>
-	<<set $HA.schoolPresent = 0>>
-	<<set $HA.subsidy = 0>>
-	<<set $HA.schoolProsperity = 0>>
-	<<set $HA.schoolAnnexed = 1>>
-	<<for $i = 0; $i < $slavesToAdd; $i++>>
-		<<set $oneTimeDisableDisability = 1>>
-		<<set $activeSlave = GenerateNewSlave("XX")>>
-		<<set $activeSlave.origin = "$He was given to you by a failed branch campus of the Hippolyta Academy right after $his majority.">>
-		<<set $activeSlave.career = "a slave">>
-		<<set $activeSlave.intelligenceImplant = 15>>
-		<<set $activeSlave.teeth = "normal">>
-		<<set $activeSlave.intelligence = random(0,95)>>
-		<<set $activeSlave.chem = 20>>
-		<<if $HA.schoolUpgrade == 1>>
-			<<set $activeSlave.devotion = 20>>
-			<<set $activeSlave.trust = 20>>
-		<<else>>
-			<<set $activeSlave.devotion = random(25,45)>>
-			<<set $activeSlave.trust = random(25,45)>>
-		<</if>>
-		<<set $activeSlave.faceShape = either("cute", "normal")>>
-		<<set $activeSlave.face = either(20,20,35,35,35,50,75,100)>>
-		<<set $activeSlave.lips = either(0,10,25)>>
-		<<set $activeSlave.weight = -10>>
-		<<run setHealth($activeSlave, jsRandom(80, 100), 0, 0, 0)>>
-		<<set $activeSlave.actualAge = 18>>
-		<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
-		<<set $activeSlave.visualAge = $activeSlave.actualAge>>
-		<<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
-		<<set $activeSlave.hips = 0>>
-		<<set $activeSlave.vagina = random(0,1)>>
-		<<set $activeSlave.anus = random(0,1)>>
-		<<set $activeSlave.butt = random(2,4)>>
-		<<set $activeSlave.boobs = (random(30,60) * 10)>>
-		<<set $activeSlave.preg = 0>>
-		<<run SetBellySize($activeSlave)>>
-		<<run setHealth($activeSlave, jsRandom(60, 80), 0, 0, 0)>>
-		<<set $activeSlave.muscles = random(40,60)>>
+	<<for _i = 0; _i < _slavesToAdd; _i++>>
+		<<set _slave = GenerateNewSlave("XX", {disableDisability: 1})>>
+		<<set _slave.origin = "$He was given to you by a failed branch campus of the Hippolyta Academy right after $his majority.">>
+		<<set _slave.career = "a slave">>
+		<<set _slave.intelligenceImplant = 15>>
+		<<set _slave.teeth = "normal">>
+		<<set _slave.intelligence = random(0,95)>>
+		<<set _slave.chem = 20>>
+		<<set _slave.devotion = ($HA.schoolUpgrade == 1 ? 20 : random(25,45))>>
+		<<set _slave.trust = ($HA.schoolUpgrade == 1 ? 20 : random(25,45))>>
+		<<set _slave.faceShape = either("cute", "normal")>>
+		<<set _slave.face = either(20,20,35,35,35,50,75,100)>>
+		<<set _slave.lips = either(0,10,25)>>
+		<<set _slave.weight = -10>>
+		<<run setHealth(_slave, jsRandom(80, 100), 0, 0, 0)>>
+		<<set _slave.actualAge = 18>>
+		<<set _slave.physicalAge = _slave.actualAge>>
+		<<set _slave.visualAge = _slave.actualAge>>
+		<<set _slave.ovaryAge = _slave.actualAge>>
+		<<set _slave.hips = 0>>
+		<<set _slave.vagina = random(0,1)>>
+		<<set _slave.anus = random(0,1)>>
+		<<set _slave.butt = random(2,4)>>
+		<<set _slave.boobs = (random(30,60) * 10)>>
+		<<set _slave.preg = 0>>
+		<<run SetBellySize(_slave)>>
+		<<run setHealth(_slave, jsRandom(60, 80), 0, 0, 0)>>
+		<<set _slave.muscles = random(40,60)>>
 		<<set _minHeight = random(170,180)>>
-		<<set $activeSlave.height = Math.trunc(Math.clamp(Height.random($activeSlave, {limitMult: [2, 15], spread: .1}),_minHeight, 274))>>
-		<<set $activeSlave.waist = -15>>
-		<<set $activeSlave.shoulders = 0>>
-		<<set $activeSlave.skill.vaginal = 10>>
-		<<set $activeSlave.skill.oral = 10>>
-		<<set $activeSlave.skill.anal = 10>>
-		<<set $activeSlave.skill.whoring = 10>>
-		<<set $activeSlave.skill.entertainment = either(10,10,30)>>
-		<<set $activeSlave.skill.combat = 1>>
-		<<set $activeSlave.sexualFlaw = either("apathetic", "judgemental", "none", "none")>>
-		<<set $activeSlave.behavioralFlaw = either("arrogant", "none")>>
-		<<set $activeSlave.pubicHStyle = "waxed">>
-		<<set $activeSlave.underArmHStyle = "waxed">>
-		<<set $activeSlave.hStyle = either("braided", "bun", "neat", "ponytail", "tails")>>
-		<<set $activeSlave.hLength = random(5,50)>>
-		<<set $activeSlave.custom.tattoo = "$He has the sword and eagle symbol of the Hippolyta Academy tattooed on $his left shoulder.">>
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+		<<set _slave.height = Math.trunc(Math.clamp(Height.random(_slave, {limitMult: [2, 15], spread: .1}),_minHeight, 274))>>
+		<<set _slave.waist = -15>>
+		<<set _slave.shoulders = 0>>
+		<<set _slave.skill.vaginal = 10>>
+		<<set _slave.skill.oral = 10>>
+		<<set _slave.skill.anal = 10>>
+		<<set _slave.skill.whoring = 10>>
+		<<set _slave.skill.entertainment = either(10,10,30)>>
+		<<set _slave.skill.combat = 1>>
+		<<set _slave.sexualFlaw = either("apathetic", "judgemental", "none", "none")>>
+		<<set _slave.behavioralFlaw = either("arrogant", "none")>>
+		<<set _slave.pubicHStyle = "waxed">>
+		<<set _slave.underArmHStyle = "waxed">>
+		<<set _slave.hStyle = either("braided", "bun", "neat", "ponytail", "tails")>>
+		<<set _slave.hLength = random(5,50)>>
+		<<set _slave.custom.tattoo = "$He has the sword and eagle symbol of the Hippolyta Academy tattooed on $his left shoulder.">>
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 	<</for>>
 <<elseif $RESFailure == "TFS">>
-	<<set $TFS.schoolPresent = 0>>
-	<<set $TFS.subsidy = 0>>
-	<<set $TFS.schoolProsperity = 0>>
-	<<set $TFS.schoolAnnexed = 1>>
-	<<for $i = 0; $i < $slavesToAdd-1; $i++>>
+	<<for _i = 0; _i < _slavesToAdd-1; _i++>>
 		<<set _slaveGenRange = random(1,4)>>
-		<<set $oneTimeDisableDisability = 1>>
 		<<if $TFS.schoolUpgrade == 3 && $TFS.compromiseWeek+15 <= $week>>
-			<<set $activeSlave = GenerateNewSlave()>>
+			<<set _slave = GenerateNewSlave("", {disableDisability: 1})>>
 		<<else>>
-			<<set $activeSlave = GenerateNewSlave("XY")>>
+			<<set _slave = GenerateNewSlave("XY", {disableDisability: 1})>>
 		<</if>>
-		<<set $activeSlave.origin = "$He was a Futanari Sister until you engineered $his early enslavement.">>
-		<<set $activeSlave.career = "a Futanari Sister">>
-		<<set $activeSlave.faceShape = either("exotic", "sensual")>>
+		<<set _slave.origin = "$He was a Futanari Sister until you engineered $his early enslavement.">>
+		<<set _slave.career = "a Futanari Sister">>
+		<<set _slave.faceShape = either("exotic", "sensual")>>
 		<<if _slaveGenRange == 1>>
-			<<set $activeSlave.intelligence = random(-50,-20)>>
-			<<set $activeSlave.chem = 150>>
-			<<set $activeSlave.butt = either(5,6)>>
-			<<set $activeSlave.hips = 1>>
-			<<set $activeSlave.face = either(35,35,35,75,100)>>
-			<<set $activeSlave.boobs = 100*random(12,20)>>
-			<<set $activeSlave.dick = random(2,3)>>
-			<<if $activeSlave.foreskin > 0>> <<set $activeSlave.foreskin = $activeSlave.dick>> <</if>>
+			<<set _slave.intelligence = random(-50,-20)>>
+			<<set _slave.chem = 150>>
+			<<set _slave.butt = either(5,6)>>
+			<<set _slave.hips = 1>>
+			<<set _slave.face = either(35,35,35,75,100)>>
+			<<set _slave.boobs = 100*random(12,20)>>
+			<<set _slave.dick = random(2,3)>>
 			<<if $TFS.schoolUpgrade == 3 && $TFS.compromiseWeek+15 <= $week>>
-				<<if $activeSlave.genes == "XY">>
-					<<set $activeSlave.balls = random(8,9), $activeSlave.scrotum = $activeSlave.balls>>
+				<<if _slave.genes == "XY">>
+					<<set _slave.balls = _slave.scrotum = random(8,9)>>
 				<<else>>
-					<<set $activeSlave.balls = 1>>
-					<<set $activeSlave.scrotum = 0>>
+					<<set _slave.balls = 1>>
+					<<set _slave.scrotum = 0>>
 				<</if>>
 			<<elseif $TFS.schoolUpgrade == 1>>
-				<<set $activeSlave.balls = 1>>
-				<<set $activeSlave.scrotum = 0>>
+				<<set _slave.balls = 1>>
+				<<set _slave.scrotum = 0>>
 			<<elseif $TFS.schoolUpgrade == 2>>
-				<<set $activeSlave.balls = random(8,9), $activeSlave.scrotum = $activeSlave.balls>>
+				<<set _slave.balls = _slave.scrotum = random(8,9)>>
 			<<else>>
-				<<set $activeSlave.balls = random(2,3)>>
-				<<set $activeSlave.scrotum = $activeSlave.balls>>
+				<<set _slave.balls = _slave.scrotum = random(2,3)>>
 			<</if>>
-			<<set $activeSlave.lips = 0>>
-			<<set $activeSlave.weight = 0>>
-			<<set $activeSlave.actualAge = random(25,29)>>
-			<<set $activeSlave.visualAge = $activeSlave.actualAge>>
-			<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
-			<<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
-			<<set $activeSlave.vagina = 2>>
-			<<set $activeSlave.anus = 2>>
-			<<set $activeSlave.fetish = "submissive">>
+			<<set _slave.lips = 0>>
+			<<set _slave.weight = 0>>
+			<<set _slave.actualAge = random(25,29)>>
+			<<set _slave.visualAge = _slave.actualAge>>
+			<<set _slave.physicalAge = _slave.actualAge>>
+			<<set _slave.ovaryAge = _slave.actualAge>>
+			<<set _slave.vagina = 2>>
+			<<set _slave.anus = 2>>
+			<<set _slave.fetish = "submissive">>
 		<<elseif _slaveGenRange == 2>>
-			<<set $activeSlave.intelligence = random(-15,15)>>
-			<<set $activeSlave.chem = 200>>
-			<<set $activeSlave.butt = either(6,7)>>
-			<<set $activeSlave.hips = 2>>
-			<<set $activeSlave.face = either(35,35,75,75,100)>>
-			<<set $activeSlave.boobs = 100*random(20,32)>>
-			<<set $activeSlave.dick = random(3,4)>>
-			<<if $activeSlave.foreskin > 0>><<set $activeSlave.foreskin = $activeSlave.dick>><</if>>
+			<<set _slave.intelligence = random(-15,15)>>
+			<<set _slave.chem = 200>>
+			<<set _slave.butt = either(6,7)>>
+			<<set _slave.hips = 2>>
+			<<set _slave.face = either(35,35,75,75,100)>>
+			<<set _slave.boobs = 100*random(20,32)>>
+			<<set _slave.dick = random(3,4)>>
 			<<if $TFS.schoolUpgrade == 3 && $TFS.compromiseWeek+15 <= $week>>
-				<<if $activeSlave.genes == "XY">>
-					<<set $activeSlave.balls = random(9,10), $activeSlave.scrotum = $activeSlave.balls>>
+				<<if _slave.genes == "XY">>
+					<<set _slave.balls = _slave.scrotum = random(9,10)>>
 				<<else>>
-					<<set $activeSlave.balls = 1>>
-					<<set $activeSlave.scrotum = 0>>
+					<<set _slave.balls = 1>>
+					<<set _slave.scrotum = 0>>
 				<</if>>
 			<<elseif $TFS.schoolUpgrade == 1>>
-				<<set $activeSlave.balls = 1>>
-				<<set $activeSlave.scrotum = 0>>
-			<<elseif $TFS.schoolUpgrade == 2>>
-				<<set $activeSlave.balls = random(9,10), $activeSlave.scrotum = $activeSlave.balls>>
+				<<set _slave.balls = 1>>
+				<<set _slave.scrotum = 0>>
 			<<else>>
-				<<set $activeSlave.balls = random(3,4)>>
-				<<set $activeSlave.scrotum = $activeSlave.balls>>
+				<<set _slave.balls = _slave.scrotum = ($TFS.schoolUpgrade == 2 ? random(9,10) : random(3,4))>>
 			<</if>>
-			<<set $activeSlave.lips = random(15,25)>>
-			<<set $activeSlave.weight = 20>>
-			<<set $activeSlave.actualAge = random(30,34)>>
-			<<set $activeSlave.visualAge = $activeSlave.actualAge>>
-			<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
-			<<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
-			<<set $activeSlave.vagina = 2>>
-			<<set $activeSlave.anus = 2>>
-			<<set $activeSlave.fetish = either("buttslut", "cumslut")>>
+			<<set _slave.lips = random(15,25)>>
+			<<set _slave.weight = 20>>
+			<<set _slave.actualAge = random(30,34)>>
+			<<set _slave.visualAge = _slave.actualAge>>
+			<<set _slave.physicalAge = _slave.actualAge>>
+			<<set _slave.ovaryAge = _slave.actualAge>>
+			<<set _slave.vagina = 2>>
+			<<set _slave.anus = 2>>
+			<<set _slave.fetish = either("buttslut", "cumslut")>>
 		<<elseif _slaveGenRange == 3>>
-			<<set $activeSlave.intelligence = random(16,50)>>
-			<<set $activeSlave.chem = 250>>
-			<<set $activeSlave.butt = either(7,8)>>
-			<<set $activeSlave.hips = 2>>
-			<<set $activeSlave.face = either(35,75,75,100,100)>>
-			<<set $activeSlave.boobs = 100*random(32,42)>>
-			<<set $activeSlave.dick = random(4,5)>>
-			<<if $activeSlave.foreskin > 0>><<set $activeSlave.foreskin = $activeSlave.dick>><</if>>
+			<<set _slave.intelligence = random(16,50)>>
+			<<set _slave.chem = 250>>
+			<<set _slave.butt = either(7,8)>>
+			<<set _slave.hips = 2>>
+			<<set _slave.face = either(35,75,75,100,100)>>
+			<<set _slave.boobs = 100*random(32,42)>>
+			<<set _slave.dick = random(4,5)>>
 			<<if $TFS.schoolUpgrade == 3 && $TFS.compromiseWeek+15 <= $week>>
-				<<if $activeSlave.genes == "XY">>
-					<<set $activeSlave.balls = random(6,7), $activeSlave.scrotum = $activeSlave.balls>>
+				<<if _slave.genes == "XY">>
+					<<set _slave.balls = _slave.scrotum = random(6,7)>>
 				<<else>>
-					<<set $activeSlave.balls = 1>>
-					<<set $activeSlave.scrotum = 0>>
+					<<set _slave.balls = 1>>
+					<<set _slave.scrotum = 0>>
 				<</if>>
 			<<elseif $TFS.schoolUpgrade == 1>>
-				<<set $activeSlave.balls = 1>>
-				<<set $activeSlave.scrotum = 0>>
-			<<elseif $TFS.schoolUpgrade == 2>>
-				<<set $activeSlave.balls = random(6,7), $activeSlave.scrotum = $activeSlave.balls>>
+				<<set _slave.balls = 1>>
+				<<set _slave.scrotum = 0>>
 			<<else>>
-				<<set $activeSlave.balls = random(4,5)>>
-				<<set $activeSlave.scrotum = $activeSlave.balls>>
+				<<set _slave.balls = _slave.scrotum = ($TFS.schoolUpgrade == 2 ? random(6,7) : random(4,5))>>
 			<</if>>
-			<<set $activeSlave.lips = random(25,55)>>
-			<<set $activeSlave.weight = 20>>
-			<<set $activeSlave.actualAge = random(35,39)>>
-			<<set $activeSlave.visualAge = $activeSlave.actualAge>>
-			<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
-			<<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
-			<<set $activeSlave.vagina = 3>>
-			<<set $activeSlave.anus = 3>>
-			<<set $activeSlave.fetish = either("buttslut", "cumslut")>>
+			<<set _slave.lips = random(25,55)>>
+			<<set _slave.weight = 20>>
+			<<set _slave.actualAge = random(35,39)>>
+			<<set _slave.visualAge = _slave.actualAge>>
+			<<set _slave.physicalAge = _slave.actualAge>>
+			<<set _slave.ovaryAge = _slave.actualAge>>
+			<<set _slave.vagina = 3>>
+			<<set _slave.anus = 3>>
+			<<set _slave.fetish = either("buttslut", "cumslut")>>
 		<<else>>
-			<<set $activeSlave.intelligence = random(51,95)>>
-			<<set $activeSlave.chem = 300>>
-			<<set $activeSlave.butt = either(8,9)>>
-			<<set $activeSlave.hips = 2>>
-			<<set $activeSlave.face = either(35,75,100,100,100)>>
-			<<set $activeSlave.boobs = 100*random(44,60)>>
-			<<set $activeSlave.dick = random(5,6)>>
-			<<if $activeSlave.foreskin > 0>><<set $activeSlave.foreskin = $activeSlave.dick>><</if>>
-			<<set $activeSlave.geneticQuirks.wellHung = 2>>
+			<<set _slave.intelligence = random(51,95)>>
+			<<set _slave.chem = 300>>
+			<<set _slave.butt = either(8,9)>>
+			<<set _slave.hips = 2>>
+			<<set _slave.face = either(35,75,100,100,100)>>
+			<<set _slave.boobs = 100*random(44,60)>>
+			<<set _slave.dick = random(5,6)>>
+			<<set _slave.geneticQuirks.wellHung = 2>>
 			<<if $TFS.schoolUpgrade == 3 && $TFS.compromiseWeek+15 <= $week>>
-				<<if $activeSlave.genes == "XY">>
-					<<set $activeSlave.balls = random(7,8), $activeSlave.scrotum = $activeSlave.balls>>
+				<<if _slave.genes == "XY">>
+					<<set _slave.balls = random(7,8), _slave.scrotum = _slave.balls>>
 				<<else>>
-					<<set $activeSlave.balls = 1>>
-					<<set $activeSlave.scrotum = 0>>
+					<<set _slave.balls = 1>>
+					<<set _slave.scrotum = 0>>
 				<</if>>
 			<<elseif $TFS.schoolUpgrade == 1>>
-				<<set $activeSlave.balls = 1>>
-				<<set $activeSlave.scrotum = 0>>
-			<<elseif $TFS.schoolUpgrade == 2>>
-				<<set $activeSlave.balls = random(7,8), $activeSlave.scrotum = $activeSlave.balls>>
+				<<set _slave.balls = 1>>
+				<<set _slave.scrotum = 0>>
 			<<else>>
-				<<set $activeSlave.balls = random(5,6)>>
-				<<set $activeSlave.scrotum = $activeSlave.balls>>
+				<<set _slave.balls = _slave.scrotum = ($TFS.schoolUpgrade == 2 ? random(7,8) : random(5,6))>>
 			<</if>>
-			<<set $activeSlave.lips = random(25,55)>>
-			<<set $activeSlave.weight = 50>>
-			<<set $activeSlave.actualAge = random(40,42)>>
-			<<set $activeSlave.visualAge = $activeSlave.actualAge>>
-			<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
-			<<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
-			<<set $activeSlave.vagina = 3>>
-			<<set $activeSlave.anus = 3>>
-			<<set $activeSlave.fetish = "dom">>
+			<<set _slave.lips = random(25,55)>>
+			<<set _slave.weight = 50>>
+			<<set _slave.actualAge = random(40,42)>>
+			<<set _slave.visualAge = _slave.actualAge>>
+			<<set _slave.physicalAge = _slave.actualAge>>
+			<<set _slave.ovaryAge = _slave.actualAge>>
+			<<set _slave.vagina = 3>>
+			<<set _slave.anus = 3>>
+			<<set _slave.fetish = "dom">>
 		<</if>>
-		<<set $activeSlave.preg = -3>>
-		<<if $TFS.farmUpgrade != 0>>
-			<<set $activeSlave.ovaries = 1>>
+		<<if _slave.foreskin > 0>> <<set _slave.foreskin = _slave.dick>> <</if>>
+		<<set _slave.preg = -3>>
+		<<if $TFS.farmUpgrade > 0>>
+			<<set _slave.ovaries = 1>>
 			<<if $TFS.farmUpgrade >= 2>>
-				<<set $activeSlave.preg = random(1,41)>>
+				<<set _slave.preg = random(1,41)>>
 				<<if $TFS.farmUpgrade == 3>>
-					<<set $activeSlave.pregType = random(10,30)>>
-					<<set $activeSlave.pregAdaptation = 300>>
+					<<set _slave.pregType = random(10,30)>>
+					<<set _slave.pregAdaptation = 300>>
 				<<else>>
-					<<set $activeSlave.pregType = 1>>
+					<<set _slave.pregType = 1>>
 				<</if>>
-				<<set $activeSlave.pregSource = -9>>
-				<<set $activeSlave.pregKnown = 1>>
-				<<set $activeSlave.pregWeek = $activeSlave.preg>>
-				<<run SetBellySize($activeSlave)>>
+				<<set _slave.pregSource = -9>>
+				<<set _slave.pregKnown = 1>>
+				<<set _slave.pregWeek = _slave.preg>>
+				<<run SetBellySize(_slave)>>
 			<</if>>
 		<</if>>
-		<<set $activeSlave.intelligenceImplant = 30>>
-		<<set $activeSlave.teeth = "normal">>
-		<<if $TFS.schoolUpgrade == 2>>
-			<<set $activeSlave.energy = 100>>
-		<<else>>
-			<<set $activeSlave.energy = $activeSlave.physicalAge+random(20,30)>>
-		<</if>>
-		<<set $activeSlave.devotion = random(30,35)>>
-		<<set $activeSlave.trust = random(-15,-5)>>
-		<<run setHealth($activeSlave, jsRandom(60, 80), 0, 0, 0)>>
-		<<set $activeSlave.muscles = 20>>
-		<<set $activeSlave.waist = -15>>
-		<<if $activeSlave.genes == "XY">>
-			<<set $activeSlave.shoulders = 1>>
+		<<set _slave.intelligenceImplant = 30>>
+		<<set _slave.teeth = "normal">>
+		<<set _slave.energy = ($TFS.schoolUpgrade == 2 ? 100 : _slave.physicalAge + random(20, 30))>>
+		<<set _slave.devotion = random(30,35)>>
+		<<set _slave.trust = random(-15,-5)>>
+		<<run setHealth(_slave, jsRandom(60, 80), 0, 0, 0)>>
+		<<set _slave.muscles = 20>>
+		<<set _slave.waist = -15>>
+		<<if _slave.genes == "XY">>
+			<<set _slave.shoulders = 1>>
 		<</if>>
-		<<set $activeSlave.skill.vaginal = 100>>
-		<<set $activeSlave.skill.oral = 100>>
-		<<set $activeSlave.skill.anal = 100>>
-		<<set $activeSlave.skill.whoring = 15>>
-		<<set $activeSlave.skill.entertainment = 100>>
-		<<set $activeSlave.skill.combat = 0>>
-		<<set $activeSlave.pubicHStyle = "waxed">>
-		<<set $activeSlave.underArmHStyle = "waxed">>
+		<<set _slave.skill.vaginal = 100>>
+		<<set _slave.skill.oral = 100>>
+		<<set _slave.skill.anal = 100>>
+		<<set _slave.skill.whoring = 15>>
+		<<set _slave.skill.entertainment = 100>>
+		<<set _slave.skill.combat = 0>>
+		<<set _slave.pubicHStyle = "waxed">>
+		<<set _slave.underArmHStyle = "waxed">>
 		<<if $TFS.schoolUpgrade == 1>>
-			<<set $activeSlave.sexualQuirk = "caring">>
+			<<set _slave.sexualQuirk = "caring">>
 		<</if>>
-		<<set $activeSlave.sexualFlaw = either("hates women", "none")>>
-		<<set $activeSlave.behavioralFlaw = either("arrogant", "none")>>
-		<<set $activeSlave.fetishStrength = 100>>
-		<<set $activeSlave.fetishKnown = 0>>
-		<<set $activeSlave.attrKnown = 0>>
-		<<set $activeSlave.hStyle = "neat">>
-		<<set $activeSlave.hLength = 150>>
-		<<set $activeSlave.custom.tattoo = "$He has a simple pink heart tattooed on $his right temple.">>
-		<<set $REFutaSisterCheckinIDs.push($activeSlave.ID)>>
-		<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+		<<set _slave.sexualFlaw = either("hates women", "none")>>
+		<<set _slave.behavioralFlaw = either("arrogant", "none")>>
+		<<set _slave.fetishStrength = 100>>
+		<<set _slave.fetishKnown = 0>>
+		<<set _slave.attrKnown = 0>>
+		<<set _slave.hStyle = "neat">>
+		<<set _slave.hLength = 150>>
+		<<set _slave.custom.tattoo = "$He has a simple pink heart tattooed on $his right temple.">>
+		<<set $REFutaSisterCheckinIDs.push(_slave.ID)>>
+		<<run newSlave(_slave)>> /* skip New Slave Intro */
 	<</for>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XY")>>
-	<<set $activeSlave.origin = "$He was the leader of your arcology's Futanari Sisters until you engineered $his community's failure and enslavement.">>
-	<<set $activeSlave.career = "a Futanari Sister">>
-	<<set $activeSlave.intelligence = random(51,95)>>
-	<<set $activeSlave.chem = 300>>
-	<<set $activeSlave.butt = either(8,9)>>
-	<<set $activeSlave.hips = 2>>
-	<<set $activeSlave.face = 100>>
-	<<set $activeSlave.boobs = 100*random(44,60)>>
-	<<set $activeSlave.dick = random(5,6)>>
-	<<if $activeSlave.foreskin > 0>><<set $activeSlave.foreskin = $activeSlave.dick>><</if>>
+	<<set _slave = GenerateNewSlave("XY", {disableDisability: 1})>>
+	<<set _slave.origin = "$He was the leader of your arcology's Futanari Sisters until you engineered $his community's failure and enslavement.">>
+	<<set _slave.career = "a Futanari Sister">>
+	<<set _slave.intelligence = random(51,95)>>
+	<<set _slave.chem = 300>>
+	<<set _slave.butt = either(8,9)>>
+	<<set _slave.hips = 2>>
+	<<set _slave.face = 100>>
+	<<set _slave.boobs = 100*random(44,60)>>
+	<<set _slave.dick = random(5,6)>>
+	<<if _slave.foreskin > 0>><<set _slave.foreskin = _slave.dick>><</if>>
 	<<if $TFS.schoolUpgrade == 3 && $TFS.compromiseWeek+15 <= $week>>
-		<<set $activeSlave.balls = 10, $activeSlave.scrotum = $activeSlave.balls>>
-	<<elseif $TFS.schoolUpgrade == 1>>
-		<<set $activeSlave.balls = 1>>
-		<<set $activeSlave.scrotum = 0>>
-	<<elseif $TFS.schoolUpgrade == 2>>
-		<<set $activeSlave.balls = 10>>
-		<<set $activeSlave.scrotum = $activeSlave.balls>>
+		<<set _slave.balls = _slave.scrotum = 10>>
 	<<else>>
-		<<set $activeSlave.balls = random(5,6)>>
-		<<set $activeSlave.scrotum = $activeSlave.balls>>
+		<<set _slave.balls = _slave.scrotum = ($TFS.schoolUpgrade == 1 ? 1 :10)>>
+		<<set _slave.balls = _slave.scrotum = ($TFS.schoolUpgrade == 1 ? 0 : random(5,6))>>
 	<</if>>
-	<<set $activeSlave.lips = random(25,55)>>
-	<<set $activeSlave.weight = 50>>
-	<<set $activeSlave.actualAge = random(40,42)>>
-	<<set $activeSlave.visualAge = $activeSlave.actualAge>>
-	<<set $activeSlave.physicalAge = $activeSlave.actualAge>>
-	<<set $activeSlave.ovaryAge = $activeSlave.actualAge>>
-	<<set $activeSlave.vagina = 3>>
-	<<set $activeSlave.anus = 3>>
-	<<set $activeSlave.fetish = "dom">>
-	<<set $activeSlave.preg = -3>>
-	<<if $TFS.farmUpgrade != 0>>
-		<<set $activeSlave.ovaries = 1>>
+	<<set _slave.lips = random(25,55)>>
+	<<set _slave.weight = 50>>
+	<<set _slave.actualAge = random(40,42)>>
+	<<set _slave.visualAge = _slave.actualAge>>
+	<<set _slave.physicalAge = _slave.actualAge>>
+	<<set _slave.ovaryAge = _slave.actualAge>>
+	<<set _slave.vagina = 3>>
+	<<set _slave.anus = 3>>
+	<<set _slave.fetish = "dom">>
+	<<set _slave.preg = -3>>
+	<<if $TFS.farmUpgrade > 0>>
+		<<set _slave.ovaries = 1>>
 		<<if $TFS.farmUpgrade >= 2>>
-			<<set $activeSlave.preg = random(1,41)>>
+			<<set _slave.preg = random(1,41)>>
 			<<if $TFS.farmUpgrade == 3>>
-				<<set $activeSlave.pregType = random(20,40)>>
-				<<set $activeSlave.pregAdaptation = 500>>
+				<<set _slave.pregType = random(20,40)>>
+				<<set _slave.pregAdaptation = 500>>
 			<<else>>
-				<<set $activeSlave.pregType = 1>>
+				<<set _slave.pregType = 1>>
 			<</if>>
-			<<set $activeSlave.pregKnown = 1>>
-			<<set $activeSlave.pregWeek = $activeSlave.preg>>
-			<<run SetBellySize($activeSlave)>>
+			<<set _slave.pregKnown = 1>>
+			<<set _slave.pregWeek = _slave.preg>>
+			<<run SetBellySize(_slave)>>
 		<</if>>
 	<</if>>
-	<<set $activeSlave.intelligenceImplant = 30>>
-	<<set $activeSlave.teeth = "normal">>
-	<<if $TFS.schoolUpgrade == 2>>
-		<<set $activeSlave.energy = 100>>
-	<<else>>
-		<<set $activeSlave.energy = $activeSlave.physicalAge+random(20,30)>>
-	<</if>>
-	<<set $activeSlave.devotion = random(25,30)>>
-	<<set $activeSlave.trust = random(10,15)>>
-	<<run setHealth($activeSlave, jsRandom(60, 80), 0, 0, 0)>>
-	<<set $activeSlave.muscles = 20>>
-	<<set $activeSlave.waist = -15>>
-	<<set $activeSlave.shoulders = 1>>
-	<<set $activeSlave.skill.vaginal = 100>>
-	<<set $activeSlave.skill.oral = 100>>
-	<<set $activeSlave.skill.anal = 100>>
-	<<set $activeSlave.skill.whoring = 15>>
-	<<set $activeSlave.skill.entertainment = 100>>
-	<<set $activeSlave.skill.combat = 0>>
-	<<set $activeSlave.pubicHStyle = "waxed">>
-	<<set $activeSlave.underArmHStyle = "waxed">>
+	<<set _slave.intelligenceImplant = 30>>
+	<<set _slave.teeth = "normal">>
+	<<set _slave.energy = ($TFS.schoolUpgrade == 2 ? 100 : _slave.physicalAge + random(20, 30))>>
+	<<set _slave.devotion = random(25,30)>>
+	<<set _slave.trust = random(10,15)>>
+	<<run setHealth(_slave, jsRandom(60, 80), 0, 0, 0)>>
+	<<set _slave.muscles = 20>>
+	<<set _slave.waist = -15>>
+	<<set _slave.shoulders = 1>>
+	<<set _slave.skill.vaginal = 100>>
+	<<set _slave.skill.oral = 100>>
+	<<set _slave.skill.anal = 100>>
+	<<set _slave.skill.whoring = 15>>
+	<<set _slave.skill.entertainment = 100>>
+	<<set _slave.skill.combat = 0>>
+	<<set _slave.pubicHStyle = "waxed">>
+	<<set _slave.underArmHStyle = "waxed">>
 	<<if $TFS.schoolUpgrade == 1>>
-		<<set $activeSlave.sexualQuirk = "caring">>
+		<<set _slave.sexualQuirk = "caring">>
 	<</if>>
-	<<set $activeSlave.sexualFlaw = either("hates women", "none")>>
-	<<set $activeSlave.behavioralFlaw = either("arrogant", "none")>>
-	<<set $activeSlave.fetishStrength = 100>>
-	<<set $activeSlave.fetishKnown = 0>>
-	<<set $activeSlave.attrKnown = 0>>
-	<<set $activeSlave.hStyle = "neat">>
-	<<set $activeSlave.hLength = 150>>
-	<<set $activeSlave.custom.tattoo = "$He has a simple pink heart tattooed on $his right temple.">>
-	<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+	<<set _slave.sexualFlaw = either("hates women", "none")>>
+	<<set _slave.behavioralFlaw = either("arrogant", "none")>>
+	<<set _slave.fetishStrength = 100>>
+	<<set _slave.fetishKnown = 0>>
+	<<set _slave.attrKnown = 0>>
+	<<set _slave.hStyle = "neat">>
+	<<set _slave.hLength = 150>>
+	<<set _slave.custom.tattoo = "$He has a simple pink heart tattooed on $his right temple.">>
+	<<run newSlave(_slave)>> /* skip New Slave Intro */
 <<else>>
 	Error: school "$RESFailure" not found.
 <</if>>
 
-<<run App.Utils.setLocalPronouns($activeSlave)>>
-
-<<if $RESFailure == "NUL">>
-	<<set _he = they>>
-<<else>>
-	<<set _he = he>>
-<</if>>
+<<run App.Utils.setLocalPronouns(_slave)>>
+<<set _he = ($RESFailure !== "NUL" ? "he" : "they")>>
+<<set _He = capFirstChar(_he)>>
 
 <<if $RESFailure == "TFS">>
 	The senior Sister of the community of Futanari Sisters in your arcology appears at your penthouse, as you've been expecting since their second missed rent payment. This is quite the occasion, since they never leave their little nest. $He's delightfully nude, and it occurs to you that the Sisters probably do not own clothing at all. $He has obviously been crying; puffy eyes and a sniffling nose mar $his gorgeous face. $He must have caused quite the sensation as $he made $his way here, in tears, gigantic tits and huge cock bouncing around. To your surprise, $he flings $himself at your feet, $his dick making a painful-sounding slap against the floor and $his breasts squashing out to either side of $him.
@@ -871,12 +701,7 @@
 <<else>>
 	<p>
 		You receive a personal call from a senior representative of <<print App.Data.misc.schools.get($RESFailure).title>> as you've been expecting since their second missed rent payment. "I apologize," _he says with some embarrassment, "but it seems our expansion into your arcology was a mistake. It's strange — the business climate seemed excellent, and other corporations are doing well."
-		<<if $RESFailure == "NUL">>
-			They sigh
-		<<else>>
-			He sighs
-		<</if>>
-		"Nevertheless, nothing ever seemed to go as planned. We'll be shutting our <<print App.Data.misc.schools.get($RESFailure).branchName>> down immediately. In fact, it should be shut down within the hour.
+		_He sighs "Nevertheless, nothing ever seemed to go as planned. We'll be shutting our <<print App.Data.misc.schools.get($RESFailure).branchName>> down immediately. In fact, it should be shut down within the hour.
 		<<if $RESFailure == "TCR">>
 			However, we lack the funds to remove some of our finest cattle and since we still owe you a little... We'd like to you to have them; we'll even have them delivered to your penthouse with the last of our credits."
 		<<else>>
@@ -887,11 +712,7 @@
 				The branch campus we're closing has five recent graduates.
 			<</if>>
 			We'd like to transfer them to you in lieu of payment."
-			<<if $RESFailure == "NUL">>
-				They hurriedly end the call.
-			<<else>>
-				He hurriedly ends the call.
-			<</if>>
+			_He hurriedly end the call.
 		<</if>>
 	</p>
 <</if>>
@@ -904,13 +725,11 @@
 <<if $RESFailure == "TFS">>
 	<<link "Rape $him">>
 		<<replace "#result">>
-		<<for $i = 0; $i < $slaves.length; $i++>>
-			<<if ($slaves[$i].origin == "$He was the leader of your arcology's Futanari Sisters until you engineered $his community's failure and enslavement.")>>
-				<<set $activeSlave.devotion += 10>>
-				<<set $activeSlave.counter.anal += 1>>
-				<<set $activeSlave.counter.vaginal += 1>>
-				<<set $analTotal += 1>>
-				<<set $vaginalTotal += 1>>
+		<<for _slave range $slaves>>
+			<<if (_slave.origin == "$He was the leader of your arcology's Futanari Sisters until you engineered $his community's failure and enslavement.")>>
+				<<set _slave.devotion += 10>>
+				<<run actX(_slave, "anal")>>
+				<<run actX(_slave, "vaginal")>>
 			<</if>>
 		<</for>>
 		You <<if $PC.dick != 0>>whip out your dick<<else>>pull on a strap-on, the one you use for disobedient slaves,<</if>> and kneel down behind the sobbing futa matron. When $he feels it touching $his pussylips, $he whispers "Thank you, <<Master>>," through $his tears. $He's very, very sexually experienced, so it's harder to make $him feel it than it would be for a $girl with tighter holes. But you're an expert. You calibrate your pounding to pull just barely too far out, so that $he feels you ramming mercilessly into $him with each stroke, and so that the slightest mistake from $him sends <<if $PC.dick != 0>>your cock<<else>>the phallus<</if>> right up the other hole. Despite $his anguish and the brutal fuck, or perhaps because of them, $he slowly manages to get hard, and orgasms painfully when you do. $He @@.hotpink;can't seem to stop thanking you,@@ but is quiet when you tell $him to be.
@@ -920,73 +739,58 @@
 <</if>>
 <<link "Sell your prizes immediately">>
 	<<replace "#result">>
-		<<for $i = 0; $i < $slaves.length; $i++>>
-			<<if $RESFailure == "TSS">>
-				<<if ($slaves[$i].origin == "$He was given to you by a failed branch campus of the Slavegirl School right after $his majority.") || ($slaves[$i].origin == "$He was given to you by a failed branch campus of the Slavegirl School after $he was retrained as a slave $girl.")>>
-					<<set _slaveCost = slaveCost($slaves[$i])>>
-					<<run cashX(_slaveCost, "slaveTransfer")>>
-					<<= removeSlave($slaves[$i])>>
-					<<set $i -= 1>>
-				<</if>>
-			<<elseif $RESFailure == "GRI">>
-				<<if $slaves[$i].origin == "$He was given to you by a failed subsidiary lab of the Growth Research Institute right after $his use as a test subject ended.">>
-					<<set _slaveCost = slaveCost($slaves[$i])>>
-					<<run cashX(_slaveCost, "slaveTransfer")>>
-					<<= removeSlave($slaves[$i])>>
-					<<set $i -= 1>>
-				<</if>>
-			<<elseif $RESFailure == "SCP">>
-				<<if $slaves[$i].origin == "$He was given to you by a failed branch campus of St. Claver Preparatory after $he served as a plastic surgeon's passing final exam.">>
-				<<set _slaveCost = slaveCost($slaves[$i])>>
-				<<run cashX(_slaveCost, "slaveTransfer")>>
-				<<= removeSlave($slaves[$i])>>
-				<<set $i -= 1>>
-				<</if>>
-			<<elseif $RESFailure == "LDE">>
-				<<if $slaves[$i].origin == "$He was given to you by a failed branch campus of the innovative École des Enculées right after $his graduation.">>
-					<<set _slaveCost = slaveCost($slaves[$i])>>
-					<<run cashX(_slaveCost, "slaveTransfer")>>
-					<<= removeSlave($slaves[$i])>>
-					<<set $i -= 1>>
-				<</if>>
-			<<elseif $RESFailure == "TGA">>
-				<<if $slaves[$i].origin == "$He was given to you by a failed branch campus of the intense Gymnasium-Academy right after $his majority.">>
-					<<set _slaveCost = slaveCost($slaves[$i])>>
-					<<run cashX(_slaveCost, "slaveTransfer")>>
-					<<= removeSlave($slaves[$i])>>
-					<<set $i -= 1>>
-				<</if>>
-			<<elseif $RESFailure == "HA">>
-				<<if $slaves[$i].origin == "$He was given to you by a failed branch campus of the Hippolyta Academy right after $his majority.">>
-					<<set _slaveCost = slaveCost($slaves[$i])>>
-					<<run cashX(_slaveCost, "slaveTransfer")>>
-					<<= removeSlave($slaves[$i])>>
-					<<set $i -= 1>>
-				<</if>>
-			<<elseif $RESFailure == "TCR">>
-				<<if $slaves[$i].origin == "$He is a prized dairy cow given to you by a failed local pasture of The Cattle Ranch.">>
-					<<set _slaveCost = slaveCost($slaves[$i])>>
-					<<run cashX(_slaveCost, "slaveTransfer")>>
-					<<= removeSlave($slaves[$i])>>
-					<<set $i -= 1>>
-				<</if>>
-			<<elseif $RESFailure == "NUL">>
-				<<if $slaves[$i].origin == "$He was given to you by a failed branch campus of Nueva Universidad de Libertad right after $his graduation.">>
-					<<set _slaveCost = slaveCost($slaves[$i])>>
-					<<run cashX(_slaveCost, "slaveTransfer")>>
-					<<= removeSlave($slaves[$i])>>
-					<<set $i -= 1>>
-				<</if>>
-			<<else>>
-				<<if ($slaves[$i].origin == "$He was the leader of your arcology's Futanari Sisters until you engineered $his community's failure and enslavement.") || ($slaves[$i].origin == "$He was a Futanari Sister until you engineered $his early enslavement.")>>
-					<<set _slaveCost = slaveCost($slaves[$i])>>
-					<<run cashX(_slaveCost, "slaveTransfer")>>
-					<<= removeSlave($slaves[$i])>>
-					<<set $i -= 1>>
-				<</if>>
-			<</if>>
+	<<if $RESFailure == "TSS">>
+		<<for _slave range $slaves.filter(s => s.origin === "$He was given to you by a failed branch campus of the Slavegirl School right after $his majority." || s.origin === "$He was given to you by a failed branch campus of the Slavegirl School after $he was retrained as a slave $girl.")>>
+			<<run cashX(slaveCost(_slave), "slaveTransfer")>>
+			<<run removeSlave(_slave)>>
+		<</for>>
+	<<elseif $RESFailure == "TUO">>
+		<<for _slave range $slaves.filter(s => s.origin === "$He was given to you by a failed branch of The Utopian Orphanage right after $his graduation.")>>
+			<<run cashX(slaveCost(_slave), "slaveTransfer")>>
+			<<run removeSlave(_slave)>>
+		<</for>>
+	<<elseif $RESFailure == "TCR">>
+		<<for _slave range $slaves.filter(s => s.origin === "$He is a prized dairy cow given to you by a failed local pasture of The Cattle Ranch.")>>
+			<<run cashX(slaveCost(_slave), "slaveTransfer")>>
+			<<run removeSlave(_slave)>>
+		<</for>>
+	<<elseif $RESFailure == "GRI">>
+		<<for _slave range $slaves.filter(s => s.origin === "$He was given to you by a failed subsidiary lab of the Growth Research Institute right after $his use as a test subject ended.")>>
+			<<run cashX(slaveCost(_slave), "slaveTransfer")>>
+			<<run removeSlave(_slave)>>
 		<</for>>
-		Prizes sold.
+	<<elseif $RESFailure == "SCP">>
+		<<for _slave range $slaves.filter(s => s.origin === "$He was given to you by a failed branch campus of St. Claver Preparatory after $he served as a plastic surgeon's passing final exam.")>>
+			<<run cashX(slaveCost(_slave), "slaveTransfer")>>
+			<<run removeSlave(_slave)>>
+		<</for>>
+	<<elseif $RESFailure == "LDE">>
+		<<for _slave range $slaves.filter(s => s.origin === "$He was given to you by a failed branch campus of the innovative École des Enculées right after $his graduation.")>>
+			<<run cashX(slaveCost(_slave), "slaveTransfer")>>
+			<<run removeSlave(_slave)>>
+		<</for>>
+	<<elseif $RESFailure == "NUL">>
+		<<for _slave range $slaves.filter(s => s.origin === "$He was given to you by a failed branch campus of Nueva Universidad de Libertad right after $his graduation.")>>
+			<<run cashX(slaveCost(_slave), "slaveTransfer")>>
+			<<run removeSlave(_slave)>>
+		<</for>>
+	<<elseif $RESFailure == "TGA">>
+		<<for _slave range $slaves.filter(s => s.origin === "$He was given to you by a failed branch campus of the intense Gymnasium-Academy right after $his majority.")>>
+			<<run cashX(slaveCost(_slave), "slaveTransfer")>>
+			<<run removeSlave(_slave)>>
+		<</for>>
+	<<elseif $RESFailure == "HA">>
+		<<for _slave range $slaves.filter(s => s.origin === "$He was given to you by a failed branch campus of the Hippolyta Academy right after $his majority.")>>
+			<<run cashX(slaveCost(_slave), "slaveTransfer")>>
+			<<run removeSlave(_slave)>>
+		<</for>>
+	<<elseif $RESFailure == "TFS">>
+		<<for _slave range $slaves.filter(s => s.origin === "$He was the leader of your arcology's Futanari Sisters until you engineered $his community's failure and enslavement." || s.origin === "$He was a Futanari Sister until you engineered $his early enslavement.")>>
+			<<run cashX(slaveCost(_slave), "slaveTransfer")>>
+			<<run removeSlave(_slave)>>
+		<</for>>
+	<</if>>
+	Prizes sold.
 	<</replace>>
 <</link>>
-</span>
+</span>
\ No newline at end of file
diff --git a/src/uncategorized/salon.tw b/src/uncategorized/salon.tw
deleted file mode 100644
index 40e4e8d6b826fff50902559e31453a202499bee5..0000000000000000000000000000000000000000
--- a/src/uncategorized/salon.tw
+++ /dev/null
@@ -1,551 +0,0 @@
-:: Salon [nobr jump-from-safe]
-
-<<set $nextButton = "Confirm changes", $nextLink = "Slave Interact", $encyclopedia = "The Auto Salon">>
-<<run App.Utils.setLocalPronouns(getSlave($AS))>>
-
-<<if $showInches == 2>>
-	<<set _oldHLength = Math.round(getSlave($AS).hLength/2.54), _newHLength = 0>>
-<<else>>
-	<<set _oldHLength = getSlave($AS).hLength, _newHLength = 0>>
-<</if>>
-
-<h1>The Auto Salon</h1>
-
-<span class="note">
-	<<= getSlave($AS).slaveName>> is seated in the auto salon. $He is awaiting your artistic pleasure.
-</span>
-
-/* 000-250-006 */
-<span id="art-frame">
-	<<if $seeImages == 1>>
-		<<if $imageChoice == 1>>
-			<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt(getSlave($AS), 3, 0)>></div>
-		<<else>>
-			<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt(getSlave($AS), 3, 0)>></div>
-		<</if>>
-	<</if>>
-</span>
-/* 000-250-006 */
-
-/* EYES */
-
-<h3>Eyewear</h3>
-<<if getBestVision(getSlave($AS)) === 0>>
-	$He is blind, and
-	<<if getSlave($AS).eyewear == "none">>
-		has no eyewear.
-	<<else>>
-		is wearing <<= getSlave($AS).eyewear>>. [[Remove|Salon][getSlave($AS).eyewear = "none"]]
-	<</if>>
-	<div class="choices">
-		Give $him: [[Cosmetic glasses|Salon][getSlave($AS).eyewear = "glasses",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	</div>
-<<elseif anyVisionEquals(getSlave($AS), 1)>>
-	$He is nearsighted, and $he
-	<<if getSlave($AS).eyewear == "none">>
-		has no eyewear.
-	<<else>>
-		is wearing <<= getSlave($AS).eyewear>>. [[Remove|Salon][getSlave($AS).eyewear = "none"]]
-	<</if>>
-	<div class="choices">
-		Give $him: [[Cosmetic glasses|Salon][getSlave($AS).eyewear = "glasses",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		| [[Corrective glasses|Salon][getSlave($AS).eyewear = "corrective glasses",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		| [[Corrective contacts|Salon][getSlave($AS).eyewear = "corrective contacts",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		<span class="note">Nearsightedness will impede performance on some assignments.</span>
-	</div>
-<<else>>
-	$His vision is normal, and $he
-	<<if getSlave($AS).eyewear == "none">>
-		has no eyewear.
-	<<else>>
-		is wearing <<= getSlave($AS).eyewear>>. [[Remove|Salon][getSlave($AS).eyewear = "none"]]
-	<</if>>
-	<div class="choices">
-		Give $him: [[Cosmetic glasses|Salon][getSlave($AS).eyewear = "glasses",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		| [[Blurring glasses|Salon][getSlave($AS).eyewear = "blurring glasses",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		| [[Blurring contacts|Salon][getSlave($AS).eyewear = "blurring contacts",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		<span class="note">Blurring options are annoying and impede performance on some assignments.</span>
-	</div>
-<</if>>
-
-<<includeDOM App.Medicine.Modification.eyeSelector(getSlave($AS))>>
-
-/* EARS */
-<h3>Ears</h3>
-<p id="salon-ears"></p>
-<script>
-	App.Medicine.Salon.ears(getSlave(V.AS));
-</script>
-
-<div>
-	<<if getSlave($AS).earImplant == 1>>
-		$He has artificial inner ear implants,
-		<<if getSlave($AS).earwear == "none">>
-			which are unobstructed.
-		<<else>>
-			and is wearing <<= getSlave($AS).earwear>>. [[Remove|Salon][getSlave($AS).earwear = "none"]]
-		<</if>>
-	<<elseif getSlave($AS).hears < -1>>
-		$He is deaf, and
-		<<if getSlave($AS).earwear == "none">>
-			is wearing nothing on $his ears.
-		<<else>>
-			is wearing <<= getSlave($AS).earwear>>. [[Remove|Salon][getSlave($AS).earwear = "none"]]
-		<</if>>
-	<<elseif getSlave($AS).hears > -1>>
-		$His hearing is normal, and $he
-		<<if getSlave($AS).earwear == "none">>
-			has nothing in $his ears.
-		<<else>>
-			is wearing <<= getSlave($AS).earwear>>. [[Remove|Salon][getSlave($AS).earwear = "none"]]
-		<</if>>
-	<<else>>
-		$He is hearing impaired, and
-		<<if getSlave($AS).earwear == "none">>
-			wears nothing to correct or worsen this.
-		<<else>>
-			is wearing <<= getSlave($AS).earwear>>. [[Remove|Salon][getSlave($AS).earwear = "none"]]
-		<</if>>
-	<</if>>
-	<div class="choices">
-		Give $him:
-		[[Hearing aids|Salon][getSlave($AS).earwear = "hearing aids",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		| [[Muffling ear plugs|Salon][getSlave($AS).earwear = "muffling ear plugs",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		| [[Deafening ear plugs|Salon][getSlave($AS).earwear = "deafening ear plugs",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		<span class="note">Muffling options are annoying and impede performance on some assignments.</span>
-	</div>
-</div>
-
-/*End ear check */
-<div>
-	<<if getSlave($AS).horn != "none">>
-		$His <<= getSlave($AS).horn>> are <<= getSlave($AS).hornColor>>
-		<div class="choices">
-			Set horn color:
-				[[Black|Salon][getSlave($AS).hornColor = "black",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Blazing Red|Salon][getSlave($AS).hornColor = "blazing red",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Blue-Violet|Salon][getSlave($AS).hornColor = "blue-violet",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Blue|Salon][getSlave($AS).hornColor = "blue",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Brown|Salon][getSlave($AS).hornColor = "brown",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Burgundy|Salon][getSlave($AS).hornColor = "burgundy",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Copper|Salon][getSlave($AS).hornColor = "copper",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Dark Blue|Salon][getSlave($AS).hornColor = "dark blue",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Dark Brown|Salon][getSlave($AS).hornColor = "dark brown",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Dark Orchid|Salon][getSlave($AS).hornColor = "dark orchid",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Deep Red|Salon][getSlave($AS).hornColor = "deep red",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Golden|Salon][getSlave($AS).hornColor = "golden",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Green-yellow|Salon][getSlave($AS).hornColor = "green-yellow",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Green|Salon][getSlave($AS).hornColor = "green",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Grey|Salon][getSlave($AS).hornColor = "grey",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Jet Black|Salon][getSlave($AS).hornColor = "jet black",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Neon Blue|Salon][getSlave($AS).hornColor = "neon blue",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Neon Green|Salon][getSlave($AS).hornColor = "neon green",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Neon Pink|Salon][getSlave($AS).hornColor = "neon pink",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Pink|Salon][getSlave($AS).hornColor = "pink",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Ivory|Salon][getSlave($AS).hornColor = "ivory",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Purple|Salon][getSlave($AS).hornColor = "purple",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Red|Salon][getSlave($AS).hornColor = "red",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Sea Green|Salon][getSlave($AS).hornColor = "sea green",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[Silver|Salon][getSlave($AS).hornColor = "silver",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				| [[White|Salon][getSlave($AS).hornColor = "white",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		</div>
-	<</if>>
-</div>
-
-/* HAIR */
-
-<h3>Hair</h3>
-<p id="salon-hair"></p>
-<script>
-	App.Medicine.Salon.hair(getSlave(V.AS));
-</script>
-
-/* MAKEUP */
-<h3>Makeup</h3>
-
-<div>
-	<<= App.Desc.makeup(getSlave($AS))>>
-	<<if getSlave($AS).makeup > 0>>
-		[[Remove|Salon][getSlave($AS).makeup = 0,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	<</if>>
-	<div class="choices">
-	Apply makeup:
-		[[Nice|Salon][getSlave($AS).makeup = 1,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		| [[Gorgeous|Salon][getSlave($AS).makeup = 2,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		| [[Slutty|Salon][getSlave($AS).makeup = 4,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		| [[Color-coordinate with hair|Salon][getSlave($AS).makeup = 3,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	</div>
-	<div class="choices">
-		&nbsp;&nbsp;
-		[[Neon|Salon][getSlave($AS).makeup = 5,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		| [[Neon, color-coordinate with hair|Salon][getSlave($AS).makeup = 6,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	</div>
-	<div class="choices">
-		&nbsp;&nbsp;
-		[[Metallic|Salon][getSlave($AS).makeup = 7,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		| [[Metallic, color-coordinate with hair|Salon][getSlave($AS).makeup = 8,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	</div>
-</div>
-
-/* NAILS */
-<div>
-	<<= App.Desc.nails(getSlave($AS))>>
-
-	<<if hasAnyArms(getSlave($AS))>>
-		<div class="choices">
-			Treat nails:
-			[[Clip|Salon][getSlave($AS).nails = 0,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Extend|Salon][getSlave($AS).nails = 1,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Sharp, claw-like|Salon][getSlave($AS).nails = 3,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Bright, glittery|Salon][getSlave($AS).nails = 4,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Streetwalker-style|Salon][getSlave($AS).nails = 5,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Color-coordinate with hair|Salon][getSlave($AS).nails = 2,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		</div>
-		<div class="choices">
-			&nbsp;&nbsp;
-			[[Neon|Salon][getSlave($AS).nails = 6,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Neon, color-coordinate with hair|Salon][getSlave($AS).nails = 7,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		</div>
-		<div class="choices">
-			&nbsp;&nbsp;
-			[[Metallic|Salon][getSlave($AS).nails = 8,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Metallic, color-coordinate with hair|Salon][getSlave($AS).nails = 9,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		</div>
-	<</if>>
-</div>
-
-/* SKIN */
-<h3>Skin</h3>
-<div>
-	$His skin is <<= getSlave($AS).skin>>.
-
-	<<if (setup.dyedSkins.includes(getSlave($AS).skin))>>
-		[[Remove coloring|Salon][getSlave($AS).skin = getSlave($AS).origSkin,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	<<elseif ((getSlave($AS).skin == "sun tanned") || (getSlave($AS).skin == "spray tanned"))>>
-		[[Remove tanning|Salon][getSlave($AS).skin = getSlave($AS).origSkin,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	<</if>>
-</div>
-
-<<if (!setup.dyedSkins.includes(getSlave($AS).skin))>>
-	<div class="choices">
-		<<if (getSlave($AS).skin == "sun tanned" || getSlave($AS).skin == "spray tanned")>>
-			$His skin tanning must be removed before any advanced procedure to change $his skin color.
-		<<else>>
-			Change skin tone:
-			<<set _needsSpacers = 0>>
-			<<if (skinToneLevel(getSlave($AS).skin) > 1)>>
-				<<if _needsSpacers == 1>> | <</if>>
-				[[Bleach|Salon][getSlave($AS).skin = changeSkinTone(getSlave($AS).skin, -2), cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				<<set _needsSpacers = 1>>
-			<</if>>
-			<<if (skinToneLevel(getSlave($AS).skin) > 8)>>
-				<<if _needsSpacers == 1>> | <</if>>
-				[[Lighten|Salon][getSlave($AS).skin = changeSkinTone(getSlave($AS).skin, -1), cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				<<set _needsSpacers = 1>>
-			<</if>>
-			<<if (skinToneLevel(getSlave($AS).skin) < 18)>>
-				<<if _needsSpacers == 1>> | <</if>>
-				[[Darken|Salon][getSlave($AS).skin = changeSkinTone(getSlave($AS).skin, 1), cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				<<set _needsSpacers = 1>>
-			<</if>>
-			<<if (skinToneLevel(getSlave($AS).skin) < 25)>>
-				<<if _needsSpacers == 1>> | <</if>>
-				[[Blacken|Salon][getSlave($AS).skin = changeSkinTone(getSlave($AS).skin, 2), cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				<<set _needsSpacers = 1>>
-			<</if>>
-		<</if>>
-	</div>
-	<div class="choices">
-		<<set _needsSpacers = 0>>
-		<<if (getSlave($AS).skin != "sun tanned")>>
-			<<if (skinToneLevel(getSlave($AS).skin) < 6)>>
-				$His skin is so light in color that any attempt at natural tanning is more likely to damage $his skin.
-			<<elseif (skinToneLevel(getSlave($AS).skin) > 20)>>
-				$His skin is so dark in color that any attempt at natural tanning is not likely to appear on $his skin.
-			<<else>>
-				[["Sun tan " + $his + " skin"|Salon][getSlave($AS).skin = "sun tanned", cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-				<<set _needsSpacers = 1>>
-			<</if>>
-		<</if>>
-		<<if (getSlave($AS).skin != "spray tanned")>>
-			<<if _needsSpacers == 1>> | <</if>>
-			[["Spray tan " + $his + " skin"|Salon][getSlave($AS).skin = "spray tanned", cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		<</if>>
-	</div>
-<</if>>
-
-<div class="choices">
-	Dye or paint:
-	[[Blue|Salon][getSlave($AS).skin = "dyed blue",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	| [[Camouflage|Salon][getSlave($AS).skin = "camouflage patterned",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	| [[Gray|Salon][getSlave($AS).skin = "dyed gray",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	| [[Green|Salon][getSlave($AS).skin = "dyed green",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	| [[Pink|Salon][getSlave($AS).skin = "dyed pink",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	| [[Red|Salon][getSlave($AS).skin = "dyed red",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	| [[Tiger Stripes|Salon][getSlave($AS).skin = "tiger striped",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-</div>
-
-<p id="salon-tail"></p>
-<script>
-	App.Medicine.Salon.tail(getSlave(V.AS));
-</script>
-
-/* MARKS */
-<div>
-	<<if (getSlave($AS).markings == "beauty mark")>>
-		$He has a prominent mole on $his face, which
-		<<if getSlave($AS).face > 40>>
-			qualifies as a beauty mark and enhances $his attractiveness due to $his facial beauty.
-		<<elseif getSlave($AS).face < -10>>
-			makes $him even less attractive.
-		<<else>>
-			qualifies as a beauty mark since $he's pretty, having no significant impact on $his beauty.
-		<</if>>
-		[[Remove it|Salon][getSlave($AS).markings = "none",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	<</if>>
-</div>
-
-<div>
-	<<if (getSlave($AS).markings == "birthmark")>>
-		$He has a large birthmark, which
-		<<if getSlave($AS).prestige > 0 || getSlave($AS).porn.prestige > 1>>
-			enhances $his attractiveness due to $his prestige.
-		<<else>>
-			detracts from $his attractiveness.
-		<</if>>
-		[[Bleach it|Salon][getSlave($AS).markings = "none",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	<</if>>
-</div>
-
-
-<h3>Body hair</h3>
-/* EYEBROW HAIR */
-
-<<if getSlave($AS).eyebrowHStyle != "bald">>
-	<div>
-		$His <<if getSlave($AS).eyebrowFullness != "natural">><<= getSlave($AS).eyebrowFullness>><<if getSlave($AS).eyebrowHStyle != "natural">>,<</if>> <</if>><<if getSlave($AS).eyebrowHStyle != "natural">><<= getSlave($AS).eyebrowHStyle>> <</if>> eyebrows
-		<<if getSlave($AS).eyebrowHStyle == "shaved">>
-			would be <<= getSlave($AS).eyebrowHColor>> if present.
-		<<else>>
-			are <<= getSlave($AS).eyebrowHColor>>.
-		<</if>>
-		<<if getSlave($AS).eyebrowHColor != getSlave($AS).hColor>>
-			[[Match the hair?|Salon][getSlave($AS).eyebrowHColor = getSlave($AS).hColor,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		<</if>>
-	</div>
-
-	<div class="choices">
-		Dye $his eyebrow hair:
-			[[Auburn|Salon][getSlave($AS).eyebrowHColor = "auburn",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Black|Salon][getSlave($AS).eyebrowHColor = "black",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Blazing Red|Salon][getSlave($AS).eyebrowHColor = "blazing red",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Blonde|Salon][getSlave($AS).eyebrowHColor = "blonde",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Blue-Violet|Salon][getSlave($AS).eyebrowHColor = "blue-violet",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Blue|Salon][getSlave($AS).eyebrowHColor = "blue",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Brown|Salon][getSlave($AS).eyebrowHColor = "brown",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Burgundy|Salon][getSlave($AS).eyebrowHColor = "burgundy",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Chestnut|Salon][getSlave($AS).eyebrowHColor = "chestnut",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Chocolate|Salon][getSlave($AS).eyebrowHColor = "chocolate brown",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Copper|Salon][getSlave($AS).eyebrowHColor = "copper",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Dark Blue|Salon][getSlave($AS).eyebrowHColor = "dark blue",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Dark Brown|Salon][getSlave($AS).eyebrowHColor = "dark brown",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Dark Orchid|Salon][getSlave($AS).eyebrowHColor = "dark orchid",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Deep Red|Salon][getSlave($AS).eyebrowHColor = "deep red",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Ginger|Salon][getSlave($AS).eyebrowHColor = "ginger",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Golden|Salon][getSlave($AS).eyebrowHColor = "golden",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Green-yellow|Salon][getSlave($AS).eyebrowHColor = "green-yellow",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Green|Salon][getSlave($AS).eyebrowHColor = "green",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Grey|Salon][getSlave($AS).eyebrowHColor = "grey",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Hazel|Salon][getSlave($AS).eyebrowHColor = "hazel",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Jet Black|Salon][getSlave($AS).eyebrowHColor = "jet black",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Neon Blue|Salon][getSlave($AS).eyebrowHColor = "neon blue",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Neon Green|Salon][getSlave($AS).eyebrowHColor = "neon green",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Neon Pink|Salon][getSlave($AS).eyebrowHColor = "neon pink",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Pink|Salon][getSlave($AS).eyebrowHColor = "pink",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Platinum Blonde|Salon][getSlave($AS).eyebrowHColor = "platinum blonde",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Purple|Salon][getSlave($AS).eyebrowHColor = "purple",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Red|Salon][getSlave($AS).eyebrowHColor = "red",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Sea Green|Salon][getSlave($AS).eyebrowHColor = "sea green",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Silver|Salon][getSlave($AS).eyebrowHColor = "silver",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Strawberry-Blonde|Salon][getSlave($AS).eyebrowHColor = "strawberry-blonde",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[White|Salon][getSlave($AS).eyebrowHColor = "white",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	</div>
-
-	<div class="choices">
-		Style $his eyebrow hair:
-			[[Natural|Salon][getSlave($AS).eyebrowHStyle = "natural",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Curved|Salon][getSlave($AS).eyebrowHStyle = "curved",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Elongated|Salon][getSlave($AS).eyebrowHStyle = "elongated",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[High-Arched|Salon][getSlave($AS).eyebrowHStyle = "high-arched",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Rounded|Salon][getSlave($AS).eyebrowHStyle = "rounded",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Shaved|Salon][getSlave($AS).eyebrowHStyle = "shaved",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Shortened|Salon][getSlave($AS).eyebrowHStyle = "shortened",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Slanted Inwards|Salon][getSlave($AS).eyebrowHStyle = "slanted inwards",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Slanted Outwards|Salon][getSlave($AS).eyebrowHStyle = "slanted outwards",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Straight|Salon][getSlave($AS).eyebrowHStyle = "straight",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	</div>
-
-	<div class="choices">
-		Shape $his eyebrow hair:
-			[[Natural|Salon][getSlave($AS).eyebrowFullness = "natural",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Bushy|Salon][getSlave($AS).eyebrowFullness = "bushy",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Thick|Salon][getSlave($AS).eyebrowFullness = "thick",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Tapered|Salon][getSlave($AS).eyebrowFullness = "tapered",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Threaded|Salon][getSlave($AS).eyebrowFullness = "threaded",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Thin|Salon][getSlave($AS).eyebrowFullness = "thin",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Pencil-Thin|Salon][getSlave($AS).eyebrowFullness = "pencil-thin",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	</div>
-<<else>>
-	<div>
-		$His eyebrows are completely hairless.
-	</div>
-<</if>>
-
-/* PUBIC HAIR */
-
-<<set _pubertyAge = Math.min(getSlave($AS).pubertyAgeXX, getSlave($AS).pubertyAgeXY)>>
-<<if getSlave($AS).pubicHStyle != "bald" && getSlave($AS).pubicHStyle != "hairless" && getSlave($AS).physicalAge >= _pubertyAge-1>>
-
-	<div>
-		$His
-		<<if getSlave($AS).physicalAge < _pubertyAge>>
-			wispy pubic hair, which is just starting to grow in,
-		<<elseif getSlave($AS).pubicHStyle == "in a strip">>
-			pubic hair, which is shaved into a strip,
-		<<else>>
-			<<= getSlave($AS).pubicHStyle>> pubic hair
-		<</if>>
-		<<if getSlave($AS).pubicHStyle == "waxed">>
-			would be <<= getSlave($AS).pubicHColor>> if present.
-		<<else>>
-			is <<= getSlave($AS).pubicHColor>>.
-		<</if>>
-		<<if getSlave($AS).pubicHColor != getSlave($AS).hColor>>
-			[[Match the curtains?|Salon][getSlave($AS).pubicHColor = getSlave($AS).hColor,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		<</if>>
-	</div>
-
-	<div class="choices">
-		Dye $his pubic hair:
-			[[Auburn|Salon][getSlave($AS).pubicHColor = "auburn",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Black|Salon][getSlave($AS).pubicHColor = "black",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Blazing Red|Salon][getSlave($AS).pubicHColor = "blazing red",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Blonde|Salon][getSlave($AS).pubicHColor = "blonde",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Blue-Violet|Salon][getSlave($AS).pubicHColor = "blue-violet",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Blue|Salon][getSlave($AS).pubicHColor = "blue",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Brown|Salon][getSlave($AS).pubicHColor = "brown",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Burgundy|Salon][getSlave($AS).pubicHColor = "burgundy",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Chestnut|Salon][getSlave($AS).pubicHColor = "chestnut",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Chocolate|Salon][getSlave($AS).pubicHColor = "chocolate brown",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Copper|Salon][getSlave($AS).pubicHColor = "copper",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Dark Blue|Salon][getSlave($AS).pubicHColor = "dark blue",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Dark Brown|Salon][getSlave($AS).pubicHColor = "dark brown",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Dark Orchid|Salon][getSlave($AS).pubicHColor = "dark orchid",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Deep Red|Salon][getSlave($AS).pubicHColor = "deep red",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Ginger|Salon][getSlave($AS).pubicHColor = "ginger",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Golden|Salon][getSlave($AS).pubicHColor = "golden",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Green-yellow|Salon][getSlave($AS).pubicHColor = "green-yellow",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Green|Salon][getSlave($AS).pubicHColor = "green",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Grey|Salon][getSlave($AS).pubicHColor = "grey",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Hazel|Salon][getSlave($AS).pubicHColor = "hazel",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Jet Black|Salon][getSlave($AS).pubicHColor = "jet black",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Neon Blue|Salon][getSlave($AS).pubicHColor = "neon blue",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Neon Green|Salon][getSlave($AS).pubicHColor = "neon green",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Neon Pink|Salon][getSlave($AS).pubicHColor = "neon pink",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Pink|Salon][getSlave($AS).pubicHColor = "pink",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Platinum Blonde|Salon][getSlave($AS).pubicHColor = "platinum blonde",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Purple|Salon][getSlave($AS).pubicHColor = "purple",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Red|Salon][getSlave($AS).pubicHColor = "red",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Sea Green|Salon][getSlave($AS).pubicHColor = "sea green",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Silver|Salon][getSlave($AS).pubicHColor = "silver",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Strawberry-Blonde|Salon][getSlave($AS).pubicHColor = "strawberry-blonde",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[White|Salon][getSlave($AS).pubicHColor = "white",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	</div>
-
-	<div class="choices">
-		Style $his pubic hair:
-			[[Waxed|Salon][getSlave($AS).pubicHStyle = "waxed",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Landing strip|Salon][getSlave($AS).pubicHStyle = "in a strip",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Neat|Salon][getSlave($AS).pubicHStyle = "neat",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Bushy in the front|Salon][getSlave($AS).pubicHStyle = "bushy in the front and neat in the rear",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Bushy|Salon][getSlave($AS).pubicHStyle = "bushy",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Very Bushy|Salon][getSlave($AS).pubicHStyle = "very bushy",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	</div>
-
-<<else>>
-	<div>
-		$His groin is completely hairless.
-	</div>
-<</if>>
-
-/* UNDERARM HAIR */
-
-<<if getSlave($AS).underArmHStyle != "bald" && getSlave($AS).underArmHStyle != "hairless" && getSlave($AS).physicalAge >= _pubertyAge-1>>
-
-	<div>
-		$His
-		<<if getSlave($AS).physicalAge < _pubertyAge>>
-			wispy underarm hair
-		<<else>>
-			<<= getSlave($AS).underArmHStyle>> underarm hair
-		<</if>>
-		<<if getSlave($AS).underArmHStyle == "waxed">>
-			would be <<= getSlave($AS).underArmHColor>> if present.
-		<<else>>
-			is <<= getSlave($AS).underArmHColor>>.
-		<</if>>
-		<<if getSlave($AS).underArmHColor != getSlave($AS).hColor>>
-			[[Match the hair?|Salon][getSlave($AS).underArmHColor = getSlave($AS).hColor,cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-		<</if>>
-	</div>
-
-	<div class="choices">
-		Dye $his armpit hair:
-			[[Auburn|Salon][getSlave($AS).underArmHColor = "auburn",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Black|Salon][getSlave($AS).underArmHColor = "black",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Blazing Red|Salon][getSlave($AS).underArmHColor = "blazing red",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Blonde|Salon][getSlave($AS).underArmHColor = "blonde",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Blue-Violet|Salon][getSlave($AS).underArmHColor = "blue-violet",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Blue|Salon][getSlave($AS).underArmHColor = "blue",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Brown|Salon][getSlave($AS).underArmHColor = "brown",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Burgundy|Salon][getSlave($AS).underArmHColor = "burgundy",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Chestnut|Salon][getSlave($AS).underArmHColor = "chestnut",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Chocolate|Salon][getSlave($AS).underArmHColor = "chocolate brown",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Copper|Salon][getSlave($AS).underArmHColor = "copper",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Dark Blue|Salon][getSlave($AS).underArmHColor = "dark blue",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Dark Brown|Salon][getSlave($AS).underArmHColor = "dark brown",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Dark Orchid|Salon][getSlave($AS).underArmHColor = "dark orchid",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Deep Red|Salon][getSlave($AS).underArmHColor = "deep red",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Ginger|Salon][getSlave($AS).underArmHColor = "ginger",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Golden|Salon][getSlave($AS).underArmHColor = "golden",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Green-yellow|Salon][getSlave($AS).underArmHColor = "green-yellow",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Green|Salon][getSlave($AS).underArmHColor = "green",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Grey|Salon][getSlave($AS).underArmHColor = "grey",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Hazel|Salon][getSlave($AS).underArmHColor = "hazel",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Jet Black|Salon][getSlave($AS).underArmHColor = "jet black",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Neon Blue|Salon][getSlave($AS).underArmHColor = "neon blue",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Neon Green|Salon][getSlave($AS).underArmHColor = "neon green",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Neon Pink|Salon][getSlave($AS).underArmHColor = "neon pink",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Pink|Salon][getSlave($AS).underArmHColor = "pink",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Platinum Blonde|Salon][getSlave($AS).underArmHColor = "platinum blonde",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Purple|Salon][getSlave($AS).underArmHColor = "purple",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Red|Salon][getSlave($AS).underArmHColor = "red",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Sea Green|Salon][getSlave($AS).underArmHColor = "sea green",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Silver|Salon][getSlave($AS).underArmHColor = "silver",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Strawberry-Blonde|Salon][getSlave($AS).underArmHColor = "strawberry-blonde",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[White|Salon][getSlave($AS).underArmHColor = "white",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	</div>
-
-	<div class="choices">
-		Style $his armpit hair:
-			[[Waxed|Salon][getSlave($AS).underArmHStyle = "waxed",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Shaved|Salon][getSlave($AS).underArmHStyle = "shaved",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Neat|Salon][getSlave($AS).underArmHStyle = "neat",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-			| [[Bushy|Salon][getSlave($AS).underArmHStyle = "bushy",cashX(forceNeg($modCost), "slaveMod", getSlave($AS))]]
-	</div>
-
-<<else>>
-	<div>
-		$His underarms are completely hairless.
-	</div>
-<</if>>
diff --git a/src/uncategorized/scheduledEvent.tw b/src/uncategorized/scheduledEvent.tw
index e38e8183f4f89876d51dd7b422cf87b325e4e268..a3e1f99e31e51562dd44c08f9dd459393e88a8df 100644
--- a/src/uncategorized/scheduledEvent.tw
+++ b/src/uncategorized/scheduledEvent.tw
@@ -81,9 +81,9 @@
 
 <<if $rivalOwner == -1>>
 	<<goto "P rival initiation">>
-<<elseif ($slaveRebellion === 1 || $citizenRebellion === 1) && $secExpEnabled > 0>>
+<<elseif $secExpEnabled > 0 && $foughtThisWeek === 0 && ($slaveRebellion === 1 || $citizenRebellion === 1)>>
 	<<goto "rebellionOptions">>
-<<elseif $attackThisWeek == 1 && $secExpEnabled > 0>>
+<<elseif $secExpEnabled > 0 && $foughtThisWeek === 0 && $attackThisWeek == 1>>
 	<<goto "attackOptions">>
 <<elseif $PC.labor == 1>>
 	<<goto "SE Player Birth">>
diff --git a/src/uncategorized/seCoursing.tw b/src/uncategorized/seCoursing.tw
index 2f5b71138c73727fbb1e5e527cf73e59655b1386..f2812566172894debb44acdef7b4f1808fbcab33 100644
--- a/src/uncategorized/seCoursing.tw
+++ b/src/uncategorized/seCoursing.tw
@@ -25,8 +25,7 @@ It's time to go coursing. You meet with fellow members of the Coursing Associati
 <br><br>
 The rules have been explained to the hares: they're to be freed if they can reach the other side of the plaza without being caught and raped by the lurchers who will be released to chase them.
 
-<br><br>
-You lead your lurcher _activeLurcher.slaveName out on a leash, naked just like the hares.
+<br><br>You lead your lurcher _activeLurcher.slaveName out on a leash, naked just like the hares.
 
 <<if (_activeLurcher.dick > 0)>>
 	<<if canPenetrate(_activeLurcher) && (_activeLurcher.energy > 60) && (_activeLurcher.devotion > 20)>>
@@ -74,7 +73,6 @@ You lead your lurcher _activeLurcher.slaveName out on a leash, naked just like t
 
 <<if canSee(_activeLurcher)>>_activeLurcher.slaveName looks at you questioningly, wondering which of the hares $he should try to chase down and molest<<else>>_activeLurcher.slaveName looks at you questioningly, wondering which of the dinging bells $he should try to chase down and molest<</if>>.
 
-
 <<set $hare1 = 0, $hare2 = 0, $hare3 = 0>>
 
 <<set _possibleOrigins = []>>
@@ -103,379 +101,359 @@ You lead your lurcher _activeLurcher.slaveName out on a leash, naked just like t
 
 <table class="coursing" border="1">
 <<for _sec = 0; _sec < 3; _sec++>>
-<tr>
-<<set $hareSpeed = 10>>
-<<set $origin = _possibleOrigins.pluck()>> /* select random origin and remove from list to avoid using same origin multiple times */
-<<if $origin == "virgin">>
-	<<set $activeSlaveOneTimeMaxAge = 20>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<run generateSalonModifications($activeSlave)>>
-	<<set $activeSlave.anus = 1>>
-	<<set $activeSlave.vagina = 0>>
-	<<set $activeSlave.counter.anal += 1, $analTotal += 1>>
-	<<if $activeSlave.pubertyXX > 0>>
-		<<set $activeSlave.preg = -1>>
+	<tr>
+	<<set $hareSpeed = 10>>
+	<<set $origin = _possibleOrigins.pluck()>> /* select random origin and remove from list to avoid using same origin multiple times */
+	<<if $origin == "virgin">>
+		<<set _slave = GenerateNewSlave("XX", {maxAge: 20, disableDisability: 1})>>
+		<<run generateSalonModifications(_slave)>>
+		<<set _slave.anus = 1>>
+		<<set _slave.vagina = 0>>
+		<<run actX(_slave, "anal")>>
+		<<if _slave.pubertyXX > 0>>
+			<<set _slave.preg = -1>>
+		<</if>>
+		<<set _slave.ovaries = 1>>
+		<<set _slave.skill.vaginal = 0>>
+		<<set _slave.skill.oral = 0>>
+		<<set _slave.skill.anal = 0>>
+		<<set _slave.skill.whoring = 0>>
+		<<set _slave.weight = random(-50,50)>>
+	<<elseif $origin == "heavily pregnant">>
+		<<set _slave = GenerateNewSlave("XX", {minAge: $fertilityAge, maxAge: 20, disableDisability: 1, ageOverridesPedoMode: 1})>>
+		<<set _slave.anus = 1>>
+		<<set _slave.vagina = 1>>
+		<<run actX(_slave, "vaginal")>>
+		<<set _slave.preg = random(30,40)>>
+		<<set _slave.pregKnown = 1, _slave.pregType = 1, _slave.pregWeek = _slave.preg>>
+		<<run SetBellySize(_slave)>>
+		<<set _slave.ovaries = 1>>
+		<<set _slave.skill.vaginal = 0>>
+		<<set _slave.skill.oral = 0>>
+		<<set _slave.skill.anal = 0>>
+		<<set _slave.skill.whoring = 0>>
+		<<set _slave.weight = random(-20,100)>>
+		<<set _slave.career = App.Data.Careers.General.young.random()>>
+	<<elseif $origin == "housewife">>
+		<<set _slave = GenerateNewSlave("XX", {minAge: 35, maxAge: 39, disableDisability: 1})>>
+		<<set _slave.boobs += 800>>
+		<<set _slave.boobsImplant += 800>>
+		<<set _slave.boobsImplantType = "normal">>
+		<<set _slave.butt += 1>>
+		<<set _slave.buttImplant += 1>>
+		<<set _slave.buttImplantType = "normal">>
+		<<set _slave.face = 55>>
+		<<set _slave.faceImplant += 20>>
+		<<set _slave.anus = 1>>
+		<<set _slave.vagina = 1>>
+		<<set _slave.counter.anal += 1, $analTotal += 1>>
+		<<set _slave.preg = -1>>
+		<<set _slave.ovaries = 1>>
+		<<set _slave.skill.vaginal = 35>>
+		<<set _slave.skill.oral = 100>>
+		<<set _slave.skill.anal = 15>>
+		<<set _slave.skill.whoring = 35>>
+		<<set _slave.career = either("a housewife", "a trophy wife")>>
+		<<set _slave.weight = random(-50,100)>>
+	<<elseif $origin == "disobedient young">>
+		<<set _slave = GenerateNewSlave("XX", {maxAge: 25, disableDisability: 1})>>
+		<<run generateSalonModifications(_slave)>>
+		<<set _slave.anus = 1>>
+		<<set _slave.vagina = 1>>
+		<<run actX(_slave, "anal")>>
+		<<if _slave.pubertyXX > 0>>
+			<<set _slave.preg = -1>>
+		<</if>>
+		<<set _slave.ovaries = 1>>
+		<<set _slave.skill.vaginal = 15>>
+		<<set _slave.skill.oral = 15>>
+		<<set _slave.skill.anal = 15>>
+		<<set _slave.skill.whoring = 15>>
+		<<set _slave.sexualFlaw = either("hates anal", "hates oral", "hates penetration", "idealistic")>>
+		<<set _slave.behavioralFlaw = either("arrogant", "bitchy", "hates men")>>
+		<<set _slave.energy = 10>>
+		<<set _slave.fetish = "none">>
+		<<set _slave.muscles = random(20,50)>>
+		<<set _slave.weight = random(-20,20)>>
+	<<elseif $origin == "disobedient young dickgirl">>
+		<<set _slave = GenerateNewSlave("XY", {maxAge: 25, disableDisability: 1})>>
+		<<run generateSalonModifications(_slave)>>
+		<<set _slave.anus = 2>>
+		<<run actX(_slave, "anal")>>
+		<<set _slave.dick = random(2,4)>>
+		<<set _slave.balls = random(2,4)>>
+		<<set _slave.skill.oral = 0>>
+		<<set _slave.skill.anal = 0>>
+		<<set _slave.skill.whoring = 0>>
+		<<set _slave.sexualFlaw = either("hates oral", "hates anal", "hates penetration")>>
+		<<set _slave.behavioralFlaw = either("arrogant", "bitchy", "hates men")>>
+		<<set _slave.attrXY = 0>>
+		<<set _slave.attrXX = 70>>
+		<<set _slave.fetish = "none">>
+		<<set _slave.muscles = random(20,50)>>
+		<<set _slave.weight = random(-20,50)>>
+	<<elseif $origin == "huge balled">>
+		<<set _slave = GenerateNewSlave("XY", {maxAge: 25, disableDisability: 1})>>
+		<<run generateSalonModifications(_slave)>>
+		<<set _slave.anus = 1>>
+		<<run actX(_slave, "anal")>>
+		<<set _slave.balls = 5>>
+		<<set _slave.scrotum = 5>>
+		<<set _slave.dick = random(3,5)>>
+		<<set _slave.skill.oral = 0>>
+		<<set _slave.skill.anal = 0>>
+		<<set _slave.skill.whoring = 0>>
+		<<set _slave.weight = random(-50,100)>>
+	<<elseif $origin == "feminized">>
+		<<set _slave = GenerateNewSlave("XY", {maxAge: 25, disableDisability: 1})>>
+		<<run generateSalonModifications(_slave)>>
+		<<set _slave.boobs += 800>>
+		<<set _slave.boobsImplant += 800>>
+		<<set _slave.boobsImplantType = "fillable">>
+		<<set _slave.butt += 1>>
+		<<set _slave.buttImplant += 1>>
+		<<set _slave.buttImplantType = "normal">>
+		<<set _slave.face = Math.clamp(_slave.face+20, -100, 100)>>
+		<<set _slave.faceImplant += 20>>
+		<<set _slave.anus = 3>>
+		<<run actX(_slave, "anal")>>
+		<<set _slave.balls = random(0,1)>>
+		<<set _slave.dick = random(1,2)>>
+		<<set _slave.skill.oral = 15>>
+		<<set _slave.skill.anal = 35>>
+		<<set _slave.skill.whoring = 15>>
+		<<set _slave.attrXY = 100>>
+		<<set _slave.attrXX = 0>>
+		<<set _slave.weight = random(-100,200)>>
 	<</if>>
-	<<set $activeSlave.ovaries = 1>>
-	<<set $activeSlave.skill.vaginal = 0>>
-	<<set $activeSlave.skill.oral = 0>>
-	<<set $activeSlave.skill.anal = 0>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.weight = random(-50,50)>>
-<<elseif $origin == "heavily pregnant">>
-	<<set $activeSlaveOneTimeMinAge = $fertilityAge>>
-	<<set $activeSlaveOneTimeMaxAge = 20>>
-	<<set $one_time_age_overrides_pedo_mode = 1>> /% Old enough to be pregnant. %/
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.anus = 1>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.counter.vaginal += 1, $vaginalTotal += 1>>
-	<<set $activeSlave.preg = random(30,40)>>
-	<<set $activeSlave.pregKnown = 1, $activeSlave.pregType = 1, $activeSlave.pregWeek = $activeSlave.preg>>
-	<<run SetBellySize($activeSlave)>>
-	<<set $activeSlave.ovaries = 1>>
-	<<set $activeSlave.skill.vaginal = 0>>
-	<<set $activeSlave.skill.oral = 0>>
-	<<set $activeSlave.skill.anal = 0>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.weight = random(-20,100)>>
-	<<set $activeSlave.career = App.Data.Careers.General.young.random()>>
-<<elseif $origin == "housewife">>
-	<<set $activeSlaveOneTimeMinAge = 35>>
-	<<set $activeSlaveOneTimeMaxAge = 39>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.boobs += 800>>
-	<<set $activeSlave.boobsImplant += 800>>
-	<<set $activeSlave.boobsImplantType = "normal">>
-	<<set $activeSlave.butt += 1>>
-	<<set $activeSlave.buttImplant += 1>>
-	<<set $activeSlave.buttImplantType = "normal">>
-	<<set $activeSlave.face = 55>>
-	<<set $activeSlave.faceImplant += 20>>
-	<<set $activeSlave.anus = 1>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.counter.anal += 1, $analTotal += 1>>
-	<<set $activeSlave.preg = -1>>
-	<<set $activeSlave.ovaries = 1>>
-	<<set $activeSlave.skill.vaginal = 35>>
-	<<set $activeSlave.skill.oral = 100>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 35>>
-	<<set $activeSlave.career = either("a housewife", "a trophy wife")>>
-	<<set $activeSlave.weight = random(-50,100)>>
-<<elseif $origin == "disobedient young">>
-	<<set $activeSlaveOneTimeMaxAge = 25>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<run generateSalonModifications($activeSlave)>>
-	<<set $activeSlave.anus = 1>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.counter.anal += 1, $analTotal += 1>>
-	<<if $activeSlave.pubertyXX > 0>>
-		<<set $activeSlave.preg = -1>>
+	<<setLocalPronouns _slave 2>>
+	/* 000-250-006 */
+	<<if $seeImages && $seeReportImages>>
+		<div class="imageRef tinyImg">
+			<<= SlaveArt(_slave, 0, 0)>>
+		</div>
 	<</if>>
-	<<set $activeSlave.ovaries = 1>>
-	<<set $activeSlave.skill.vaginal = 15>>
-	<<set $activeSlave.skill.oral = 15>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 15>>
-	<<set $activeSlave.sexualFlaw = either("hates anal", "hates oral", "hates penetration", "idealistic")>>
-	<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy", "hates men")>>
-	<<set $activeSlave.energy = 10>>
-	<<set $activeSlave.fetish = "none">>
-	<<set $activeSlave.muscles = random(20,50)>>
-	<<set $activeSlave.weight = random(-20,20)>>
-<<elseif $origin == "disobedient young dickgirl">>
-	<<set $activeSlaveOneTimeMaxAge = 25>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XY")>>
-	<<run generateSalonModifications($activeSlave)>>
-	<<set $activeSlave.anus = 2>>
-	<<set $activeSlave.counter.anal += 1, $analTotal += 1>>
-	<<set $activeSlave.dick = random(2,4)>>
-	<<set $activeSlave.balls = random(2,4)>>
-	<<set $activeSlave.skill.oral = 0>>
-	<<set $activeSlave.skill.anal = 0>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.sexualFlaw = either("hates oral", "hates anal", "hates penetration")>>
-	<<set $activeSlave.behavioralFlaw = either("arrogant", "bitchy", "hates men")>>
-	<<set $activeSlave.attrXY = 0>>
-	<<set $activeSlave.attrXX = 70>>
-	<<set $activeSlave.fetish = "none">>
-	<<set $activeSlave.muscles = random(20,50)>>
-	<<set $activeSlave.weight = random(-20,50)>>
-<<elseif $origin == "huge balled">>
-	<<set $activeSlaveOneTimeMaxAge = 25>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XY")>>
-	<<run generateSalonModifications($activeSlave)>>
-	<<set $activeSlave.anus = 1>>
-	<<set $activeSlave.counter.anal += 1, $analTotal += 1>>
-	<<set $activeSlave.balls = 5>>
-	<<set $activeSlave.scrotum = 5>>
-	<<set $activeSlave.dick = random(3,5)>>
-	<<set $activeSlave.skill.oral = 0>>
-	<<set $activeSlave.skill.anal = 0>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.weight = random(-50,100)>>
-<<elseif $origin == "feminized">>
-	<<set $activeSlaveOneTimeMaxAge = 25>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XY")>>
-	<<run generateSalonModifications($activeSlave)>>
-	<<set $activeSlave.boobs += 800>>
-	<<set $activeSlave.boobsImplant += 800>>
-	<<set $activeSlave.boobsImplantType = "fillable">>
-	<<set $activeSlave.butt += 1>>
-	<<set $activeSlave.buttImplant += 1>>
-	<<set $activeSlave.buttImplantType = "normal">>
-	<<set $activeSlave.face = Math.clamp($activeSlave.face+20,-100,100)>>
-	<<set $activeSlave.faceImplant += 20>>
-	<<set $activeSlave.anus = 3>>
-	<<set $activeSlave.counter.anal += 1, $analTotal += 1>>
-	<<set $activeSlave.balls = random(0,1)>>
-	<<set $activeSlave.dick = random(1,2)>>
-	<<set $activeSlave.skill.oral = 15>>
-	<<set $activeSlave.skill.anal = 35>>
-	<<set $activeSlave.skill.whoring = 15>>
-	<<set $activeSlave.attrXY = 100>>
-	<<set $activeSlave.attrXX = 0>>
-	<<set $activeSlave.weight = random(-100,200)>>
-<</if>>
-<<setLocalPronouns $activeSlave 2>>
-/* 000-250-006 */
-<<if $seeImages && $seeReportImages>>
-<div class="imageRef tinyImg">
-	<<= SlaveArt($activeSlave, 0, 0)>>
-</div>
-<</if>>
-/* 000-250-006 */
-<<if _sec == 0>>
-	<<link "The first hare">>
-		<<replace "#result">>
-			<<set $activeSlave = clone($hare1), $origin = $origin1, $hareSpeed = $hareSpeed1>>
-			<<include "SE coursing race">>
-		<</replace>>
-		<<replace "#art-frame">>
-			<<set _clothesTemp = _activeLurcher.clothes, _activeLurcher.clothes = "no clothing">>
-			<<if $activeSlave != 0>>
-				<<set _clothesTemp2 = $activeSlave.clothes, $activeSlave.clothes = "no clothing">>
-			<</if>>
-			/* 000-250-006 */
-			<<if $seeImages == 1>>
-				<div class="imageColumn">
-					<div class="imageRef medImg">
-						<<= SlaveArt(_activeLurcher, 2, 0)>>
-					</div>
-					<<if $activeSlave != 0>>
+	/* 000-250-006 */
+	<<if $origin == "virgin">>
+		is an appealingly young _slave.race _girl2, and has V symbols drawn over _his2 cunt and on _his2 lower back, in the interests of fairness. _He2's a @@.pink;double virgin. @@<<if !canSee(_activeLurcher)>>To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>>
+	<<elseif $origin == "heavily pregnant">>
+		is <<= addA(_slave.race)>> _girl2, young and healthy but @@.pink;heavily pregnant.@@ _He2's probably been selected to be a hare as a joke, or because someone hates _him2. <<if !canSee(_activeLurcher)>>To accommodate your blind lurcher, a bell is attached to _his2 popped navel.<</if>>
+	<<elseif $origin == "housewife">>
+		is <<= addA(_slave.race)>> _woman2, no longer young, but attractive enough in a fake sort of way. _He2 has obviously been crying, and has probably been recently enslaved from a comfortable life, like that of a @@.pink;house<<= $wife>> or a trophy $wife.@@ <<if !canSee(_activeLurcher)>>To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>>
+	<<elseif $origin == "disobedient young">>
+		is a fit young _slave.race _girl2, and is far more watchful and alert than _his2 fellow hares. _He2 may be a @@.pink;disobedient slave@@ here because _he2 was difficult to train. <<if !canSee(_activeLurcher)>>To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>>
+	<<elseif $origin == "disobedient young dickgirl">>
+		is a strong young _slave.race slave who retains _his2 cock and balls, and looks determined. Perhaps _he2's a @@.pink;resistant dickgirl@@ who's been difficult to turn into a good girl. <<if !canSee(_activeLurcher)>>To accommodate your blind lurcher, a bell is fastened around _his2 cock.<</if>>
+	<<elseif $origin == "huge balled">>
+		is <<= addA(_slave.race)>> slave whose distinguishing characteristic is a dangling scrotum and a pair of @@.pink;huge balls.@@ This impediment bumps against _his2 thighs as _he2's made ready. <<if !canSee(_activeLurcher)>>To accommodate your blind lurcher, a bell is fastened around _his2 hefty testicles.<</if>>
+	<<elseif $origin == "feminized">>
+		is <<= addA(_slave.race)>> bitch with a tiny dick who has been @@.pink;heavily feminized,@@ yet seems terrified and very new to slavery. _His2 fake tits and girly behavior must be from _his2 life before _he2 was a slave. <<if !canSee(_activeLurcher)>>To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>>
+	<</if>>
+
+	<<set _slave.origin = "Your lurcher " + _activeLurcher.slaveName + " caught $him coursing; $he was a " + $origin + " hare.">>
+	<<run setHealth(_slave, jsRandom(30,50))>>
+	<<set _slave.devotion = random(-45,-25)>>
+	<<set _slave.trust = random(-60,-75)>>
+	<<set _slave.oldDevotion = _slave.devotion>>
+
+	<<if (_slave.physicalAge >= 100)>>
+		_He2 is really, really old and won't stand a chance of shuffling off, though tackling _him2 seems like it may be a bad idea.
+		<<set $hareSpeed -= 5>>
+	<<elseif (_slave.physicalAge >= 85)>>
+		_He2 is very old and should be an easy catch.
+		<<set $hareSpeed -= 4>>
+	<<elseif (_slave.physicalAge >= 70)>>
+		_He2 is old and slow.
+		<<set $hareSpeed -= 3>>
+	<</if>>
+	<<if _slave.weight > 190>>
+		_He2's practically all fat and no slave; _he2's half-expected to roll _his2 way to the finish like an overfed slutty bowling ball.
+		<<set $hareSpeed -= 5>>
+	<<elseif _slave.weight > 160>>
+		_He2's a catastrophically fat slut of a slave, and may stand a better chance of getting away rolling than running.
+		<<set $hareSpeed -= 3>>
+	<<elseif _slave.weight > 95>>
+		_He2's a ridiculously fat slut of a slave with plenty of flesh to grab on to; _his2 constant jiggling will be a sight to behold, however.
+		<<set $hareSpeed -= 2>>
+	<<elseif _slave.weight > 30>>
+		_He2's chubby enough that _his2 weight will reduce _his2 speed.
+		<<set $hareSpeed -= 1>>
+	<<elseif _slave.weight < -95>>
+		_He2's so skinny that it's not likely _he2's physically fit enough to be quick.
+		<<set $hareSpeed -= 1>>
+	<</if>>
+	<<if _slave.muscles > 50>>
+		_He2's so heavily muscled that _he2's probably slower than _he2 would be if _he2 were merely fit.
+		<<set $hareSpeed -= 1>>
+	<<elseif _slave.muscles > 30>>
+		_He2's quite toned, which will give _him2 an edge once _he2's up to speed.
+		<<set $hareSpeed += 1>>
+	<<elseif _slave.muscles <= 5>>
+		_He2's soft, and _his2 legs show no sign of tone at all.
+		<<set $hareSpeed -= 1>>
+	<</if>>
+	<<if _slave.height >= 185>>
+		_He2's tall enough that _his2 height will probably slow _him2 down.
+		<<set $hareSpeed -= 1>>
+	<<elseif _slave.height < 150>>
+		_He2's short enough that _his2 short legs will probably slow _him2 down.
+		<<set $hareSpeed -= 2>>
+	<</if>>
+	<<if _slave.boobs >= 2000>>
+		_He2 has absurd tits that will destroy any chance _he2 has of getting away.
+		<<set $hareSpeed -= 2>>
+	<<elseif _slave.boobs >= 800>>
+		_He2 has huge boobs that will make it painful for _him2 to run hard.
+		<<set $hareSpeed -= 1>>
+	<</if>>
+	<<if _slave.butt >= 6>>
+		_He2 has a monstrous bottom that won't help _his2 gait.
+		<<set $hareSpeed -= 1>>
+	<</if>>
+	<<if _slave.dick >= 5>>
+		_His2 big cock is going to bounce around cruelly.
+		<<set $hareSpeed -= 1>>
+	<</if>>
+	<<if (_slave.balls >= 5) && (_slave.scrotum > 0)>>
+		_His2 balls are likely to hurt badly enough, running naked, to slow _him2 down.
+		<<set $hareSpeed -= 1>>
+	<</if>>
+	<<if _slave.belly >= 60000>>
+		_He2's so massively pregnant it'll be lucky if _he2 even makes it anywhere.
+		<<set $hareSpeed -= 10>>
+	<<elseif _slave.belly >= 10000>>
+		_He2 pregnant belly will probably stop _him2 from running at all.
+		<<set $hareSpeed -= 5>>
+	<<elseif _slave.belly >= 5000>>
+		_He2's visibly pregnant and likely to be cautious and unsure about running.
+		<<set $hareSpeed -= 3>>
+	<<elseif _slave.belly >= 1500>>
+		There is a slight roundness to _his2 middle, likely an early pregnancy that will distract _him2.
+		<<set $hareSpeed -= 1>>
+	<</if>>
+	<<if _slave.health.tired > 90>>
+		_He2 is obviously tired and will likely be a quick catch.
+		<<set $hareSpeed -= 5>>
+	<<elseif _slave.health.tired > 60>>
+		_He2 seems to be rather tired, which will slow _him2 out of the gate.
+		<<set $hareSpeed -= 2>>
+	<<elseif _slave.health.tired > 30>>
+		_He2 seems a little tired, which will slow _his2 acceleration.
+		<<set $hareSpeed -= 1>>
+	<</if>>
+
+	<<if _sec == 0>>
+		<<set $hare1 = _slave>>
+		<<set $origin1 = $origin>>
+		<<set $hareSpeed1 = $hareSpeed>>
+	<<elseif _sec == 1>>
+		<<set $hare2 = _slave>>
+		<<set $origin2 = $origin>>
+		<<set $hareSpeed2 = $hareSpeed>>
+	<<else>>
+		<<set $hare3 = _slave>>
+		<<set $origin3 = $origin>>
+		<<set $hareSpeed3 = $hareSpeed>>
+	<</if>>
+	<<if _sec == 0>>
+		<<link "The first hare">>
+			<<replace "#result">>
+				<<set _slave = $hare1, $origin = $origin1, $hareSpeed = $hareSpeed1>>
+				<<include "SE coursing race">>
+			<</replace>>
+			<<replace "#art-frame">>
+				<<set _clothesTemp = _activeLurcher.clothes, _activeLurcher.clothes = "no clothing">>
+				<<if _slave != 0>>
+					<<set _clothesTemp2 = _slave.clothes, _slave.clothes = "no clothing">>
+				<</if>>
+				/* 000-250-006 */
+				<<if $seeImages == 1>>
+					<div class="imageColumn">
 						<div class="imageRef medImg">
-							<<= SlaveArt($activeSlave, 2, 0)>>
+							<<= SlaveArt(_activeLurcher, 2, 0)>>
 						</div>
-					<</if>>
-				</div>
-			<</if>>
-			/* 000-250-006 */
-			<<set _activeLurcher.clothes = _clothesTemp>>
-			<<if $activeSlave != 0>>
-				<<set $activeSlave.clothes = _clothesTemp2>>
-			<</if>>
-			<<unset _activeLurcher>>
-		<</replace>>
-	<</link>>
-<<elseif _sec == 1>>
-	<<link "The second hare">>
-		<<replace "#result">>
-			<<set $activeSlave = clone($hare2), $origin = $origin2, $hareSpeed = $hareSpeed2>>
-			<<set $hare2 = clone($hare1), $origin2 = $origin1, $hareSpeed2 = $hareSpeed1>>
-			<<include "SE coursing race">>
-		<</replace>>
-		<<replace "#art-frame">>
-			<<set _clothesTemp = _activeLurcher.clothes, _activeLurcher.clothes = "no clothing">>
-			<<if $activeSlave != 0>>
-				<<set _clothesTemp2 = $activeSlave.clothes, $activeSlave.clothes = "no clothing">>
-			<</if>>
-			/* 000-250-006 */
-			<<if $seeImages == 1>>
-				<div class="imageColumn">
-					<div class="imageRef medImg">
-						<<= SlaveArt(_activeLurcher, 2, 0)>>
+						<<if _slave != 0>>
+							<div class="imageRef medImg">
+								<<= SlaveArt(_slave, 2, 0)>>
+							</div>
+						<</if>>
 					</div>
-					<<if $activeSlave != 0>>
+				<</if>>
+				/* 000-250-006 */
+				<<set _activeLurcher.clothes = _clothesTemp>>
+				<<if _slave != 0>>
+					<<set _slave.clothes = _clothesTemp2>>
+				<</if>>
+				<<unset _activeLurcher>>
+			<</replace>>
+		<</link>>
+	<<elseif _sec == 1>>
+		<<link "The second hare">>
+			<<replace "#result">>
+				<<set _slave = $hare2, $origin = $origin2, $hareSpeed = $hareSpeed2>>
+				<<include "SE coursing race">>
+			<</replace>>
+			<<replace "#art-frame">>
+				<<set _clothesTemp = _activeLurcher.clothes, _activeLurcher.clothes = "no clothing">>
+				<<if _slave != 0>>
+					<<set _clothesTemp2 = _slave.clothes, _slave.clothes = "no clothing">>
+				<</if>>
+				/* 000-250-006 */
+				<<if $seeImages == 1>>
+					<div class="imageColumn">
 						<div class="imageRef medImg">
-							<<= SlaveArt($activeSlave, 2, 0)>>
+							<<= SlaveArt(_activeLurcher, 2, 0)>>
 						</div>
-					<</if>>
-				</div>
-			<</if>>
-			/* 000-250-006 */
-			<<set _activeLurcher.clothes = _clothesTemp>>
-			<<if $activeSlave != 0>>
-				<<set $activeSlave.clothes = _clothesTemp2>>
-			<</if>>
-			<<unset _activeLurcher>>
-		<</replace>>
-	<</link>>
-<<else>>
-	<<link "The third and final hare">>
-		<<replace "#result">>
-			<<set $activeSlave = clone($hare3), $origin = $origin3, $hareSpeed = $hareSpeed3>>
-			<<set $hare3 = clone($hare1), $origin3 = $origin1, $hareSpeed3 = $hareSpeed1>>
-			<<include "SE coursing race">>
-		<</replace>>
-		<<replace "#art-frame">>
-			<<set _clothesTemp = _activeLurcher.clothes, _activeLurcher.clothes = "no clothing">>
-			<<if $activeSlave != 0>>
-				<<set _clothesTemp2 = $activeSlave.clothes, $activeSlave.clothes = "no clothing">>
-			<</if>>
-			/* 000-250-006 */
-			<<if $seeImages == 1>>
-				<div class="imageColumn">
-					<div class="imageRef medImg">
-						<<= SlaveArt(_activeLurcher, 2, 0)>>
+						<<if _slave != 0>>
+							<div class="imageRef medImg">
+								<<= SlaveArt(_slave, 2, 0)>>
+							</div>
+						<</if>>
 					</div>
-					<<if $activeSlave != 0>>
+				<</if>>
+				/* 000-250-006 */
+				<<set _activeLurcher.clothes = _clothesTemp>>
+				<<if _slave != 0>>
+					<<set _slave.clothes = _clothesTemp2>>
+				<</if>>
+				<<unset _activeLurcher>>
+			<</replace>>
+		<</link>>
+	<<else>>
+		<<link "The third and final hare">>
+			<<replace "#result">>
+				<<set _slave = $hare3, $origin = $origin3, $hareSpeed = $hareSpeed3>>
+				<<include "SE coursing race">>
+			<</replace>>
+			<<replace "#art-frame">>
+				<<set _clothesTemp = _activeLurcher.clothes, _activeLurcher.clothes = "no clothing">>
+				<<if _slave != 0>>
+					<<set _clothesTemp2 = _slave.clothes, _slave.clothes = "no clothing">>
+				<</if>>
+				/* 000-250-006 */
+				<<if $seeImages == 1>>
+					<div class="imageColumn">
 						<div class="imageRef medImg">
-							<<= SlaveArt($activeSlave, 2, 0)>>
+							<<= SlaveArt(_activeLurcher, 2, 0)>>
 						</div>
-					<</if>>
-				</div>
-			<</if>>
-			/* 000-250-006 */
-			<<set _activeLurcher.clothes = _clothesTemp>>
-			<<if $activeSlave != 0>>
-				<<set $activeSlave.clothes = _clothesTemp2>>
-			<</if>>
-			<<unset _activeLurcher>>
-		<</replace>>
-	<</link>>
-<</if>>
-<<if $origin == "virgin">>
-	is an appealingly young $activeSlave.race _girl2, and has V symbols drawn over _his2 cunt and on _his2 lower back, in the interests of fairness. _He2's a @@.pink;double virgin. @@<<if !canSee(_activeLurcher)>>To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>>
-<<elseif $origin == "heavily pregnant">>
-	is <<= addA($activeSlave.race)>> _girl2, young and healthy but @@.pink;heavily pregnant.@@ _He2's probably been selected to be a hare as a joke, or because someone hates _him2. <<if !canSee(_activeLurcher)>>To accommodate your blind lurcher, a bell is attached to _his2 popped navel.<</if>>
-<<elseif $origin == "housewife">>
-	is <<= addA($activeSlave.race)>> _woman2, no longer young, but attractive enough in a fake sort of way. _He2 has obviously been crying, and has probably been recently enslaved from a comfortable life, like that of a @@.pink;house<<= $wife>> or a trophy $wife.@@ <<if !canSee(_activeLurcher)>>To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>>
-<<elseif $origin == "disobedient young">>
-	is a fit young $activeSlave.race _girl2, and is far more watchful and alert than _his2 fellow hares. _He2 may be a @@.pink;disobedient slave@@ here because _he2 was difficult to train. <<if !canSee(_activeLurcher)>>To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>>
-<<elseif $origin == "disobedient young dickgirl">>
-	is a strong young $activeSlave.race slave who retains _his2 cock and balls, and looks determined. Perhaps _he2's a @@.pink;resistant dickgirl@@ who's been difficult to turn into a good girl. <<if !canSee(_activeLurcher)>>To accommodate your blind lurcher, a bell is fastened around _his2 cock.<</if>>
-<<elseif $origin == "huge balled">>
-	is <<= addA($activeSlave.race)>> slave whose distinguishing characteristic is a dangling scrotum and a pair of @@.pink;huge balls.@@ This impediment bumps against _his2 thighs as _he2's made ready. <<if !canSee(_activeLurcher)>>To accommodate your blind lurcher, a bell is fastened around _his2 hefty testicles.<</if>>
-<<elseif $origin == "feminized">>
-	is <<= addA($activeSlave.race)>> bitch with a tiny dick who has been @@.pink;heavily feminized,@@ yet seems terrified and very new to slavery. _His2 fake tits and girly behavior must be from _his2 life before _he2 was a slave. <<if !canSee(_activeLurcher)>>To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>>
-<</if>>
-
-<<set $activeSlave.origin = "Your lurcher " + _activeLurcher.slaveName + " caught $him coursing; $he was a " + $origin + " hare.">>
-<<run setHealth($activeSlave, jsRandom(30,50))>>
-<<set $activeSlave.devotion = random(-45,-25)>>
-<<set $activeSlave.trust = random(-60,-75)>>
-<<set $activeSlave.oldDevotion = $activeSlave.devotion>>
-
-<<if ($activeSlave.physicalAge >= 100)>>
-	_He2 is really, really old and won't stand a chance of shuffling off, though tackling _him2 seems like it may be a bad idea.
-	<<set $hareSpeed -= 5>>
-<<elseif ($activeSlave.physicalAge >= 85)>>
-	_He2 is very old and should be an easy catch.
-	<<set $hareSpeed -= 4>>
-<<elseif ($activeSlave.physicalAge >= 70)>>
-	_He2 is old and slow.
-	<<set $hareSpeed -= 3>>
-<</if>>
-<<if $activeSlave.weight > 190>>
-	_He2's practically all fat and no slave; _he2's half-expected to roll _his2 way to the finish like an overfed slutty bowling ball.
-	<<set $hareSpeed -= 5>>
-<<elseif $activeSlave.weight > 160>>
-	_He2's a catastrophically fat slut of a slave, and may stand a better chance of getting away rolling than running.
-	<<set $hareSpeed -= 3>>
-<<elseif $activeSlave.weight > 95>>
-	_He2's a ridiculously fat slut of a slave with plenty of flesh to grab on to; _his2 constant jiggling will be a sight to behold, however.
-	<<set $hareSpeed -= 2>>
-<<elseif $activeSlave.weight > 30>>
-	_He2's chubby enough that _his2 weight will reduce _his2 speed.
-	<<set $hareSpeed -= 1>>
-<<elseif $activeSlave.weight < -95>>
-	_He2's so skinny that it's not likely _he2's physically fit enough to be quick.
-	<<set $hareSpeed -= 1>>
-<</if>>
-<<if $activeSlave.muscles > 50>>
-	_He2's so heavily muscled that _he2's probably slower than _he2 would be if _he2 were merely fit.
-	<<set $hareSpeed -= 1>>
-<<elseif $activeSlave.muscles > 30>>
-	_He2's quite toned, which will give _him2 an edge once _he2's up to speed.
-	<<set $hareSpeed += 1>>
-<<elseif $activeSlave.muscles <= 5>>
-	_He2's soft, and _his2 legs show no sign of tone at all.
-	<<set $hareSpeed -= 1>>
-<</if>>
-<<if $activeSlave.height >= 185>>
-	_He2's tall enough that _his2 height will probably slow _him2 down.
-	<<set $hareSpeed -= 1>>
-<<elseif $activeSlave.height < 150>>
-	_He2's short enough that _his2 short legs will probably slow _him2 down.
-	<<set $hareSpeed -= 2>>
-<</if>>
-<<if $activeSlave.boobs >= 2000>>
-	_He2 has absurd tits that will destroy any chance _he2 has of getting away.
-	<<set $hareSpeed -= 2>>
-<<elseif $activeSlave.boobs >= 800>>
-	_He2 has huge boobs that will make it painful for _him2 to run hard.
-	<<set $hareSpeed -= 1>>
-<</if>>
-<<if $activeSlave.butt >= 6>>
-	_He2 has a monstrous bottom that won't help _his2 gait.
-	<<set $hareSpeed -= 1>>
-<</if>>
-<<if $activeSlave.dick >= 5>>
-	_His2 big cock is going to bounce around cruelly.
-	<<set $hareSpeed -= 1>>
-<</if>>
-<<if ($activeSlave.balls >= 5) && ($activeSlave.scrotum > 0)>>
-	_His2 balls are likely to hurt badly enough, running naked, to slow _him2 down.
-	<<set $hareSpeed -= 1>>
-<</if>>
-<<if $activeSlave.belly >= 60000>>
-	_He2's so massively pregnant it'll be lucky if _he2 even makes it anywhere.
-	<<set $hareSpeed -= 10>>
-<<elseif $activeSlave.belly >= 10000>>
-	_He2 pregnant belly will probably stop _him2 from running at all.
-	<<set $hareSpeed -= 5>>
-<<elseif $activeSlave.belly >= 5000>>
-	_He2's visibly pregnant and likely to be cautious and unsure about running.
-	<<set $hareSpeed -= 3>>
-<<elseif $activeSlave.belly >= 1500>>
-	There is a slight roundness to _his2 middle, likely an early pregnancy that will distract _him2.
-	<<set $hareSpeed -= 1>>
-<</if>>
-<<if $activeSlave.health.tired > 90>>
-	_He2 is obviously tired and will likely be a quick catch.
-	<<set $hareSpeed -= 5>>
-<<elseif $activeSlave.health.tired > 60>>
-	_He2 seems to be rather tired, which will slow _him2 out of the gate.
-	<<set $hareSpeed -= 2>>
-<<elseif $activeSlave.health.tired > 30>>
-	_He2 seems a little tired, which will slow _his2 acceleration.
-	<<set $hareSpeed -= 1>>
-<</if>>
-
-<<if _sec == 0>>
-	<<set $hare1 = $activeSlave>>
-	<<set $origin1 = $origin>>
-	<<set $hareSpeed1 = $hareSpeed>>
-<<elseif _sec == 1>>
-	<<set $hare2 = $activeSlave>>
-	<<set $origin2 = $origin>>
-	<<set $hareSpeed2 = $hareSpeed>>
-<<else>>
-	<<set $hare3 = $activeSlave>>
-	<<set $origin3 = $origin>>
-	<<set $hareSpeed3 = $hareSpeed>>
-<</if>>
-</tr>
-
+						<<if _slave != 0>>
+							<div class="imageRef medImg">
+								<<= SlaveArt(_slave, 2, 0)>>
+							</div>
+						<</if>>
+					</div>
+				<</if>>
+				/* 000-250-006 */
+				<<set _activeLurcher.clothes = _clothesTemp>>
+				<<if _slave != 0>>
+					<<set _slave.clothes = _clothesTemp2>>
+				<</if>>
+				<<unset _activeLurcher>>
+			<</replace>>
+		<</link>>
+	<</if>>
+	</tr>
 <</for>>
 </table>
 <br><br>
-</span>
+</span>
\ No newline at end of file
diff --git a/src/uncategorized/seCoursingRace.tw b/src/uncategorized/seCoursingRace.tw
index c9617f0961e9b6b1b2996cf582c7e30da0259e1a..f1c6faf2e09623b244ebda4947436d0151fbdc71 100644
--- a/src/uncategorized/seCoursingRace.tw
+++ b/src/uncategorized/seCoursingRace.tw
@@ -2,7 +2,7 @@
 
 <<set _activeLurcher = getSlave($LurcherID)>>
 <<setLocalPronouns _activeLurcher>>
-<<setLocalPronouns $activeSlave 2>>
+<<setLocalPronouns _slave 2>>
 
 You place your hand on the leash's quick release and <<if canHear(_activeLurcher)>>whisper your direction into $his ear without letting the other competitors or their lurchers hear<<else>>gently point $him towards the target hare without letting the other competitors or their lurchers see<</if>>. Then, you gently push $him down into $his starting crouch. The umpire trips the hares' releases, a few <<if $showInches == 2>>yards<<else>>meters<</if>> in front of you and _activeLurcher.slaveName, and you instantly let your lurcher off $his leash.
 
@@ -173,15 +173,15 @@ You place your hand on the leash's quick release and <<if canHear(_activeLurcher
 	<</if>>
 	<<if $hareSpeed > _LurcherSpeed>>immediately pulls away<<else>>manages to maintain _his2 narrow head start<</if>>. Realizing that $he stands no chance of catching $his assigned target, _activeLurcher.slaveName <<if canSee(_activeLurcher)>>looks around for a slower hare<<else>>listens for a nearby bell<</if>>.
 	<<if $hareSpeed2 < $hareSpeed3>>
-		<<set $activeSlave = $hare2>>
+		<<set _slave = $hare2>>
 		<<set $origin = $origin2>>
 		<<set $hareSpeed = $hareSpeed2>>
 	<<else>>
-		<<set $activeSlave = $hare3>>
+		<<set _slave = $hare3>>
 		<<set $origin = $origin3>>
 		<<set $hareSpeed = $hareSpeed3>>
 	<</if>>
-	<<setLocalPronouns $activeSlave 2>>
+	<<setLocalPronouns _slave 2>>
 	<<if canSee(_activeLurcher)>>Seeing that the $origin hare is slower<<else>>hearing the $origin hare's bell nearby<</if>>, $he angles after _him2 instead.
 	<<if $hareSpeed >= _LurcherSpeed>>
 		$He does no better with $his new target; $his course is over.
@@ -377,7 +377,7 @@ You place your hand on the leash's quick release and <<if canHear(_activeLurcher
 		<</if>>
 	<</if>>
 	<<set _activeLurcher.counter.penetrative += 1, $penetrativeTotal += 1>>
-	<<run newSlave($activeSlave)>> /* skip New Slave Intro */
+	<<run newSlave(_slave)>> /* skip New Slave Intro */
 <<else>>
 	<<if _activeLurcher.devotion > 50>>
 		$He makes $his way back to you dejectedly, hanging $his head.
@@ -386,7 +386,6 @@ You place your hand on the leash's quick release and <<if canHear(_activeLurcher
 	<</if>>
 	<<setNonlocalPronouns $seeDicks>>
 	On the other side of the plaza, there is a scream of triumph followed by tears of joy as one of the hares successfully wins _hisU freedom. This cheerful noise mixes strangely with screams of a very different sort and the slap of flesh on flesh as a more successful lurcher rapes _hisU capture.
-	<<set $activeSlave = 0>>
 <</if>>
 
 <<unset $origin, $origin1, $origin2, $origin3, $hareSpeed, $hareSpeed1, $hareSpeed2, $hareSpeed3, $hare1, $hare2, $hare3>>
diff --git a/src/uncategorized/seCustomSlaveDelivery.tw b/src/uncategorized/seCustomSlaveDelivery.tw
index 23b9c3ca82019a02c255161319fcd8729e11429b..627ffda4115efc22b7082201d031f2c035b945bc 100644
--- a/src/uncategorized/seCustomSlaveDelivery.tw
+++ b/src/uncategorized/seCustomSlaveDelivery.tw
@@ -2,105 +2,106 @@
 
 <<set $customSlaveOrdered = 0, $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $encyclopedia = "Enslaving People">>
 
+<<set _pram = {mature: 0, nationality: _nationality}>>
 <<if $customSlave.age == 2>>
-	<<set $activeSlaveOneTimeMinAge = $minimumSlaveAge>>
-	<<set $activeSlaveOneTimeMaxAge = 2>>
+	<<set _pram.minAge = $minimumSlaveAge>>
+	<<set _pram.maxAge = 2>>
 <<elseif $customSlave.age == 4>>
-	<<set $activeSlaveOneTimeMinAge = 3>>
-	<<set $activeSlaveOneTimeMaxAge = 4>>
+	<<set _pram.minAge = 3>>
+	<<set _pram.maxAge = 4>>
 <<elseif $customSlave.age == 6>>
-	<<set $activeSlaveOneTimeMinAge = 5>>
-	<<set $activeSlaveOneTimeMaxAge = 6>>
+	<<set _pram.minAge = 5>>
+	<<set _pram.maxAge = 6>>
 <<elseif $customSlave.age == 9>>
-	<<set $activeSlaveOneTimeMinAge = 7>>
-	<<set $activeSlaveOneTimeMaxAge = 9>>
+	<<set _pram.minAge = 7>>
+	<<set _pram.maxAge = 9>>
 <<elseif $customSlave.age == 12>>
-	<<set $activeSlaveOneTimeMinAge = 10>>
-	<<set $activeSlaveOneTimeMaxAge = 12>>
+	<<set _pram.minAge = 10>>
+	<<set _pram.maxAge = 12>>
 <<elseif $customSlave.age == 14>>
-	<<set $activeSlaveOneTimeMinAge = 13>>
-	<<set $activeSlaveOneTimeMaxAge = 14>>
+	<<set _pram.minAge = 13>>
+	<<set _pram.maxAge = 14>>
 <<elseif $customSlave.age == 17>>
-	<<set $activeSlaveOneTimeMinAge = 15>>
-	<<set $activeSlaveOneTimeMaxAge = 17>>
+	<<set _pram.minAge = 15>>
+	<<set _pram.maxAge = 17>>
 <<elseif $customSlave.age == 19>>
-	<<set $activeSlaveOneTimeMinAge = 18>>
-	<<set $activeSlaveOneTimeMaxAge = 19>>
+	<<set _pram.minAge = 18>>
+	<<set _pram.maxAge = 19>>
 <<elseif $customSlave.age == 20>>
-	<<set $activeSlaveOneTimeMinAge = 20>>
-	<<set $activeSlaveOneTimeMaxAge = $retirementAge-1>>
+	<<set _pram.minAge = 20>>
+	<<set _pram.maxAge = $retirementAge-1>>
 <<elseif $customSlave.age == 24>>
-	<<set $activeSlaveOneTimeMinAge = 20>>
-	<<set $activeSlaveOneTimeMaxAge = 24>>
+	<<set _pram.minAge = 20>>
+	<<set _pram.maxAge = 24>>
 <<elseif $customSlave.age == 25>>
-	<<set $activeSlaveOneTimeMinAge = 25>>
-	<<set $activeSlaveOneTimeMaxAge = $retirementAge-1>>
+	<<set _pram.minAge = 25>>
+	<<set _pram.maxAge = $retirementAge-1>>
 <<elseif $customSlave.age == 29>>
-	<<set $activeSlaveOneTimeMinAge = 25>>
-	<<set $activeSlaveOneTimeMaxAge = 29>>
+	<<set _pram.minAge = 25>>
+	<<set _pram.maxAge = 29>>
 <<elseif $customSlave.age == 30>>
-	<<set $activeSlaveOneTimeMinAge = 30>>
-	<<set $activeSlaveOneTimeMaxAge = $retirementAge-1>>
+	<<set _pram.minAge = 30>>
+	<<set _pram.maxAge = $retirementAge-1>>
 <<elseif $customSlave.age == 39>>
-	<<set $activeSlaveOneTimeMinAge = 30>>
-	<<set $activeSlaveOneTimeMaxAge = 39>>
+	<<set _pram.minAge = 30>>
+	<<set _pram.maxAge = 39>>
 <<elseif $customSlave.age == 40>>
-	<<set $activeSlaveOneTimeMinAge = 40>>
-	<<set $activeSlaveOneTimeMaxAge = $retirementAge-1>>
+	<<set _pram.minAge = 40>>
+	<<set _pram.maxAge = $retirementAge-1>>
 <<elseif $customSlave.age == 49>>
-	<<set $activeSlaveOneTimeMinAge = 40>>
-	<<set $activeSlaveOneTimeMaxAge = 49>>
+	<<set _pram.minAge = 40>>
+	<<set _pram.maxAge = 49>>
 <<elseif $customSlave.age == 50>>
-	<<set $activeSlaveOneTimeMinAge = 50>>
-	<<set $activeSlaveOneTimeMaxAge = $retirementAge-1>>
+	<<set _pram.minAge = 50>>
+	<<set _pram.maxAge = $retirementAge-1>>
 <<elseif $customSlave.age == 59>>
-	<<set $activeSlaveOneTimeMinAge = 50>>
-	<<set $activeSlaveOneTimeMaxAge = 59>>
+	<<set _pram.minAge = 50>>
+	<<set _pram.maxAge = 59>>
 <<elseif $customSlave.age == 60>>
-	<<set $activeSlaveOneTimeMinAge = 60>>
-	<<set $activeSlaveOneTimeMaxAge = $retirementAge-1>>
+	<<set _pram.minAge = 60>>
+	<<set _pram.maxAge = $retirementAge-1>>
 <<elseif $customSlave.age == 69>>
-	<<set $activeSlaveOneTimeMinAge = 60>>
-	<<set $activeSlaveOneTimeMaxAge = 69>>
+	<<set _pram.minAge = 60>>
+	<<set _pram.maxAge = 69>>
 <<elseif $customSlave.age == 70>>
-	<<set $activeSlaveOneTimeMinAge = 70>>
-	<<set $activeSlaveOneTimeMaxAge = $retirementAge-1>>
+	<<set _pram.minAge = 70>>
+	<<set _pram.maxAge = $retirementAge-1>>
 <<elseif $customSlave.age == 79>>
-	<<set $activeSlaveOneTimeMinAge = 70>>
-	<<set $activeSlaveOneTimeMaxAge = 79>>
+	<<set _pram.minAge = 70>>
+	<<set _pram.maxAge = 79>>
 <<elseif $customSlave.age == 80>>
-	<<set $activeSlaveOneTimeMinAge = 80>>
-	<<set $activeSlaveOneTimeMaxAge = $retirementAge-1>>
+	<<set _pram.minAge = 80>>
+	<<set _pram.maxAge = $retirementAge-1>>
 <<elseif $customSlave.age == 89>>
-	<<set $activeSlaveOneTimeMinAge = 80>>
-	<<set $activeSlaveOneTimeMaxAge = 89>>
+	<<set _pram.minAge = 80>>
+	<<set _pram.maxAge = 89>>
 <<elseif $customSlave.age == 90>>
-	<<set $activeSlaveOneTimeMinAge = 90>>
-	<<set $activeSlaveOneTimeMaxAge = $retirementAge-1>>
+	<<set _pram.minAge = 90>>
+	<<set _pram.maxAge = $retirementAge-1>>
 <<elseif $customSlave.age == 99>>
-	<<set $activeSlaveOneTimeMinAge = 90>>
-	<<set $activeSlaveOneTimeMaxAge = 99>>
+	<<set _pram.minAge = 90>>
+	<<set _pram.maxAge = 99>>
 <<elseif $customSlave.age == 100>>
-	<<set $activeSlaveOneTimeMinAge = 100>>
-	<<set $activeSlaveOneTimeMaxAge = $retirementAge-1>>
+	<<set _pram.minAge = 100>>
+	<<set _pram.maxAge = $retirementAge-1>>
 <<elseif $customSlave.age == 109>>
-	<<set $activeSlaveOneTimeMinAge = 100>>
-	<<set $activeSlaveOneTimeMaxAge = 109>>
+	<<set _pram.minAge = 100>>
+	<<set _pram.maxAge = 109>>
 <<elseif $customSlave.age == 110>>
-	<<set $activeSlaveOneTimeMinAge = 110>>
-	<<set $activeSlaveOneTimeMaxAge = $retirementAge-1>>
+	<<set _pram.minAge = 110>>
+	<<set _pram.maxAge = $retirementAge-1>>
 <<elseif $customSlave.age == 119>>
-	<<set $activeSlaveOneTimeMinAge = 110>>
-	<<set $activeSlaveOneTimeMaxAge = 119>>
+	<<set _pram.minAge = 110>>
+	<<set _pram.maxAge = 119>>
 <<elseif $customSlave.age == 120>>
-	<<set $activeSlaveOneTimeMinAge = 120>>
-	<<set $activeSlaveOneTimeMaxAge = $retirementAge-1>>
+	<<set _pram.minAge = 120>>
+	<<set _pram.maxAge = $retirementAge-1>>
 <<elseif $customSlave.age == 129>>
-	<<set $activeSlaveOneTimeMinAge = 120>>
-	<<set $activeSlaveOneTimeMaxAge = 129>>
+	<<set _pram.minAge = 120>>
+	<<set _pram.maxAge = 129>>
 <<else>>
-	<<set $activeSlaveOneTimeMinAge = 130>>
-	<<set $activeSlaveOneTimeMaxAge = $retirementAge-1>>
+	<<set _pram.minAge = 130>>
+	<<set _pram.maxAge = $retirementAge-1>>
 <</if>>
 <<set $one_time_age_overrides_pedo_mode = 1>>
 <<if $customSlave.nationality != "Nationality is unimportant">>
@@ -110,13 +111,13 @@
 	<<set $fixedRace = $customSlave.race>>
 <</if>>
 <<if $customSlave.sex == 2>>
-	<<set _delivery = GenerateNewSlave("XY", {mature: 0, nationality: _nationality})>>
+	<<set _delivery = GenerateNewSlave("XY", _pram)>>
 	<<set _delivery.dick = $customSlave.dick>>
 	<<set _delivery.balls = $customSlave.balls>>
 	<<set _delivery.scrotum = _delivery.balls>>
 	<<set _delivery.foreskin = _delivery.dick>>
 <<else>>
-	<<set _delivery = GenerateNewSlave("XX", {mature: 0, nationality: _nationality})>>
+	<<set _delivery = GenerateNewSlave("XX", _pram)>>
 	<<if $customSlave.virgin == 0>>
 		<<set _delivery.vagina = $customSlave.virgin>>
 	<</if>>
diff --git a/src/uncategorized/seRaiding.tw b/src/uncategorized/seRaiding.tw
index e021df4bed7671be16724bc6a9c5191807f13d51..58b26cebc17f1e43d06e2c8f510428d882ddf75c 100644
--- a/src/uncategorized/seRaiding.tw
+++ b/src/uncategorized/seRaiding.tw
@@ -72,510 +72,445 @@ target
 <<set $origin = _origins.pluck()>>
 <<switch $origin>>
 <<case "housewife">>
-	<<set $activeSlaveOneTimeMinAge = 33>>
-	<<set $activeSlaveOneTimeMaxAge = 39>>
-	<<set $one_time_age_overrides_pedo_mode = 1>> /% Not a young $woman. %/
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<run generateSalonModifications($activeSlave)>>
-	<<set $activeSlave.boobs += 800>>
-	<<set $activeSlave.boobsImplant += 800>>
-	<<set $activeSlave.boobsImplantType = "normal">>
-	<<set $activeSlave.butt += 1>>
-	<<set $activeSlave.buttImplant += 1>>
-	<<set $activeSlave.buttImplantType = "normal">>
-	<<set $activeSlave.face = 55>>
-	<<set $activeSlave.faceImplant += 20>>
-	<<set $activeSlave.anus = 1>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.ovaries = 1>>
-	<<if isFertile($activeSlave) && $seePreg != 0>>
-		<<set $activeSlave.preg = either(-1, -1, -1, 0, 0, 0, 5, 10, 20, 30, 39)>>
-		<<if $activeSlave.preg > 0>>
-			<<set $activeSlave.pregType = setPregType($activeSlave)>>
-			<<set WombImpregnate($activeSlave, $activeSlave.pregType, 0, $activeSlave.preg)>>
-			<<set $activeSlave.pregKnown = 1>>
-			<<set $activeSlave.pregWeek = $activeSlave.preg>>
-			<<run SetBellySize($activeSlave)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 33, maxAge: 39, disableDisability: 1, ageOverridesPedoMode: 1})>>
+	<<run generateSalonModifications(_slave)>>
+	<<set _slave.boobs += 800>>
+	<<set _slave.boobsImplant += 800>>
+	<<set _slave.boobsImplantType = "normal">>
+	<<set _slave.butt += 1>>
+	<<set _slave.buttImplant += 1>>
+	<<set _slave.buttImplantType = "normal">>
+	<<set _slave.face = 55>>
+	<<set _slave.faceImplant += 20>>
+	<<set _slave.anus = 1>>
+	<<set _slave.vagina = 1>>
+	<<set _slave.ovaries = 1>>
+	<<if isFertile(_slave) && $seePreg != 0>>
+		<<set _slave.preg = either(-1, -1, -1, 0, 0, 0, 5, 10, 20, 30, 39)>>
+		<<if _slave.preg > 0>>
+			<<set _slave.pregType = setPregType(_slave)>>
+			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
+			<<set _slave.pregKnown = 1>>
+			<<set _slave.pregWeek = _slave.preg>>
+			<<run SetBellySize(_slave)>>
 		<</if>>
 	<<else>>
-		<<set $activeSlave.preg = -1>>
+		<<set _slave.preg = -1>>
 	<</if>>
-	<<set $activeSlave.skill.vaginal = 35>>
-	<<set $activeSlave.skill.oral = 35>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 35>>
-	<<set $activeSlave.teeth = "normal">>
-	<<set $activeSlave.weight = random(-50,130)>>
-	<<set $activeSlave.career = either("a housewife", "a trophy wife")>>
+	<<set _slave.skill.vaginal = 35>>
+	<<set _slave.skill.oral = 35>>
+	<<set _slave.skill.anal = 15>>
+	<<set _slave.skill.whoring = 35>>
+	<<set _slave.teeth = "normal">>
+	<<set _slave.weight = random(-50,130)>>
+	<<set _slave.career = either("a housewife", "a trophy wife")>>
 <<case "university professor">>
-	<<set $activeSlaveOneTimeMinAge = 35>>
-	<<set $activeSlaveOneTimeMaxAge = 55>>
-	<<set $one_time_age_overrides_pedo_mode = 1>> /% Not a young $woman. %/
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.career = "a professor">>
-	<<set $activeSlave.face = random(15,100)>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.skill.oral = 35>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = 10>>
-	<<set $activeSlave.intelligence = random(70,90)>>
-	<<set $activeSlave.intelligenceImplant = 30>>
-	<<set $activeSlave.teeth = "normal">>
-	<<set $activeSlave.weight = random(-20,90)>>
-	<<if isFertile($activeSlave) && $seePreg != 0>>
-		<<set $activeSlave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10, 20, 30, 39)>>
-		<<if $activeSlave.preg > 0>>
-			<<set $activeSlave.pregType = setPregType($activeSlave)>>
-			<<set WombImpregnate($activeSlave, $activeSlave.pregType, 0, $activeSlave.preg)>>
-			<<set $activeSlave.pregKnown = 1>>
-			<<set $activeSlave.pregWeek = $activeSlave.preg>>
-			<<run SetBellySize($activeSlave)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 35, maxAge: 55, disableDisability: 1, ageOverridesPedoMode: 1})>>
+	<<set _slave.career = "a professor">>
+	<<set _slave.face = random(15,100)>>
+	<<set _slave.vagina = 1>>
+	<<set _slave.skill.oral = 35>>
+	<<set _slave.skill.anal = 15>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.entertainment = 10>>
+	<<set _slave.intelligence = random(70,90)>>
+	<<set _slave.intelligenceImplant = 30>>
+	<<set _slave.teeth = "normal">>
+	<<set _slave.weight = random(-20,90)>>
+	<<if isFertile(_slave) && $seePreg != 0>>
+		<<set _slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10, 20, 30, 39)>>
+		<<if _slave.preg > 0>>
+			<<set _slave.pregType = setPregType(_slave)>>
+			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
+			<<set _slave.pregKnown = 1>>
+			<<set _slave.pregWeek = _slave.preg>>
+			<<run SetBellySize(_slave)>>
 		<</if>>
 	<<else>>
-		<<set $activeSlave.preg = -1>>
+		<<set _slave.preg = -1>>
 	<</if>>
 <<case "university student">>
-	<<set $activeSlaveOneTimeMinAge = 14>>
-	<<set $activeSlaveOneTimeMaxAge = 22>>
-	<<set $one_time_age_overrides_pedo_mode = 1>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.career = "a student">>
-	<<run generateSalonModifications($activeSlave)>>
-	<<set $activeSlave.face = random(15,100)>>
-	<<set $activeSlave.anus = 0>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.skill.vaginal = 0>>
-	<<set $activeSlave.skill.anal = 0>>
-	<<set $activeSlave.skill.oral = 0>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = 0>>
-	<<set $activeSlave.intelligence = random(0,60)>>
-	<<set $activeSlave.intelligenceImplant = 15>>
-	<<set $activeSlave.teeth = "normal">>
-	<<set $activeSlave.weight = random(-60,40)>>
-	<<if isFertile($activeSlave) && $seePreg != 0>>
-		<<set $activeSlave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10)>>
-		<<if $activeSlave.preg > 0>>
-			<<set $activeSlave.pregType = setPregType($activeSlave)>>
-			<<set WombImpregnate($activeSlave, $activeSlave.pregType, 0, $activeSlave.preg)>>
-			<<set $activeSlave.pregKnown = 1>>
-			<<set $activeSlave.pregWeek = $activeSlave.preg>>
-			<<run SetBellySize($activeSlave)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 14, maxAge: 22, disableDisability: 1, ageOverridesPedoMode: 1})>>
+	<<set _slave.career = "a student">>
+	<<run generateSalonModifications(_slave)>>
+	<<set _slave.face = random(15,100)>>
+	<<set _slave.anus = 0>>
+	<<set _slave.vagina = 1>>
+	<<set _slave.skill.vaginal = 0>>
+	<<set _slave.skill.anal = 0>>
+	<<set _slave.skill.oral = 0>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.entertainment = 0>>
+	<<set _slave.intelligence = random(0,60)>>
+	<<set _slave.intelligenceImplant = 15>>
+	<<set _slave.teeth = "normal">>
+	<<set _slave.weight = random(-60,40)>>
+	<<if isFertile(_slave) && $seePreg != 0>>
+		<<set _slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10)>>
+		<<if _slave.preg > 0>>
+			<<set _slave.pregType = setPregType(_slave)>>
+			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
+			<<set _slave.pregKnown = 1>>
+			<<set _slave.pregWeek = _slave.preg>>
+			<<run SetBellySize(_slave)>>
 		<</if>>
 	<<else>>
-		<<set $activeSlave.preg = -1>>
+		<<set _slave.preg = -1>>
 	<</if>>
 <<case "female military officer">>
-	<<set $activeSlaveOneTimeMinAge = 26>>
-	<<set $activeSlaveOneTimeMaxAge = 45>>
-	<<set $one_time_age_overrides_pedo_mode = 1>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.career = "a military officer">>
-	<<run generateSalonModifications($activeSlave)>>
-	<<set $activeSlave.face = random(15,100)>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.skill.oral = 35>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.combat = 1>>
-	<<set $activeSlave.skill.entertainment = 10>>
-	<<set $activeSlave.intelligence = random(20,60)>>
-	<<set $activeSlave.intelligenceImplant = 15>>
-	<<set $activeSlave.teeth = "normal">>
-	<<set $activeSlave.weight = 0>>
-	<<set $activeSlave.muscles = 25>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 26, maxAge: 45, disableDisability: 1, ageOverridesPedoMode: 1})>>
+	<<set _slave.career = "a military officer">>
+	<<run generateSalonModifications(_slave)>>
+	<<set _slave.face = random(15,100)>>
+	<<set _slave.vagina = 1>>
+	<<set _slave.skill.oral = 35>>
+	<<set _slave.skill.anal = 15>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.combat = 1>>
+	<<set _slave.skill.entertainment = 10>>
+	<<set _slave.intelligence = random(20,60)>>
+	<<set _slave.intelligenceImplant = 15>>
+	<<set _slave.teeth = "normal">>
+	<<set _slave.weight = 0>>
+	<<set _slave.muscles = 25>>
 <<case "male military officer">>
-	<<set $activeSlaveOneTimeMinAge = 26>>
-	<<set $activeSlaveOneTimeMaxAge = 45>>
-	<<set $one_time_age_overrides_pedo_mode = 1>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XY")>>
-	<<set $activeSlave.career = "a military officer">>
-	<<set $activeSlave.skill.anal = 0>>
-	<<set $activeSlave.skill.oral = 0>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.combat = 1>>
-	<<set $activeSlave.intelligence = random(20,60)>>
-	<<set $activeSlave.intelligenceImplant = 15>>
-	<<set $activeSlave.hStyle = either("short", "very short")>>
-	<<set $activeSlave.boobs = 150>>
-	<<set $activeSlave.vagina = -1>>
-	<<set $activeSlave.clit = 0>>
-	<<set $activeSlave.ovaries = 0>>
-	<<set $activeSlave.preg = 0>>
-	<<set $activeSlave.dick = random(3,5)>>
-	<<set $activeSlave.balls = random(2,4)>>
-	<<set $activeSlave.scrotum = $activeSlave.balls>>
-	<<set $activeSlave.anus = 0>>
-	<<set $activeSlave.weight = 0>>
-	<<set $activeSlave.muscles = 50>>
+	<<set _slave = GenerateNewSlave("XY", {minAge: 26, maxAge: 45, disableDisability: 1, ageOverridesPedoMode: 1})>>
+	<<set _slave.career = "a military officer">>
+	<<set _slave.skill.anal = 0>>
+	<<set _slave.skill.oral = 0>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.combat = 1>>
+	<<set _slave.intelligence = random(20,60)>>
+	<<set _slave.intelligenceImplant = 15>>
+	<<set _slave.hStyle = either("short", "very short")>>
+	<<set _slave.boobs = 150>>
+	<<set _slave.vagina = -1>>
+	<<set _slave.clit = 0>>
+	<<set _slave.ovaries = 0>>
+	<<set _slave.preg = 0>>
+	<<set _slave.dick = random(3,5)>>
+	<<set _slave.balls = random(2,4)>>
+	<<set _slave.scrotum = _slave.balls>>
+	<<set _slave.anus = 0>>
+	<<set _slave.weight = 0>>
+	<<set _slave.muscles = 50>>
 <<case "military soldier">>
+	<<set _pram = {disableDisability: 1, minAge: 18}>>
 	<<if $pedo_mode == 1>>
-		<<set $activeSlaveOneTimeMinAge = 18>>
-		<<set $one_time_age_overrides_pedo_mode = 1>>
+		<<set _pram.ageOverridesPedoMode = 1>>
 	<<else>>
-		<<set $activeSlaveOneTimeMinAge = 18>>
-		<<set $activeSlaveOneTimeMaxAge = 25>>
+		<<set _pram.maxAge = 25>>
 	<</if>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.career = "a soldier">>
-	<<set $activeSlave.face = random(15,100)>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.skill.oral = 35>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.combat = 1>>
-	<<set $activeSlave.skill.entertainment = 10>>
-	<<set $activeSlave.intelligenceImplant = 15>>
-	<<set $activeSlave.teeth = "normal">>
-	<<set $activeSlave.weight = random(0,20)>>
-	<<set $activeSlave.muscles = 10>>
-	<<if isFertile($activeSlave) && $seePreg != 0>>
-		<<set $activeSlave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 5)>>
-		<<if $activeSlave.preg > 0>>
-			<<set $activeSlave.pregType = setPregType($activeSlave)>>
-			<<set WombImpregnate($activeSlave, $activeSlave.pregType, 0, $activeSlave.preg)>>
-			<<set $activeSlave.pregKnown = 1>>
-			<<set $activeSlave.pregWeek = $activeSlave.preg>>
-			<<run SetBellySize($activeSlave)>>
+	<<set _slave = GenerateNewSlave("XX", _pram)>>
+	<<set _slave.career = "a soldier">>
+	<<set _slave.face = random(15,100)>>
+	<<set _slave.vagina = 1>>
+	<<set _slave.skill.oral = 35>>
+	<<set _slave.skill.anal = 15>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.combat = 1>>
+	<<set _slave.skill.entertainment = 10>>
+	<<set _slave.intelligenceImplant = 15>>
+	<<set _slave.teeth = "normal">>
+	<<set _slave.weight = random(0,20)>>
+	<<set _slave.muscles = 10>>
+	<<if isFertile(_slave) && $seePreg != 0>>
+		<<set _slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 5)>>
+		<<if _slave.preg > 0>>
+			<<set _slave.pregType = setPregType(_slave)>>
+			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
+			<<set _slave.pregKnown = 1>>
+			<<set _slave.pregWeek = _slave.preg>>
+			<<run SetBellySize(_slave)>>
 		<</if>>
 	<<else>>
-		<<set $activeSlave.preg = -1>>
+		<<set _slave.preg = -1>>
 	<</if>>
 <<case "doctor">>
-	<<set $activeSlaveOneTimeMinAge = 28>>
-	<<set $activeSlaveOneTimeMaxAge = 55>>
-	<<set $one_time_age_overrides_pedo_mode = 1>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.career = "a doctor">>
-	<<set $activeSlave.face = random(15,100)>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.skill.oral = 35>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = 10>>
-	<<set $activeSlave.intelligence = random(60,90)>>
-	<<set $activeSlave.intelligenceImplant = 30>>
-	<<set $activeSlave.teeth = "normal">>
-	<<set $activeSlave.weight = random(-40,40)>>
-	<<if isFertile($activeSlave) && $seePreg != 0>>
-		<<set $activeSlave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10)>>
-		<<if $activeSlave.preg > 0>>
-			<<set $activeSlave.pregType = setPregType($activeSlave)>>
-			<<set WombImpregnate($activeSlave, $activeSlave.pregType, 0, $activeSlave.preg)>>
-			<<set $activeSlave.pregKnown = 1>>
-			<<set $activeSlave.pregWeek = $activeSlave.preg>>
-			<<run SetBellySize($activeSlave)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 28, maxAge: 55, disableDisability: 1, ageOverridesPedoMode: 1})>>
+	<<set _slave.career = "a doctor">>
+	<<set _slave.face = random(15,100)>>
+	<<set _slave.vagina = 1>>
+	<<set _slave.skill.oral = 35>>
+	<<set _slave.skill.anal = 15>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.entertainment = 10>>
+	<<set _slave.intelligence = random(60,90)>>
+	<<set _slave.intelligenceImplant = 30>>
+	<<set _slave.teeth = "normal">>
+	<<set _slave.weight = random(-40,40)>>
+	<<if isFertile(_slave) && $seePreg != 0>>
+		<<set _slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10)>>
+		<<if _slave.preg > 0>>
+			<<set _slave.pregType = setPregType(_slave)>>
+			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
+			<<set _slave.pregKnown = 1>>
+			<<set _slave.pregWeek = _slave.preg>>
+			<<run SetBellySize(_slave)>>
 		<</if>>
 	<<else>>
-		<<set $activeSlave.preg = -1>>
+		<<set _slave.preg = -1>>
 	<</if>>
 <<case "nun">>
-	<<set $activeSlaveOneTimeMaxAge = 70>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.career = "a nun">>
-	<<set $activeSlave.anus = 0>>
-	<<set $activeSlave.vagina = 0>>
-	<<set $activeSlave.weight = random(-100,-20)>>
-	<<set $activeSlave.attrXX = random(10,50)>>
-	<<set $activeSlave.attrXY = random(10,50)>>
-	<<set $activeSlave.energy = random(5,20)>>
-	<<set $activeSlave.skill.vaginal = 0>>
-	<<set $activeSlave.skill.oral = 15>>
-	<<set $activeSlave.skill.anal = 0>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = 0>>
-	<<set $activeSlave.behavioralFlaw = "devout">>
-	<<set $activeSlave.sexualFlaw = "repressed">>
+	<<set _slave = GenerateNewSlave("XX", {maxAge: 70, disableDisability: 1})>>
+	<<set _slave.career = "a nun">>
+	<<set _slave.anus = 0>>
+	<<set _slave.vagina = 0>>
+	<<set _slave.weight = random(-100,-20)>>
+	<<set _slave.attrXX = random(10,50)>>
+	<<set _slave.attrXY = random(10,50)>>
+	<<set _slave.energy = random(5,20)>>
+	<<set _slave.skill.vaginal = 0>>
+	<<set _slave.skill.oral = 15>>
+	<<set _slave.skill.anal = 0>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.entertainment = 0>>
+	<<set _slave.behavioralFlaw = "devout">>
+	<<set _slave.sexualFlaw = "repressed">>
 <<case "journalist">>
-	<<set $activeSlaveOneTimeMinAge = 18>>
-	<<set $activeSlaveOneTimeMaxAge = 26>>
-	<<set $one_time_age_overrides_pedo_mode = 1>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.career = "a journalist">>
-	<<run generateSalonModifications($activeSlave)>>
-	<<set $activeSlave.face = random(-20,0)>>
-	<<set $activeSlave.anus = 0>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.skill.vaginal = 0>>
-	<<set $activeSlave.skill.anal = 0>>
-	<<set $activeSlave.skill.oral = 0>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = 35>>
-	<<set $activeSlave.intelligence = random(0,100)>>
-	<<set $activeSlave.intelligenceImplant = 15>>
-	<<set $activeSlave.behavioralFlaw = "liberated">>
-	<<set $activeSlave.sexualFlaw = "idealistic">>
-	<<set $activeSlave.weight = random(-40,40)>>
-	<<if isFertile($activeSlave) && $seePreg != 0>>
-		<<set $activeSlave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10)>>
-		<<if $activeSlave.preg > 0>>
-			<<set $activeSlave.pregType = setPregType($activeSlave)>>
-			<<set WombImpregnate($activeSlave, $activeSlave.pregType, 0, $activeSlave.preg)>>
-			<<set $activeSlave.pregKnown = 1>>
-			<<set $activeSlave.pregWeek = $activeSlave.preg>>
-			<<run SetBellySize($activeSlave)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 18, maxAge: 26, disableDisability: 1, ageOverridesPedoMode: 1})>>
+	<<set _slave.career = "a journalist">>
+	<<run generateSalonModifications(_slave)>>
+	<<set _slave.face = random(-20,0)>>
+	<<set _slave.anus = 0>>
+	<<set _slave.vagina = 1>>
+	<<set _slave.skill.vaginal = 0>>
+	<<set _slave.skill.anal = 0>>
+	<<set _slave.skill.oral = 0>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.entertainment = 35>>
+	<<set _slave.intelligence = random(0,100)>>
+	<<set _slave.intelligenceImplant = 15>>
+	<<set _slave.behavioralFlaw = "liberated">>
+	<<set _slave.sexualFlaw = "idealistic">>
+	<<set _slave.weight = random(-40,40)>>
+	<<if isFertile(_slave) && $seePreg != 0>>
+		<<set _slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10)>>
+		<<if _slave.preg > 0>>
+			<<set _slave.pregType = setPregType(_slave)>>
+			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
+			<<set _slave.pregKnown = 1>>
+			<<set _slave.pregWeek = _slave.preg>>
+			<<run SetBellySize(_slave)>>
 		<</if>>
 	<<else>>
-		<<set $activeSlave.preg = -1>>
+		<<set _slave.preg = -1>>
 	<</if>>
 <<case "local news anchor">>
-	<<set $activeSlaveOneTimeMinAge = 35>>
-	<<set $activeSlaveOneTimeMaxAge = 39>>
-	<<set $one_time_age_overrides_pedo_mode = 1>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.boobs += 800>>
-	<<set $activeSlave.boobsImplant += 800>>
-	<<set $activeSlave.boobsImplantType = "fillable">>
-	<<set $activeSlave.butt += 1>>
-	<<set $activeSlave.buttImplant += 1>>
-	<<set $activeSlave.buttImplantType = "normal">>
-	<<set $activeSlave.face = 55>>
-	<<set $activeSlave.faceImplant += 20>>
-	<<set $activeSlave.anus = 1>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.preg = -1>>
-	<<set $activeSlave.ovaries = 1>>
-	<<set $activeSlave.skill.vaginal = 35>>
-	<<set $activeSlave.skill.oral = 35>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 35>>
-	<<set $activeSlave.skill.entertainment = 35>>
-	<<set $activeSlave.career = "a local news anchor">>
-	<<set $activeSlave.weight = random(-40,40)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 35, maxAge: 39, disableDisability: 1, ageOverridesPedoMode: 1})>>
+	<<set _slave.boobs += 800>>
+	<<set _slave.boobsImplant += 800>>
+	<<set _slave.boobsImplantType = "fillable">>
+	<<set _slave.butt += 1>>
+	<<set _slave.buttImplant += 1>>
+	<<set _slave.buttImplantType = "normal">>
+	<<set _slave.face = 55>>
+	<<set _slave.faceImplant += 20>>
+	<<set _slave.anus = 1>>
+	<<set _slave.vagina = 1>>
+	<<set _slave.preg = -1>>
+	<<set _slave.ovaries = 1>>
+	<<set _slave.skill.vaginal = 35>>
+	<<set _slave.skill.oral = 35>>
+	<<set _slave.skill.anal = 15>>
+	<<set _slave.skill.whoring = 35>>
+	<<set _slave.skill.entertainment = 35>>
+	<<set _slave.career = "a local news anchor">>
+	<<set _slave.weight = random(-40,40)>>
 <<case "classical dancer">>
-	<<set $activeSlaveOneTimeMaxAge = 20>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.career = "a classical dancer">>
-	<<set $activeSlave.prestige = 1>>
-	<<set $activeSlave.prestigeDesc = "$He was the pride of renowned dance troupe.">>
-	<<set $activeSlave.face = random(-20,40)>>
-	<<set $activeSlave.anus = 0>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.skill.vaginal = 0>>
-	<<set $activeSlave.skill.anal = 0>>
-	<<set $activeSlave.skill.oral = 0>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = 50>>
-	<<if $activeSlave.physicalAge >= 12>>
-		<<set $activeSlave.teeth = "normal">>
+	<<set _slave = GenerateNewSlave("XX", {maxAge: 20, disableDisability: 1})>>
+	<<set _slave.career = "a classical dancer">>
+	<<set _slave.prestige = 1>>
+	<<set _slave.prestigeDesc = "$He was the pride of renowned dance troupe.">>
+	<<set _slave.face = random(-20,40)>>
+	<<set _slave.anus = 0>>
+	<<set _slave.vagina = 1>>
+	<<set _slave.skill.vaginal = 0>>
+	<<set _slave.skill.anal = 0>>
+	<<set _slave.skill.oral = 0>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.entertainment = 50>>
+	<<if _slave.physicalAge >= 12>>
+		<<set _slave.teeth = "normal">>
 	<</if>>
-	<<set $activeSlave.weight = random(-100,-10)>>
+	<<set _slave.weight = random(-100,-10)>>
 <<case "law enforcement officer">>
+	<<set _pram = {minAge: 18, disableDisability: 1}>>
 	<<if $pedo_mode == 1>>
-		<<set $activeSlaveOneTimeMinAge = 18>>
-		<<set $one_time_age_overrides_pedo_mode = 1>>
+		<<set _pram.ageOverridesPedoMode = 1>>
 	<<else>>
-		<<set $activeSlaveOneTimeMinAge = 18>>
-		<<set $activeSlaveOneTimeMaxAge = 25>>
+		<<set _pram.maxAge = 25>>
 	<</if>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.career = "a law enforcement officer">>
-	<<set $activeSlave.face = random(15,100)>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.skill.oral = 35>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.combat = 1>>
-	<<set $activeSlave.skill.entertainment = 10>>
-	<<set $activeSlave.intelligenceImplant = 15>>
-	<<set $activeSlave.weight = random(-10,90)>>
-	<<set $activeSlave.muscles = random(10,35)>>
-	<<if isFertile($activeSlave) && $seePreg != 0>>
-		<<set $activeSlave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 5)>>
-		<<if $activeSlave.preg > 0>>
-			<<set $activeSlave.pregType = setPregType($activeSlave)>>
-			<<set WombImpregnate($activeSlave, $activeSlave.pregType, 0, $activeSlave.preg)>>
-			<<set $activeSlave.pregKnown = 1>>
-			<<set $activeSlave.pregWeek = $activeSlave.preg>>
-			<<run SetBellySize($activeSlave)>>
+	<<set _slave = GenerateNewSlave("XX"), _pram>>
+	<<set _slave.career = "a law enforcement officer">>
+	<<set _slave.face = random(15,100)>>
+	<<set _slave.vagina = 1>>
+	<<set _slave.skill.oral = 35>>
+	<<set _slave.skill.anal = 15>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.combat = 1>>
+	<<set _slave.skill.entertainment = 10>>
+	<<set _slave.intelligenceImplant = 15>>
+	<<set _slave.weight = random(-10,90)>>
+	<<set _slave.muscles = random(10,35)>>
+	<<if isFertile(_slave) && $seePreg != 0>>
+		<<set _slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 5)>>
+		<<if _slave.preg > 0>>
+			<<set _slave.pregType = setPregType(_slave)>>
+			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
+			<<set _slave.pregKnown = 1>>
+			<<set _slave.pregWeek = _slave.preg>>
+			<<run SetBellySize(_slave)>>
 		<</if>>
 	<<else>>
-		<<set $activeSlave.preg = -1>>
+		<<set _slave.preg = -1>>
 	<</if>>
 <<case "classical musician">>
-	<<set $activeSlaveOneTimeMaxAge = 43>>
-	<<set $one_time_age_overrides_pedo_mode = 1>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.career = "a classical musician">>
-	<<set $activeSlave.prestige = 1>>
-	<<set $activeSlave.prestigeDesc = "$He was the pride of a renowned orchestra.">>
-	<<set $activeSlave.face = random(-20,0)>>
-	<<set $activeSlave.anus = 0>>
-	<<set $activeSlave.skill.vaginal = 0>>
-	<<set $activeSlave.skill.anal = 0>>
-	<<set $activeSlave.skill.oral = 0>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = 50>>
-	<<if $activeSlave.physicalAge >= 12>>
-		<<set $activeSlave.teeth = "normal">>
+	<<set _slave = GenerateNewSlave("XX", {maxAge: 43, disableDisability: 1, ageOverridesPedoMode: 1})>>
+	<<set _slave.career = "a classical musician">>
+	<<set _slave.prestige = 1>>
+	<<set _slave.prestigeDesc = "$He was the pride of a renowned orchestra.">>
+	<<set _slave.face = random(-20,0)>>
+	<<set _slave.anus = 0>>
+	<<set _slave.skill.vaginal = 0>>
+	<<set _slave.skill.anal = 0>>
+	<<set _slave.skill.oral = 0>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.entertainment = 50>>
+	<<if _slave.physicalAge >= 12>>
+		<<set _slave.teeth = "normal">>
 	<</if>>
-	<<set $activeSlave.weight = random(-50,15)>>
-	<<if $activeSlave.vagina > 0>>
-		<<if isFertile($activeSlave) && $seePreg != 0>>
-			<<set $activeSlave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10)>>
-			<<if $activeSlave.preg > 0>>
-				<<set $activeSlave.pregType = setPregType($activeSlave)>>
-				<<set WombImpregnate($activeSlave, $activeSlave.pregType, 0, $activeSlave.preg)>>
-				<<set $activeSlave.pregKnown = 1>>
-				<<set $activeSlave.pregWeek = $activeSlave.preg>>
-				<<run SetBellySize($activeSlave)>>
+	<<set _slave.weight = random(-50,15)>>
+	<<if _slave.vagina > 0>>
+		<<if isFertile(_slave) && $seePreg != 0>>
+			<<set _slave.preg = either(-1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 5, 10)>>
+			<<if _slave.preg > 0>>
+				<<set _slave.pregType = setPregType(_slave)>>
+				<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
+				<<set _slave.pregKnown = 1>>
+				<<set _slave.pregWeek = _slave.preg>>
+				<<run SetBellySize(_slave)>>
 			<</if>>
 		<<else>>
-			<<set $activeSlave.preg = -1>>
+			<<set _slave.preg = -1>>
 		<</if>>
-		<<set $activeSlave.vagina = 1>>
+		<<set _slave.vagina = 1>>
 	<</if>>
 <<case "politician">>
-	<<set $activeSlaveOneTimeMinAge = 35>>
-	<<set $activeSlaveOneTimeMaxAge = 65>>
-	<<set $one_time_age_overrides_pedo_mode = 1>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.career = "a politician">>
-	<<set $activeSlave.prestige = 2>>
-	<<set $activeSlave.prestigeDesc = "$He was a widely known politician in $his former life. $His face has graced many campaign posters.">>
-	<<set $activeSlave.face = random(15,100)>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.skill.oral = 35>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = 10>>
-	<<set $activeSlave.intelligence = random(60,90)>>
-	<<set $activeSlave.intelligenceImplant = 30>>
-	<<set $activeSlave.teeth = "normal">>
-	<<set $activeSlave.weight = random(-10,60)>>
-	<<if isFertile($activeSlave) && $seePreg != 0>>
-		<<set $activeSlave.preg = either(-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 10, 20, 30, 39)>>
-		<<if $activeSlave.preg > 0>>
-			<<set $activeSlave.pregType = setPregType($activeSlave)>>
-			<<set WombImpregnate($activeSlave, $activeSlave.pregType, 0, $activeSlave.preg)>>
-			<<set $activeSlave.pregKnown = 1>>
-			<<set $activeSlave.pregWeek = $activeSlave.preg>>
-			<<run SetBellySize($activeSlave)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 35, maxAge: 65, disableDisability: 1, ageOverridesPedoMode: 1})>>
+	<<set _slave.career = "a politician">>
+	<<set _slave.prestige = 2>>
+	<<set _slave.prestigeDesc = "$He was a widely known politician in $his former life. $His face has graced many campaign posters.">>
+	<<set _slave.face = random(15,100)>>
+	<<set _slave.vagina = 1>>
+	<<set _slave.skill.oral = 35>>
+	<<set _slave.skill.anal = 15>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.entertainment = 10>>
+	<<set _slave.intelligence = random(60,90)>>
+	<<set _slave.intelligenceImplant = 30>>
+	<<set _slave.teeth = "normal">>
+	<<set _slave.weight = random(-10,60)>>
+	<<if isFertile(_slave) && $seePreg != 0>>
+		<<set _slave.preg = either(-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 10, 20, 30, 39)>>
+		<<if _slave.preg > 0>>
+			<<set _slave.pregType = setPregType(_slave)>>
+			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
+			<<set _slave.pregKnown = 1>>
+			<<set _slave.pregWeek = _slave.preg>>
+			<<run SetBellySize(_slave)>>
 		<</if>>
 	<<else>>
-		<<set $activeSlave.preg = -1>>
+		<<set _slave.preg = -1>>
 	<</if>>
 <<case "shut-in">>
-	<<set $activeSlaveOneTimeMaxAge = 43>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<run generateSalonModifications($activeSlave)>>
-	<<set $activeSlave.career = "a shut-in">>
-	<<set $activeSlave.anus = 0>>
-	<<set $activeSlave.face = random(15,100)>>
-	<<set $activeSlave.vagina = 0>>
-	<<set $activeSlave.skill.oral = 35>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = 10>>
-	<<set $activeSlave.weight = random(-100,60)>>
+	<<set _slave = GenerateNewSlave("XX", {maxAge: 43, disableDisability: 1})>>
+	<<run generateSalonModifications(_slave)>>
+	<<set _slave.career = "a shut-in">>
+	<<set _slave.anus = 0>>
+	<<set _slave.face = random(15,100)>>
+	<<set _slave.vagina = 0>>
+	<<set _slave.skill.oral = 35>>
+	<<set _slave.skill.anal = 15>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.entertainment = 10>>
+	<<set _slave.weight = random(-100,60)>>
 <<case "procuress">>
-	<<set $activeSlaveOneTimeMinAge = 20>>
-	<<set $activeSlaveOneTimeMaxAge = 65>>
-	<<set $one_time_age_overrides_pedo_mode = 1>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.career = "a procuress">>
-	<<set $activeSlave.face = random(15,100)>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.skill.oral = 35>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 25>>
-	<<set $activeSlave.skill.entertainment = 25>>
-	<<set $activeSlave.intelligence = random(51,80)>>
-	<<set $activeSlave.weight = random(-10,120)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 20, maxAge: 65, disableDisability: 1, ageOverridesPedoMode: 1})>>
+	<<set _slave.career = "a procuress">>
+	<<set _slave.face = random(15,100)>>
+	<<set _slave.vagina = 1>>
+	<<set _slave.skill.oral = 35>>
+	<<set _slave.skill.anal = 15>>
+	<<set _slave.skill.whoring = 25>>
+	<<set _slave.skill.entertainment = 25>>
+	<<set _slave.intelligence = random(51,80)>>
+	<<set _slave.weight = random(-10,120)>>
 <<case "investor">>
-	<<set $activeSlaveOneTimeMinAge = 35>>
-	<<set $activeSlaveOneTimeMaxAge = 55>>
-	<<set $one_time_age_overrides_pedo_mode = 1>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.career = "an investor">>
-	<<set $activeSlave.prestige = 1>>
-	<<set $activeSlave.prestigeDesc = "$He is a reputable investor from a bygone age.">>
-	<<set $activeSlave.face = random(15,100)>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.skill.oral = 35>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = 10>>
-	<<set $activeSlave.intelligence = random(51,80)>>
-	<<set $activeSlave.intelligenceImplant = 15>>
-	<<set $activeSlave.weight = random(-50,60)>>
-	<<if isFertile($activeSlave) && $seePreg != 0>>
-		<<set $activeSlave.preg = either(-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 10, 20, 30, 39)>>
-		<<if $activeSlave.preg > 0>>
-			<<set $activeSlave.pregType = setPregType($activeSlave)>>
-			<<set WombImpregnate($activeSlave, $activeSlave.pregType, 0, $activeSlave.preg)>>
-			<<set $activeSlave.pregKnown = 1>>
-			<<set $activeSlave.pregWeek = $activeSlave.preg>>
-			<<run SetBellySize($activeSlave)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 35, maxAge: 55, disableDisability: 1, ageOverridesPedoMode: 1})>>
+	<<set _slave.career = "an investor">>
+	<<set _slave.prestige = 1>>
+	<<set _slave.prestigeDesc = "$He is a reputable investor from a bygone age.">>
+	<<set _slave.face = random(15,100)>>
+	<<set _slave.vagina = 1>>
+	<<set _slave.skill.oral = 35>>
+	<<set _slave.skill.anal = 15>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.entertainment = 10>>
+	<<set _slave.intelligence = random(51,80)>>
+	<<set _slave.intelligenceImplant = 15>>
+	<<set _slave.weight = random(-50,60)>>
+	<<if isFertile(_slave) && $seePreg != 0>>
+		<<set _slave.preg = either(-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 10, 20, 30, 39)>>
+		<<if _slave.preg > 0>>
+			<<set _slave.pregType = setPregType(_slave)>>
+			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
+			<<set _slave.pregKnown = 1>>
+			<<set _slave.pregWeek = _slave.preg>>
+			<<run SetBellySize(_slave)>>
 		<</if>>
 	<<else>>
-		<<set $activeSlave.preg = -1>>
+		<<set _slave.preg = -1>>
 	<</if>>
 <<case "scientist">>
-	<<set $activeSlaveOneTimeMinAge = 28>>
-	<<set $activeSlaveOneTimeMaxAge = 55>>
-	<<set $one_time_age_overrides_pedo_mode = 1>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.career = "a scientist">>
-	<<set $activeSlave.face = random(15,100)>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.skill.oral = 35>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = 10>>
-	<<set $activeSlave.intelligence = random(70,90)>>
-	<<set $activeSlave.intelligenceImplant = 30>>
-	<<set $activeSlave.teeth = "normal">>
-	<<set $activeSlave.weight = random(-50,50)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 28, maxAge: 55, disableDisability: 1})>>
+	<<set _slave.career = "a scientist">>
+	<<set _slave.face = random(15,100)>>
+	<<set _slave.vagina = 1>>
+	<<set _slave.skill.oral = 35>>
+	<<set _slave.skill.anal = 15>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.entertainment = 10>>
+	<<set _slave.intelligence = random(70,90)>>
+	<<set _slave.intelligenceImplant = 30>>
+	<<set _slave.teeth = "normal">>
+	<<set _slave.weight = random(-50,50)>>
 <<case "lawyer">>
-	<<set $activeSlaveOneTimeMinAge = 30>>
-	<<set $activeSlaveOneTimeMaxAge = 55>>
-	<<set $one_time_age_overrides_pedo_mode = 1>>
-	<<set $oneTimeDisableDisability = 1>>
-	<<set $activeSlave = GenerateNewSlave("XX")>>
-	<<set $activeSlave.career = "a lawyer">>
-	<<set $activeSlave.face = random(15,100)>>
-	<<set $activeSlave.vagina = 1>>
-	<<set $activeSlave.skill.oral = 35>>
-	<<set $activeSlave.skill.anal = 15>>
-	<<set $activeSlave.skill.whoring = 0>>
-	<<set $activeSlave.skill.entertainment = 20>>
-	<<set $activeSlave.intelligence = random(20,50)>>
-	<<set $activeSlave.intelligenceImplant = 15>>
-	<<set $activeSlave.weight = random(-50,140)>>
-	<<if isFertile($activeSlave) && $seePreg != 0>>
-		<<set $activeSlave.preg = either(-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 10, 20, 30, 39)>>
-		<<if $activeSlave.preg > 0>>
-			<<set $activeSlave.pregType = setPregType($activeSlave)>>
-			<<set WombImpregnate($activeSlave, $activeSlave.pregType, 0, $activeSlave.preg)>>
-			<<set $activeSlave.pregKnown = 1>>
-			<<set $activeSlave.pregWeek = $activeSlave.preg>>
-			<<run SetBellySize($activeSlave)>>
+	<<set _slave = GenerateNewSlave("XX", {minAge: 30, maxAge: 55, disableDisability: 1, ageOverridesPedoMode: 1})>>
+	<<set _slave.career = "a lawyer">>
+	<<set _slave.face = random(15,100)>>
+	<<set _slave.vagina = 1>>
+	<<set _slave.skill.oral = 35>>
+	<<set _slave.skill.anal = 15>>
+	<<set _slave.skill.whoring = 0>>
+	<<set _slave.skill.entertainment = 20>>
+	<<set _slave.intelligence = random(20,50)>>
+	<<set _slave.intelligenceImplant = 15>>
+	<<set _slave.weight = random(-50,140)>>
+	<<if isFertile(_slave) && $seePreg != 0>>
+		<<set _slave.preg = either(-1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 10, 20, 30, 39)>>
+		<<if _slave.preg > 0>>
+			<<set _slave.pregType = setPregType(_slave)>>
+			<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
+			<<set _slave.pregKnown = 1>>
+			<<set _slave.pregWeek = _slave.preg>>
+			<<run SetBellySize(_slave)>>
 		<</if>>
 	<<else>>
-		<<set $activeSlave.preg = -1>>
+		<<set _slave.preg = -1>>
 	<</if>>
 <</switch>>
-<<run App.Utils.setLocalPronouns($activeSlave)>>
+<<run App.Utils.setLocalPronouns(_slave)>>
 <<switch $origin>>
 <<case "housewife">>
 	is an idyllic mansion in the countryside of an old world nation. Its owner is a businessman of some notoriety, but is often away from his expansive estate. A number of servants and maids are in residence, but the primary resident of the mansion is his $wife. From the sound of things, $he is not a young $woman but attractive enough in a fake sort of way.
@@ -602,11 +537,11 @@ target
 <<case "law enforcement officer">>
 	is the precinct of a small old world town's police department. The department is notoriously underfunded and unlikely to be particularly well staffed. Nonetheless, one of the officers is well known in the area for $his adherence to the letter of the law despite $his small town cop status.
 <<case "classical musician">>
-	is the concert hall at the heart of an aristocratic old world city. The concert hall itself would usually not be considered a choice target, except that tonight its stage is graced by a renowned orchestra. The pride of the orchestra's cast is a <<if $activeSlave.visualAge < 13>>little $girl<<elseif $activeSlave.visualAge <= 18>>teenager<<elseif $activeSlave.visualAge <= 24>>young $woman<<elseif $activeSlave.visualAge <= 32>>$woman<<else>>mature $woman<</if>>, whose skill with $his instrument has been known to move listeners to tears.
+	is the concert hall at the heart of an aristocratic old world city. The concert hall itself would usually not be considered a choice target, except that tonight its stage is graced by a renowned orchestra. The pride of the orchestra's cast is a <<if _slave.visualAge < 13>>little $girl<<elseif _slave.visualAge <= 18>>teenager<<elseif _slave.visualAge <= 24>>young $woman<<elseif _slave.visualAge <= 32>>$woman<<else>>mature $woman<</if>>, whose skill with $his instrument has been known to move listeners to tears.
 <<case "politician">>
 	is a campaign rally for the reelection of an old world politician. Though the rally will be an extremely public affair, the benefits of capturing a prestigious politician could outweigh the risks.
 <<case "shut-in">>
-	is the shack of a notorious shut-in located just outside your arcology. Not a particularly distinguished target, but it would save your $mercenariesTitle considerable time and effort. The shut-in $himself has been a fixture of the landscape for <<if $activeSlave.visualAge < 13>>only a little while<<elseif $activeSlave.visualAge <= 18>>some time<<elseif $activeSlave.visualAge <= 32>>years<<else>>decades<</if>>, with many speculating that $he remains a virgin<<if $activeSlave.visualAge > 32>> despite $his mature age<</if>>.
+	is the shack of a notorious shut-in located just outside your arcology. Not a particularly distinguished target, but it would save your $mercenariesTitle considerable time and effort. The shut-in $himself has been a fixture of the landscape for <<if _slave.visualAge < 13>>only a little while<<elseif _slave.visualAge <= 18>>some time<<elseif _slave.visualAge <= 32>>years<<else>>decades<</if>>, with many speculating that $he remains a virgin<<if _slave.visualAge > 32>> despite $his mature age<</if>>.
 <<case "procuress">>
 	is a halfway house for vulnerable $women operating in a nearby conflict zone. Far from being a wholesome institution, the proprietor of this halfway house is a notorious procuress who sells $his guests into slavery. Raiding the halfway house avoids the procuress' fees on a new shipment of slaves, with the procuress $himself as a tempting bonus.
 <<case "investor">>
@@ -617,123 +552,123 @@ target
 	is the offices of a law firm operating on the boundary between the old world and the Free Cities. The lawyers within profit from the shaky legal channels between old world nations and new Free Cities, largely drawing up contracts or facilitating the transfer of goods, services, and slaves. The sole senior partner of the firm is one of the pioneers of this new field of legal work, having been a staunch corporate advocate for much of $his life.
 <</switch>>
 
-<<set $activeSlave.origin = "Your " + $mercenariesTitle + " caught $him while raiding; $he was a " + $origin + ".">>
-<<run setHealth($activeSlave, random(30,50))>>
-<<set $activeSlave.devotion = random(-45,-25)>>
-<<set $activeSlave.trust = random(-60,-75)>>
-<<set $activeSlave.oldDevotion = $activeSlave.devotion>>
+<<set _slave.origin = "Your " + $mercenariesTitle + " caught $him while raiding; $he was a " + $origin + ".">>
+<<run setHealth(_slave, random(30,50))>>
+<<set _slave.devotion = random(-45,-25)>>
+<<set _slave.trust = random(-60,-75)>>
+<<set _slave.oldDevotion = _slave.devotion>>
 
-The $origin is the primary target of the raid. $He's $activeSlave.race.
-<<if ($activeSlave.physicalAge <= 6)>>
+The $origin is the primary target of the raid. $He's _slave.race.
+<<if (_slave.physicalAge <= 6)>>
 	$He is a young child and should be easy to corral.
 	<<set $targetEscape -= 2>>
-<<elseif ($activeSlave.physicalAge <= 12)>>
+<<elseif (_slave.physicalAge <= 12)>>
 	$He is just a kid, but might have some surprises up $his sleeves.
 	<<set $targetEscape += 1>>
-<<elseif ($activeSlave.physicalAge >= 100)>>
+<<elseif (_slave.physicalAge >= 100)>>
 	$He is really, really old and won't stand a chance of shuffling off.
 	<<set $targetEscape -= 5>>
-<<elseif ($activeSlave.physicalAge >= 85)>>
+<<elseif (_slave.physicalAge >= 85)>>
 	$He is very old and unlikely to be hard to catch.
 	<<set $targetEscape -= 3>>
-<<elseif ($activeSlave.physicalAge >= 70)>>
+<<elseif (_slave.physicalAge >= 70)>>
 	$He is old and slow.
 	<<set $targetEscape -= 1>>
 <</if>>
-<<if $activeSlave.weight > 190>>
+<<if _slave.weight > 190>>
 	$His figure is catastrophically fat, so much so that the raid might be better off laying down speedbumps to thwart $his rascal-powered flight.
 	<<set $targetEscape -= 5>>
-<<elseif $activeSlave.weight > 160>>
+<<elseif _slave.weight > 160>>
 	$His figure is extremely fat and unlikely to make it far, especially if stairs are involved.
 	<<set $targetEscape -= 3>>
-<<elseif $activeSlave.weight > 95>>
+<<elseif _slave.weight > 95>>
 	$His figure is quite fat.
 	<<set $targetEscape -= 2>>
-<<elseif $activeSlave.weight > 30>>
+<<elseif _slave.weight > 30>>
 	$His figure is fairly chubby.
 	<<set $targetEscape -= 1>>
-<<elseif $activeSlave.weight < -95>>
+<<elseif _slave.weight < -95>>
 	$He's so skinny that $he appears almost emaciated.
 	<<set $targetEscape -= 1>>
 <<else>>
 	$He has a fairly average weight.
 <</if>>
-<<if $activeSlave.muscles > 30>>
+<<if _slave.muscles > 30>>
 	$His heavy musculature weighs $him down.
 	<<set $targetEscape -= 1>>
-<<elseif $activeSlave.muscles <= 5>>
+<<elseif _slave.muscles <= 5>>
 	$His body is soft and toneless.
 	<<set $targetEscape -= 1>>
 <<else>>
 	$His body is fairly muscular.
 <</if>>
-<<if $activeSlave.height >= 185>>
+<<if _slave.height >= 185>>
 	$He's tall enough that $his height makes $him easy to spot.
 	<<set $targetEscape -= 2>>
-<<elseif $activeSlave.height < 150>>
+<<elseif _slave.height < 150>>
 	$He's short enough that $his height makes $him difficult to spot.
 	<<set $targetEscape += 1>>
 <<else>>
 	$He's of an average height.
 <</if>>
-<<if $activeSlave.boobs >= 2000>>
+<<if _slave.boobs >= 2000>>
 	$He has absurdly large breasts.
 	<<set $targetEscape -= 3>>
-<<elseif $activeSlave.boobs >= 800>>
+<<elseif _slave.boobs >= 800>>
 	$He has fairly large breasts.
 	<<set $targetEscape -= 1>>
-<<elseif $activeSlave.boobs >= 400>>
+<<elseif _slave.boobs >= 400>>
 	$He has medium sized breasts.
 <<else>>
 	$He's fairly flat chested.
 	<<set $targetEscape += 1>>
 <</if>>
-<<if $activeSlave.butt >= 6>>
+<<if _slave.butt >= 6>>
 	$He has an immense posterior.
 	<<set $targetEscape -= 1>>
-<<elseif $activeSlave.butt >= 4>>
+<<elseif _slave.butt >= 4>>
 	$He has a large ass.
-<<elseif $activeSlave.butt >= 2>>
+<<elseif _slave.butt >= 2>>
 	$He's got a big butt.
 <<else>>
 	$He's got a flat ass.
 	<<set $targetEscape += 1>>
 <</if>>
-<<if $activeSlave.dick >= 5>>
+<<if _slave.dick >= 5>>
 	$His cock is large enough to slow $him down.
 	<<set $targetEscape -= 1>>
 <</if>>
-<<if ($activeSlave.balls >= 5) && ($activeSlave.scrotum > 0)>>
+<<if (_slave.balls >= 5) && (_slave.scrotum > 0)>>
 	$His balls are likely to hurt while running, enough to slow $him down.
 	<<set $targetEscape -= 1>>
 <</if>>
-<<if $activeSlave.preg >= $activeSlave.pregData.normalBirth-1>>
+<<if _slave.preg >= _slave.pregData.normalBirth-1>>
 	$His ripe pregnant belly is very likely to preclude $him from escaping without help at all. All it takes is $his water breaking to practically doom $his flight.
 	<<set $targetEscape -= 10>>
-<<elseif $activeSlave.belly >= 60000>>
+<<elseif _slave.belly >= 60000>>
 	$He is so massively pregnant it'll be next to impossible for $him to escape on foot.
 	<<set $targetEscape -= 10>>
-<<elseif $activeSlave.belly >= 10000>>
+<<elseif _slave.belly >= 10000>>
 	$His pregnant belly is likely to preclude $him from escaping on foot at all.
 	<<set $targetEscape -= 5>>
-<<elseif $activeSlave.belly >= 5000>>
+<<elseif _slave.belly >= 5000>>
 	$He's visibly pregnant and likely to be cautious and slow during $his escape.
 	<<set $targetEscape -= 3>>
-<<elseif $activeSlave.belly >= 1500>>
+<<elseif _slave.belly >= 1500>>
 	There is a slight roundness to $his middle, likely an early pregnancy that will distract $him from fleeing.
 	<<set $targetEscape -= 1>>
 <</if>>
 
 <<if _ser == 0>>
-	<<set _target1 = $activeSlave>>
+	<<set _target1 = _slave>>
 	<<set _origin1 = $origin>>
 	<<set _targetEscape1 = $targetEscape>>
 <<elseif _ser == 1>>
-	<<set _target2 = $activeSlave>>
+	<<set _target2 = _slave>>
 	<<set _origin2 = $origin>>
 	<<set _targetEscape2 = $targetEscape>>
 <<else>>
-	<<set _target3 = $activeSlave>>
+	<<set _target3 = _slave>>
 	<<set _origin3 = $origin>>
 	<<set _targetEscape3 = $targetEscape>>
 <</if>>
diff --git a/src/uncategorized/seRecruiterSuccess.tw b/src/uncategorized/seRecruiterSuccess.tw
index 1b5930ceb4a7db357039554d6404cd60fac99468..545dd1ac86279c6a2b4c7877403c7bcfdb4628fa 100644
--- a/src/uncategorized/seRecruiterSuccess.tw
+++ b/src/uncategorized/seRecruiterSuccess.tw
@@ -3,204 +3,163 @@
 <<set $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $encyclopedia = "Enslaving People", $recruiterProgress = 0>>
 
 <<if $recruiterTarget == "young migrants">>
-
-<<set $activeSlaveOneTimeMaxAge = 22>>
-<<set $oneTimeDisableDisability = 1>>
-<<set $activeSlave = GenerateNewSlave()>>
-<<run generateSalonModifications($activeSlave)>>
-<<set $activeSlave.origin = "$He submitted to enslavement for a better chance at survival than $he had as a migrant.">>
-<<set $activeSlave.devotion = random(-15,5)>>
-<<set $activeSlave.trust = random(-10,10)>>
-<<run setHealth($activeSlave, jsRandom(-80,20))>>
-<<set $activeSlave.anus = 0>>
-<<if $activeSlave.vagina > 0>>
-	<<set $activeSlave.vagina = random(1,3)>>
-	<<set $activeSlave.skill.vaginal = random(15,40)>>
-<</if>>
-<<set $activeSlave.skill.anal = 0>>
-
-<<set $activeSlave.earPiercing = random(0,1)>>
-
+	<<set _slave = GenerateNewSlave("", {maxAge: 22, disableDisability: 1})>>
+	<<run generateSalonModifications(_slave)>>
+	<<set _slave.origin = "$He submitted to enslavement for a better chance at survival than $he had as a migrant.">>
+	<<set _slave.devotion = random(-15,5)>>
+	<<set _slave.trust = random(-10,10)>>
+	<<run setHealth(_slave, jsRandom(-80,20))>>
+	<<set _slave.anus = 0>>
+	<<if _slave.vagina > 0>>
+		<<set _slave.vagina = random(1,3)>>
+		<<set _slave.skill.vaginal = random(15,40)>>
+	<</if>>
+	<<set _slave.skill.anal = 0>>
+	<<set _slave.earPiercing = random(0,1)>>
 <<elseif $recruiterTarget == "recent divorcees">>
-
-<<set $activeSlaveOneTimeMinAge = 30>>
-<<set $activeSlaveOneTimeMaxAge = 45>>
-<<set $oneTimeDisableDisability = 1>>
-<<set $activeSlave = GenerateNewSlave()>>
-<<set $activeSlave.origin = "$He submitted to enslavement for a better quality of life than $he had as a recent divorcee.">>
-<<set $activeSlave.devotion = random(-15,5)>>
-<<set $activeSlave.trust = random(-10,10)>>
-<<run setHealth($activeSlave, jsRandom(-40,20))>>
-<<set $activeSlave.anus = random(1,3)>>
-<<if $activeSlave.vagina > 0>>
-	<<set $activeSlave.vagina = random(1,3)>>
-	<<set $activeSlave.skill.vaginal = random(15,40)>>
-<</if>>
-<<set $activeSlave.skill.anal = 0>>
-
-<<set $activeSlave.earPiercing = random(0,1)>>
-
+	<<set _slave = GenerateNewSlave("", {minAge: 30, maxAge: 45, disableDisability: 1})>>
+	<<set _slave.origin = "$He submitted to enslavement for a better quality of life than $he had as a recent divorcee.">>
+	<<set _slave.devotion = random(-15,5)>>
+	<<set _slave.trust = random(-10,10)>>
+	<<run setHealth(_slave, jsRandom(-40,20))>>
+	<<set _slave.anus = random(1,3)>>
+	<<if _slave.vagina > 0>>
+		<<set _slave.vagina = random(1,3)>>
+		<<set _slave.skill.vaginal = random(15,40)>>
+	<</if>>
+	<<set _slave.skill.anal = 0>>
+	<<set _slave.earPiercing = random(0,1)>>
 <<elseif $recruiterTarget == "reassignment candidates">>
+	<<set _slave = GenerateNewSlave("XY", {disableDisability: 1})>>
+	<<run generateSalonModifications(_slave)>>
+	<<set _slave.origin = "$He submitted to enslavement as $his only way to obtain surgery to transform $him into a woman.">>
+	<<set _slave.devotion = random(-15,5)>>
+	<<set _slave.trust = random(-10,10)>>
+	<<run setHealth(_slave, jsRandom(-40,20))>>
+	<<if _slave.balls == 0>>
+		<<set _slave.balls = random(1,3)>>
+	<</if>>
 
-<<set $oneTimeDisableDisability = 1>>
-<<set $activeSlave = GenerateNewSlave("XY")>>
-<<run generateSalonModifications($activeSlave)>>
-<<set $activeSlave.origin = "$He submitted to enslavement as $his only way to obtain surgery to transform $him into a woman.">>
-<<set $activeSlave.devotion = random(-15,5)>>
-<<set $activeSlave.trust = random(-10,10)>>
-<<run setHealth($activeSlave, jsRandom(-40,20))>>
-<<if $activeSlave.balls == 0>>
-	<<set $activeSlave.balls = random(1,3)>>
-<</if>>
-
-<<set $activeSlave.tonguePiercing = random(0,1)>>
-<<set $activeSlave.earPiercing = random(0,1)>>
-<<set $activeSlave.nosePiercing = random(0,1)>>
-<<set $activeSlave.sexualFlaw = "hates women">>
-
+	<<set _slave.tonguePiercing = random(0,1)>>
+	<<set _slave.earPiercing = random(0,1)>>
+	<<set _slave.nosePiercing = random(0,1)>>
+	<<set _slave.sexualFlaw = "hates women">>
 <<elseif $recruiterTarget == "dissolute sissies">>
-
-<<set $oneTimeDisableDisability = 1>>
-<<set $activeSlave = GenerateNewSlave("XY")>>
-<<run generateSalonModifications($activeSlave)>>
-<<set $activeSlave.origin = "$He submitted to enslavement out of a misguided desire to join a sexually libertine society.">>
-<<set $activeSlave.devotion = random(-15,5)>>
-<<set $activeSlave.trust = random(-10,10)>>
-<<run setHealth($activeSlave, jsRandom(-40,20))>>
-<<set $activeSlave.anus = random(1,3)>>
-<<if $activeSlave.balls == 0>>
-	<<set $activeSlave.balls = random(1,3)>>
-<</if>>
-<<set $activeSlave.skill.oral = random(15,40)>>
-<<set $activeSlave.skill.anal = random(15,40)>>
-<<set $activeSlave.faceImplant = 20*random(0,1)>>
-<<set $activeSlave.face = Math.clamp($activeSlave.face+($activeSlave.faceImplant),-100,100)>>
-<<set $activeSlave.lipsPiercing = random(0,1)>>
-<<set $activeSlave.tonguePiercing = random(0,1)>>
-<<set $activeSlave.earPiercing = random(0,1)>>
-<<set $activeSlave.nosePiercing = random(0,1)>>
-<<set $activeSlave.eyebrowPiercing = random(0,1)>>
-<<set $activeSlave.navelPiercing = random(0,1)>>
-<<set $activeSlave.nipplesPiercing = random(0,1)>>
-<<set $activeSlave.clitPiercing = random(0,1)>>
-<<set $activeSlave.sexualFlaw = "hates women">>
-
+	<<set _slave = GenerateNewSlave("XY", {disableDisability: 1})>>
+	<<run generateSalonModifications(_slave)>>
+	<<set _slave.origin = "$He submitted to enslavement out of a misguided desire to join a sexually libertine society.">>
+	<<set _slave.devotion = random(-15,5)>>
+	<<set _slave.trust = random(-10,10)>>
+	<<run setHealth(_slave, jsRandom(-40,20))>>
+	<<set _slave.anus = random(1,3)>>
+	<<if _slave.balls == 0>>
+		<<set _slave.balls = random(1,3)>>
+	<</if>>
+	<<set _slave.skill.oral = random(15,40)>>
+	<<set _slave.skill.anal = random(15,40)>>
+	<<set _slave.faceImplant = 20*random(0,1)>>
+	<<set _slave.face = Math.clamp(_slave.face+(_slave.faceImplant),-100,100)>>
+	<<set _slave.lipsPiercing = random(0,1)>>
+	<<set _slave.tonguePiercing = random(0,1)>>
+	<<set _slave.earPiercing = random(0,1)>>
+	<<set _slave.nosePiercing = random(0,1)>>
+	<<set _slave.eyebrowPiercing = random(0,1)>>
+	<<set _slave.navelPiercing = random(0,1)>>
+	<<set _slave.nipplesPiercing = random(0,1)>>
+	<<set _slave.clitPiercing = random(0,1)>>
+	<<set _slave.sexualFlaw = "hates women">>
 <<elseif $recruiterTarget == "expectant mothers">>
-
-<<set $activeSlaveOneTimeMinAge = Math.max($fertilityAge, $minimumSlaveAge)>>
-<<set $one_time_age_overrides_pedo_mode = 1>> /% Old enough to be pregnant. %/
-<<set $oneTimeDisableDisability = 1>>
-<<set $activeSlave = GenerateNewSlave("XX")>>
-<<run generateSalonModifications($activeSlave)>>
-<<set $activeSlave.origin = "$He submitted to enslavement to get access to modern prenatal care.">>
-<<set $activeSlave.devotion = random(-15,5)>>
-<<set $activeSlave.trust = random(-10,10)>>
-<<run setHealth($activeSlave, jsRandom(-80,20))>>
-<<set $activeSlave.vagina = random(1,3)>>
-<<set $activeSlave.preg = random(15,39)>>
-<<set $activeSlave.pregType = setPregType($activeSlave)>>
-<<set WombImpregnate($activeSlave, $activeSlave.pregType, 0, $activeSlave.preg)>>
-<<set $activeSlave.pregKnown = 1>>
-<<set $activeSlave.pregWeek = $activeSlave.preg>>
-<<run SetBellySize($activeSlave)>>
-<<set $activeSlave.boobs += 50*random(0,6)>>
-<<set $activeSlave.lactation = random(0,1)>>
-<<if $activeSlave.lactation > 0>>
-	<<set $activeSlave.lactationDuration = 2>>
-<</if>>
-<<set $activeSlave.weight = random(0,50)>>
-
+	<<set _slave = GenerateNewSlave("XX", {minAge: Math.max($fertilityAge, $minimumSlaveAge), ageOverridesPedoMode: 1, disableDisability: 1})>>
+	<<run generateSalonModifications(_slave)>>
+	<<set _slave.origin = "$He submitted to enslavement to get access to modern prenatal care.">>
+	<<set _slave.devotion = random(-15,5)>>
+	<<set _slave.trust = random(-10,10)>>
+	<<run setHealth(_slave, jsRandom(-80,20))>>
+	<<set _slave.vagina = random(1,3)>>
+	<<set _slave.preg = random(15,39)>>
+	<<set _slave.pregType = setPregType(_slave)>>
+	<<set WombImpregnate(_slave, _slave.pregType, 0, _slave.preg)>>
+	<<set _slave.pregKnown = 1>>
+	<<set _slave.pregWeek = _slave.preg>>
+	<<run SetBellySize(_slave)>>
+	<<set _slave.boobs += 50*random(0,6)>>
+	<<set _slave.lactation = random(0,1)>>
+	<<if _slave.lactation > 0>>
+		<<set _slave.lactationDuration = 2>>
+	<</if>>
+	<<set _slave.weight = random(0,50)>>
 <<else>>
-
-<<set $activeSlaveOneTimeMinAge = 11>>
-<<set $activeSlaveOneTimeMaxAge = 22>>
-<<set $oneTimeDisableDisability = 1>>
-<<set $activeSlave = GenerateNewSlave()>>
-<<run generateSalonModifications($activeSlave)>>
-<<set $activeSlave.origin = "$He submitted to enslavement to escape the hard life of an old world whore.">>
-<<set $activeSlave.career = "a prostitute">>
-<<set $activeSlave.devotion = random(-15,5)>>
-<<set $activeSlave.trust = random(-10,10)>>
-<<run setHealth($activeSlave, jsRandom(-80,20))>>
-<<set $activeSlave.anus = random(1,3)>>
-<<if $activeSlave.balls > 0>>
-	<<set $activeSlave.vagina = random(1,3)>>
-	<<set $activeSlave.skill.vaginal = random(15,40)>>
-<</if>>
-<<set $activeSlave.skill.oral = random(15,40)>>
-<<set $activeSlave.skill.anal = random(15,40)>>
-<<set $activeSlave.skill.whoring = random(15,40)>>
-<<set $activeSlave.boobsImplant = random(0,3)*200>>
-<<set $activeSlave.boobs += $activeSlave.boobsImplant>>
-<<if $activeSlave.boobsImplant > 0>>
-	<<set $activeSlave.boobsImplantType = "normal">>
-<</if>>
-<<set $activeSlave.buttImplant = random(0,2)>>
-<<set $activeSlave.butt = $activeSlave.buttImplant>>
-<<if $activeSlave.buttImplant > 0>>
-	<<set $activeSlave.buttImplantType = "normal">>
-<</if>>
-<<set $activeSlave.lipsImplant = either(0,10)>>
-<<set $activeSlave.lips += $activeSlave.lipsImplant>>
-<<set $activeSlave.lipsPiercing = random(0,1)>>
-<<set $activeSlave.tonguePiercing = random(0,1)>>
-<<set $activeSlave.earPiercing = random(0,1)>>
-<<set $activeSlave.nosePiercing = random(0,1)>>
-<<set $activeSlave.eyebrowPiercing = random(0,1)>>
-<<set $activeSlave.navelPiercing = random(0,1)>>
-<<set $activeSlave.nipplesPiercing = random(0,1)>>
-<<set $activeSlave.clitPiercing = random(0,1)>>
-
+	<<set _slave = GenerateNewSlave("", {minAge: 11, maxAge: 22, disableDisability: 1})>>
+	<<run generateSalonModifications(_slave)>>
+	<<set _slave.origin = "$He submitted to enslavement to escape the hard life of an old world whore.">>
+	<<set _slave.career = "a prostitute">>
+	<<set _slave.devotion = random(-15,5)>>
+	<<set _slave.trust = random(-10,10)>>
+	<<run setHealth(_slave, jsRandom(-80,20))>>
+	<<set _slave.anus = random(1,3)>>
+	<<if _slave.balls > 0>>
+		<<set _slave.vagina = random(1,3)>>
+		<<set _slave.skill.vaginal = random(15,40)>>
+	<</if>>
+	<<set _slave.skill.oral = random(15,40)>>
+	<<set _slave.skill.anal = random(15,40)>>
+	<<set _slave.skill.whoring = random(15,40)>>
+	<<set _slave.boobsImplant = random(0,3)*200>>
+	<<set _slave.boobs += _slave.boobsImplant>>
+	<<if _slave.boobsImplant > 0>>
+		<<set _slave.boobsImplantType = "normal">>
+	<</if>>
+	<<set _slave.buttImplant = random(0,2)>>
+	<<set _slave.butt = _slave.buttImplant>>
+	<<if _slave.buttImplant > 0>>
+		<<set _slave.buttImplantType = "normal">>
+	<</if>>
+	<<set _slave.lipsImplant = either(0,10)>>
+	<<set _slave.lips += _slave.lipsImplant>>
+	<<set _slave.lipsPiercing = random(0,1)>>
+	<<set _slave.tonguePiercing = random(0,1)>>
+	<<set _slave.earPiercing = random(0,1)>>
+	<<set _slave.nosePiercing = random(0,1)>>
+	<<set _slave.eyebrowPiercing = random(0,1)>>
+	<<set _slave.navelPiercing = random(0,1)>>
+	<<set _slave.nipplesPiercing = random(0,1)>>
+	<<set _slave.clitPiercing = random(0,1)>>
 <</if>>
 
 <<if $recruiterEugenics == 1>>
 	<<if $policies.SMR.eugenics.intelligenceSMR == 1>>
-		<<set $activeSlave.intelligence = Intelligence.random({limitIntelligence: [40,100]})>>
+		<<set _slave.intelligence = Intelligence.random({limitIntelligence: [40,100]})>>
 	<</if>>
 	<<if $policies.SMR.eugenics.heightSMR == 1>>
-		<<set $activeSlave.height = random(185,190)>>
+		<<set _slave.height = random(185,190)>>
 	<</if>>
 	<<if $policies.SMR.eugenics.faceSMR == 1>>
-		<<set $activeSlave.face = random(40,100)>>
+		<<set _slave.face = random(40,100)>>
 	<</if>>
 <</if>>
 
 <<set _ContractCost = 1000>>
-<<set _slaveCost = slaveCost($activeSlave)>>
+<<set _slaveCost = slaveCost(_slave)>>
 <<set _slaveCost -= _ContractCost>>
-<<run App.Utils.setLocalPronouns($activeSlave)>>
+<<run App.Utils.setLocalPronouns(_slave)>>
 <<setLocalPronouns _S.Recruiter 2>>
 
 <<if $recruiterTarget == "young migrants">>
-
-Your recruiter _S.Recruiter.slaveName has succeeded; _he2's convinced a starving young migrant from the old world that $he'll have a better chance at survival as one of your slaves.
-
+	Your recruiter _S.Recruiter.slaveName has succeeded; _he2's convinced a starving young migrant from the old world that $he'll have a better chance at survival as one of your slaves.
 <<elseif $recruiterTarget == "recent divorcees">>
-
-Your recruiter _S.Recruiter.slaveName has succeeded; _he2's convinced a recent divorcee from the old world that $he'll have a better quality of life as one of your slaves.
-
+	Your recruiter _S.Recruiter.slaveName has succeeded; _he2's convinced a recent divorcee from the old world that $he'll have a better quality of life as one of your slaves.
 <<elseif $recruiterTarget == "reassignment candidates">>
-
-Your recruiter _S.Recruiter.slaveName has succeeded; _he2's convinced an old world person desperate for modern reassignment surgery that you'll provide it if $he agrees to be a sex slave after $he's recreated as a female.
-
+	Your recruiter _S.Recruiter.slaveName has succeeded; _he2's convinced an old world person desperate for modern reassignment surgery that you'll provide it if $he agrees to be a sex slave after $he's recreated as a female.
 <<elseif $recruiterTarget == "dissolute sissies">>
-
-Your recruiter _S.Recruiter.slaveName has succeeded; _he2's convinced an old world sissy that $he'd be better off as a slave in a society that is so totally sexually libertine as to accept as female and respectable anyone who takes cock.
-
+	Your recruiter _S.Recruiter.slaveName has succeeded; _he2's convinced an old world sissy that $he'd be better off as a slave in a society that is so totally sexually libertine as to accept as female and respectable anyone who takes cock.
 <<elseif $recruiterTarget == "expectant mothers">>
-
-Your recruiter _S.Recruiter.slaveName has succeeded; _he2's convinced an unhealthy expectant mother that you'll provide $him with modern medicine in return for $his enslavement.
-
+	Your recruiter _S.Recruiter.slaveName has succeeded; _he2's convinced an unhealthy expectant mother that you'll provide $him with modern medicine in return for $his enslavement.
 <<else>>
-
-Your recruiter _S.Recruiter.slaveName has succeeded; _he2's convinced a desperate old world whore that $he'd be better off as a slave in $arcologies[0].name than as a free prostitute on the rough streets of a traditional city.
-
+	Your recruiter _S.Recruiter.slaveName has succeeded; _he2's convinced a desperate old world whore that $he'd be better off as a slave in $arcologies[0].name than as a free prostitute on the rough streets of a traditional city.
 <</if>>
 
 <br><br>
-
-<<includeDOM App.Desc.longSlave(V.activeSlave, {market: "generic"})>>
-
+<<includeDOM App.Desc.longSlave(_slave, {market: "generic"})>>
 <br><br>
 
 <span id="result">
@@ -208,13 +167,13 @@ Your recruiter _S.Recruiter.slaveName has succeeded; _he2's convinced a desperat
 <<link "Enslave $him">>
 	<<run cashX(forceNeg(_ContractCost), "slaveTransfer", $slaves[$i])>>
 	<<replace "#result">>
-	<<includeDOM App.UI.newSlaveIntro($activeSlave)>>
+	<<includeDOM App.UI.newSlaveIntro(_slave)>>
 	<</replace>>
 <</link>> //This will cost <<print cashFormat(_ContractCost)>>//
 <br><<link "Sell $him immediately">>
 	<<run cashX(_slaveCost, "slaveTransfer", _S.Recruiter)>>
 	<<replace "#result">>
-	$activeSlave.slaveName accepts being resold without much fuss. $He's merely exchanged one unknown owner for another. For all $he knows $his new buyer will be less abusive than you would have been. $He would be less complacent if $he knew who $his buyers are; $he'll be immured in an arcade within the hour.
+	_slave.slaveName accepts being resold without much fuss. $He's merely exchanged one unknown owner for another. For all $he knows $his new buyer will be less abusive than you would have been. $He would be less complacent if $he knew who $his buyers are; $he'll be immured in an arcade within the hour.
 	<</replace>>
 <</link>> //This will bring in <<print cashFormat(_slaveCost)>>//
 <<else>>
diff --git a/src/uncategorized/seRetirement.tw b/src/uncategorized/seRetirement.tw
index d325986e62ec881627bad8d4125c287663d0fd35..b17f96d976cb83dceefb97e5c0de9bee81292dfe 100644
--- a/src/uncategorized/seRetirement.tw
+++ b/src/uncategorized/seRetirement.tw
@@ -2,21 +2,21 @@
 
 <<set $nextButton = "Continue">>
 
-<<set $activeSlave = getSlave($retiree)>>
-<<set _clonedSlave = clone($activeSlave)>>
-<<if SlaveStatsChecker.checkForLisp($activeSlave)>>
+<<set _slave = getSlave($retiree)>>
+<<set _clonedSlave = clone(_slave)>>
+<<if SlaveStatsChecker.checkForLisp(_slave)>>
 	<<set _playerName = lispReplace($PC.slaveName)>>
 <<else>>
 	<<set _playerName = $PC.slaveName>>
 <</if>>
 <<run Enunciate(_clonedSlave)>>
 <<setLocalPronouns _clonedSlave>>
-<<set _sr = $slaveIndices[$activeSlave.relationshipTarget]>>
+<<set _sr = $slaveIndices[_slave.relationshipTarget]>>
 <<if def _sr>>
 	<<setLocalPronouns $slaves[_sr] 2>>
 <</if>>
 <<if $policies.retirement.fate == "citizen">>
-	<<set $activeSlave.clothes = "conservative clothing">>
+	<<set _slave.clothes = "conservative clothing">>
 <<elseif $policies.retirement.fate == "bioreactor">>
 	/* Scene starts in normal clothing */
 <<elseif $policies.retirement.fate == "arcade">>
@@ -26,125 +26,125 @@
 /* 000-250-006 */
 <<if $seeImages == 1>>
 	<<if $imageChoice == 1>>
-		<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+		<div class="imageRef lrgVector"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 	<<else>>
-		<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt($activeSlave, 2, 0)>></div>
+		<div class="imageRef lrgRender"><div class="mask">&nbsp;</div><<= SlaveArt(_slave, 2, 0)>></div>
 	<</if>>
 <</if>>
 /* 000-250-006 */
 </span>
 
-<<= App.UI.slaveDescriptionDialog($activeSlave)>> is retiring from sexual slavery this week,
+<<= App.UI.slaveDescriptionDialog(_slave)>> is retiring from sexual slavery this week,
 
 <<if $policies.retirement.fate == "citizen">>
 	in a way that will fill the rest of your property with envy and @@.mediumaquamarine;trust.@@
 	<<for $i = 0; $i < $slaves.length; $i++>>
 		<<set $slaves[$i].trust += 3>>
 	<</for>>
-	<<if $activeSlave.relationship > 3>>
-		$slaves[_sr].slaveName, for _his2 part, is @@.hotpink;overjoyed,@@ though also a bit sad. Although _he2 knows _he2 will $slaves[_sr].assignment for a while longer, _he2 looks forward to joining $activeSlave.slaveName one day.
+	<<if _slave.relationship > 3>>
+		$slaves[_sr].slaveName, for _his2 part, is @@.hotpink;overjoyed,@@ though also a bit sad. Although _he2 knows _he2 will $slaves[_sr].assignment for a while longer, _he2 looks forward to joining _slave.slaveName one day.
 		<<set $slaves[_sr].devotion += 10>>
 	<</if>>
 	<br><br>
 
 	$He is retiring into citizenship, with a substantial annuity that will provide $him with a secure if not luxurious life.
-	<<if $activeSlave.relationship == -3>>
-		<<if $activeSlave.fetish == "mindbroken">>
+	<<if _slave.relationship == -3>>
+		<<if _slave.fetish == "mindbroken">>
 			Sadly, $he is not mentally equipped to look after $himself, but the arcology hosts several fine institutions capable of caring for $him. They'll have someone check in on $him daily. $Him being your $wife is ultimately irrelevant; $he never realized it in the first place.
-		<<elseif $activeSlave.devotion+$activeSlave.trust >= 175>>
+		<<elseif _slave.devotion+_slave.trust >= 175>>
 			$He wishes $he could continue to be your slave $wife, but $he understands that marriages between slaves and slaveowners are predicated on the slave relationship. $He knows that $his retirement has come, meaning that $his slave relationship to you is ending. $He's had a long time to get used to the idea, and gets through the process with dignity, doing $his best to avoid embarrassing you.
-		<<elseif $activeSlave.devotion < -20 && $activeSlave.trust > 20>>
+		<<elseif _slave.devotion < -20 && _slave.trust > 20>>
 			$He is glad $he no longer has to be your slave $wife, as $he never wanted to be in the first place, though $he will miss taking advantage of the position. $He understands that marriages between slaves and slaveowners are predicated on the slave relationship. $He knows that $his retirement has come, meaning that $his slave relationship to you is ending. $He's had a long time to dream of the idea, and goes through the process with unremitting joy, doing $his best to embarrass you.
-		<<elseif $activeSlave.devotion < -20>>
+		<<elseif _slave.devotion < -20>>
 			$He is glad $he no longer has to be your slave $wife, as $he never wanted to be in the first place. $He understands that marriages between slaves and slaveowners are predicated on the slave relationship. $He knows that $his retirement has come, meaning that $his slave relationship to you is ending. $He's had a long time to dream of the idea, and goes through the process with unremitting joy, doing $his best to avoid embarrassing you while $he's still subject to your whims and your punishments.
 		<<else>>
 			$He is glad $he no longer has to be your slave $wife, as $he never wanted to be in the first place. $He understands that marriages between slaves and slaveowners are predicated on the slave relationship. $He knows that $his retirement has come, meaning that $his slave relationship to you is ending. $He's had a long time to get used to the idea, and gets through the process dutifully, doing $his best to avoid embarrassing you.
 		<</if>>
-	<<elseif $activeSlave.fetish == "mindbroken" || $activeSlave.actualAge < 3>>
+	<<elseif _slave.fetish == "mindbroken" || _slave.actualAge < 3>>
 		Sadly, $he is not mentally equipped to look after $himself, but the arcology hosts several fine institutions capable of caring for $him. They'll have someone check in on $him daily.
-	<<elseif $activeSlave.devotion > 95>>
+	<<elseif _slave.devotion > 95>>
 		$He desperately wishes $he could continue to be your sex slave, but $he understands that $his retirement has come. More importantly, $he's had a long time to get used to the idea, and gets through the process with resolution, doing $his best to avoid embarrassing $himself or you.
-	<<elseif $activeSlave.devotion > 20>>
+	<<elseif _slave.devotion > 20>>
 		$He is very happy to be a free person again, though $he does $his best to do you the favor of not being too ostentatious about this.
 	<<else>>
 		It is with an ill-disguised triumphalism that $he leaves sexual slavery behind $him, and enters into a life in which $he can decline to have things inserted into $his body.
 	<</if>>
 	$He's certainly going to have some adjustments to make.
-	<<if $activeSlave.energy > 90>>
+	<<if _slave.energy > 90>>
 		Notably, dealing with $his formidable sex drive is now $his business. You suspect the arcology's clubs are about to receive a fanatical new regular, and the arcology's whores may not know what hit them when $he realizes that $he's now quite capable of buying whatever $he wants on a semi-regular basis.
-		<<if $activeSlave.skill.anal+$activeSlave.skill.oral >= 120>>
+		<<if _slave.skill.anal+_slave.skill.oral >= 120>>
 			$He's so sexually skilled, though, that $he probably won't have much trouble. $He'll probably have more than a few eager lovers within days.
 		<</if>>
-		<<if $activeSlave.face > 40>>
+		<<if _slave.face > 40>>
 			$He's certainly attractive enough that $he'll have no trouble finding as many casual hookups as $he likes.
 		<</if>>
 	<</if>>
 
-	<<if $activeSlave.prestigeDesc == 0>>
+	<<if _slave.prestigeDesc == 0>>
 		<<set _toSearch = "">>
 	<<else>>
-		<<set _toSearch = $activeSlave.prestigeDesc>>
+		<<set _toSearch = _slave.prestigeDesc>>
 	<</if>>
-	<<if $activeSlave.porn.prestigeDesc == 0>>
+	<<if _slave.porn.prestigeDesc == 0>>
 		<<set _toSearchAlt = "">>
 	<<else>>
-		<<set _toSearchAlt = $activeSlave.porn.prestigeDesc>>
+		<<set _toSearchAlt = _slave.porn.prestigeDesc>>
 	<</if>>
-	<<if (_toSearch.indexOf("Head Girl") != -1) || ($HeadGirlID == $activeSlave.ID)>>
+	<<if (_toSearch.indexOf("Head Girl") != -1) || ($HeadGirlID == _slave.ID)>>
 		<br><br>
 		$He has a reputation from $his long service as your Head Girl. To $his bemusement, and considerable satisfaction, $he has multiple job offers from slaving operations without even having to circulate $his resume.
-		<<if $activeSlave.fetish == "sadist">>
+		<<if _slave.fetish == "sadist">>
 			The prospect of a virtually unlimited field for abuse and rape is something $he'd pay for, now that $he has $his own money. $He's excited beyond description to find that there are people interested in paying $him to exercise $his exquisitely horrible skills.
-		<<elseif $activeSlave.fetish == "dom">>
+		<<elseif _slave.fetish == "dom">>
 			Dominance is second nature to $him. Though $he doesn't have to work, $his slaving skills are valuable enough that $he'd probably be tempted by the pay $he can expect, even if $he didn't derive real pleasure from exercising them.
 		<<else>>
 			$His annuity means that $he doesn't have to work, but $he's inclined to do so. $His skills command reasonable wages in the slave training field, and between those prospects and $his annuity, $he stands to become wealthy.
 		<</if>>
 	<<elseif (_toSearchAlt.indexOf("is world famous for") != -1)>>
 		<br><br>
-		<<set _pornFame = $activeSlave.porn.prestigeDesc>>
+		<<set _pornFame = _slave.porn.prestigeDesc>>
 		<<set _pornFame = _pornFame.replace("$He is world famous for $his career in slave pornography. Millions are intimately familiar with", "enjoy")>>
 		<<set _pornFame = _pornFame.replace(".", ",")>>
 		In addition to $his annuity, you've laid the groundwork for $him to become wealthy by the way you publicized pornography of $him. Many thousands of people across the world are willing to pay to _pornFame and they enjoy it in part because $he doesn't mind it, either. $He's in a position to make great money for doing on camera what $he would probably do anyway.
-	<<elseif ($activeSlave.intelligence+$activeSlave.intelligenceImplant >= -50) && ($activeSlave.muscles > 5) && ($activeSlave.skill.combat >= 1) && hasAllLimbs($activeSlave) && ($activeSlave.face > 10)>>
+	<<elseif (_slave.intelligence+_slave.intelligenceImplant >= -50) && (_slave.muscles > 5) && (_slave.skill.combat >= 1) && hasAllLimbs(_slave) && (_slave.face > 10)>>
 		<br><br>
 		$He's pretty and deadly. If $he feels $he prefers wealth and danger to living on $his annuity, $he'll have no trouble finding work. In fact, $he'll likely have trouble sifting through all the mercenary organizations, businesses in need of attractive and competent guards for public spaces, and citizens looking for effective bodyguards willing to hire $him.
-	<<elseif ($activeSlave.intelligence+$activeSlave.intelligenceImplant > 50) && ($activeSlave.intelligenceImplant >= 15)>>
+	<<elseif (_slave.intelligence+_slave.intelligenceImplant > 50) && (_slave.intelligenceImplant >= 15)>>
 		<br><br>
 		$He has no skills extraordinary enough to bring prospective employers in search of $him, in this new, slaveowning economy, but $he is highly intelligent, educated, and has a small income. As you know from your own abundant personal experience, $his intelligence is a lever, $his annuity is a fulcrum, and with the two, $he may move the world someday. You have no doubt that, at the very least, $he will be far from the poorest of your citizens.
 	<</if>>
 
 	<br><br>
 	As $he takes $his leave, heading the short distance down to $his modest little apartment, $he presents a strange appearance. $He's wearing cheap but not unattractive clothing, and you are struck by a crystal-clear mental image of what $he looks like nude.
-	<<if $activeSlave.fetish != "mindbroken">>
-		<<if $activeSlave.devotion > 20>>
-			<<if $activeSlave.devotion > 95>>
+	<<if _slave.fetish != "mindbroken">>
+		<<if _slave.devotion > 20>>
+			<<if _slave.devotion > 95>>
 				$He's doing $his absolute best not to sob, but $his lips are quivering.
 			<<else>>
 				$He looks like $he might cry.
 			<</if>>
-			<<if !canTalk($activeSlave)>>
+			<<if !canTalk(_slave)>>
 				$He gestures $his thanks, and ironically indicates that $he'll see you around.
 			<<else>>
-				"Well, thank<<s>>, <<Master>>, um, I mean _playerName. I g-gue<<ss>> I'll <<s>>ee you around<<if !canSee($activeSlave)>>, uh, a<<s>> they <<s>>ay<</if>>. I mean, the arcology. Anyway. Bye."
+				"Well, thank<<s>>, <<Master>>, um, I mean _playerName. I g-gue<<ss>> I'll <<s>>ee you around<<if !canSee(_slave)>>, uh, a<<s>> they <<s>>ay<</if>>. I mean, the arcology. Anyway. Bye."
 			<</if>>
-			<<if $activeSlave.devotion > 95>>
+			<<if _slave.devotion > 95>>
 				$He turns resolutely away and flees, trying to choke back $his tears.
 			<<else>>
 				$He turns resolutely away.
 			<</if>>
 		<</if>>
 	<</if>>
-	<<if $activeSlave.relationship == -3>>
+	<<if _slave.relationship == -3>>
 		<br>
 		When you return to your desk you realize something.
-		<<if $activeSlave.fetish == "mindbroken">>
+		<<if _slave.fetish == "mindbroken">>
 			The ring $he wore when $he was your slave $wife is nowhere to be seen; $he's likely forgotten $he was wearing it, but no matter: you can always get more.
-		<<elseif $activeSlave.devotion+$activeSlave.trust >= 175>>
+		<<elseif _slave.devotion+_slave.trust >= 175>>
 			The ring $he wore when $he was your slave $wife is nowhere to be seen; $he's likely taken it with $him to remember you by.
-		<<elseif $activeSlave.devotion < -20 && $activeSlave.trust > 20>>
+		<<elseif _slave.devotion < -20 && _slave.trust > 20>>
 			The ring $he wore when $he was your slave $wife is nowhere to be seen; $he's likely taken it with $him to either try and pawn or to dispose of. It doesn't matter: you can always get more.
-		<<elseif $activeSlave.devotion < -20>>
+		<<elseif _slave.devotion < -20>>
 			The ring $he wore when $he was your slave $wife was left on your desk; $he likely ripped it off as soon as $he was free.
 		<<else>>
 			The ring $he wore when $he was your slave $wife is nowhere to be seen; $he's either taken it with $him as a souvenir, or left it back in $his sleeping area. If it's the former, no matter: you can always get more.
@@ -157,8 +157,8 @@
 
 	<br><br>
 
-	<<if $activeSlave.energy > 50>>
-	<<if $activeSlave.devotion > 20>>
+	<<if _slave.energy > 50>>
+	<<if _slave.devotion > 20>>
 	<span id="result">
 		<<link "See $him around">>
 			<<setNonlocalPronouns $seeDicks>>
@@ -212,7 +212,7 @@
 		<br>
 		<<if _clonedSlave.relationship >= 4>>
 		<<link "Send $his _girl2 into retirement with $him">>
-			<<set _sr = $slaveIndices[_clonedSlave.relationshipTarget]>> /* must be reset since $activeSlave may already be removed from $slaves */
+			<<set _sr = $slaveIndices[_clonedSlave.relationshipTarget]>> /* must be reset since _slave may already be removed from $slaves */
 			<<replace "#art-frame">>
 				/* 000-250-006 */
 				<<if $seeImages == 1>>
@@ -254,18 +254,18 @@
 	<<for $i = 0; $i < $slaves.length; $i++>>
 		<<set $slaves[$i].trust -= 3>>
 	<</for>>
-	<<if $activeSlave.relationship > 3>>
+	<<if _slave.relationship > 3>>
 		$slaves[_sr].slaveName, for _his2 part, is @@.mediumorchid;horrified.@@
 		<<set $slaves[_sr].devotion -= 20>>
 	<</if>>
 	<br><br>
 
-	$He is retiring into a featureless existence where the only realities are the phalli ejaculating food, fluid, and drugs into $his <<if $activeSlave.vagina > -1>> vagina,<</if>> anus, and throat,<<if $activeSlave.balls > 0>> the relentless sodomy forcing semen out of $his distended balls,<</if>> and the milk flowing into the milkers tugging at $his painfully engorged nipples.
-	<<if $activeSlave.fetish == "mindbroken">>
+	$He is retiring into a featureless existence where the only realities are the phalli ejaculating food, fluid, and drugs into $his <<if _slave.vagina > -1>> vagina,<</if>> anus, and throat,<<if _slave.balls > 0>> the relentless sodomy forcing semen out of $his distended balls,<</if>> and the milk flowing into the milkers tugging at $his painfully engorged nipples.
+	<<if _slave.fetish == "mindbroken">>
 		$He's already broken in spirit, and $he complies with $his installation into a milking machine with the dumb obedience of the animal $he has become.
-	<<elseif $activeSlave.devotion > 20>>
+	<<elseif _slave.devotion > 20>>
 		$He complies with $his installation into a milking machine with the dumb obedience of someone whose mind will not allow them to understand their true situation out of simple immediate self-preservation.
-	<<elseif $activeSlave.trust < 50>>
+	<<elseif _slave.trust < 50>>
 		$He is so terrified of punishment that $he complies with $his installation into a milking machine to avoid pain. $He knows that if $he does not obey, there will be pain, and if $he obeys, there may be pain but it will come later.
 	<<else>>
 		$He resists, of course, giving the compliance systems an excuse to unload quite a few volts of electricity into $him. This disobedience is one of $his more abortive attempts to resist your will, and it is $his last.
@@ -293,18 +293,18 @@
 	<<for $i = 0; $i < $slaves.length; $i++>>
 		<<set $slaves[$i].trust -= 3>>
 	<</for>>
-	<<if $activeSlave.relationship > 3>>
+	<<if _slave.relationship > 3>>
 		$slaves[_sr].slaveName, for _his2 part, is @@.mediumorchid;horrified.@@
 		<<set $slaves[_sr].devotion -= 20>>
 	<</if>>
 	<br><br>
 
-	$He is retiring into a dark, featureless eternity in which the only realities are phalli intruding into $his<<if $activeSlave.vagina > -1>> vagina,<</if>> anus, and throat, and the drug-induced haze that will leave $him no choice but to orgasm when $he is penetrated.
-	<<if $activeSlave.fetish == "mindbroken">>
+	$He is retiring into a dark, featureless eternity in which the only realities are phalli intruding into $his<<if _slave.vagina > -1>> vagina,<</if>> anus, and throat, and the drug-induced haze that will leave $him no choice but to orgasm when $he is penetrated.
+	<<if _slave.fetish == "mindbroken">>
 		$He's already broken in spirit, and $he complies with the conversion process with the dumb obedience of the animal $he has become.
-	<<elseif $activeSlave.devotion > 20>>
+	<<elseif _slave.devotion > 20>>
 		$He complies with the conversion process with the dumb obedience of someone whose mind will not allow them to understand their true situation out of simple immediate self-preservation.
-	<<elseif $activeSlave.trust < 50>>
+	<<elseif _slave.trust < 50>>
 		$He is so terrified of punishment that $he complies with the conversion process to avoid pain. $He knows that if $he does not obey, there will be pain, and if $he obeys, there may be pain but it will come later.
 	<<else>>
 		$He resists, of course, giving the compliance systems an excuse to unload quite a few volts of electricity into $him. This disobedience is one of $his more abortive attempts to resist your will, and it is $his last.
@@ -318,27 +318,27 @@
 		the autosurgery,
 	<</if>>
 	and, a disturbingly short time later, there is a new Fuckdoll, a humanoid figure encased in a tough black bodysuit, in your office.
-	<<if !hasAnyLegs($activeSlave)>>
-		Its <<if isAmputee($activeSlave)>>limbless<<else>>legless<</if>> form is not obviously human. It's a sex toy, with several interesting holes and nothing else worth noticing.
+	<<if !hasAnyLegs(_slave)>>
+		Its <<if isAmputee(_slave)>>limbless<<else>>legless<</if>> form is not obviously human. It's a sex toy, with several interesting holes and nothing else worth noticing.
 	<<else>>
 		It stands immobile, the hydraulic system hidden within the suit stiffened to make voluntary movement impossible.
 	<</if>>
-	<<if $activeSlave.boobs > 2000>>
-		The suit has a pair of gaps for its monstrous breasts, bare expanses of $activeSlave.skin skin.
+	<<if _slave.boobs > 2000>>
+		The suit has a pair of gaps for its monstrous breasts, bare expanses of _slave.skin skin.
 	<</if>>
-	<<if $activeSlave.belly >= 5000>>
-		The suit has a gap for its big belly; a round dome of $activeSlave.skin skin.
+	<<if _slave.belly >= 5000>>
+		The suit has a gap for its big belly; a round dome of _slave.skin skin.
 	<</if>>
-	<<if $activeSlave.lips > 40>>
+	<<if _slave.lips > 40>>
 		Its upper hole is surrounded by a ludicrous set of swollen lips.
 	<</if>>
-	<<if $activeSlave.labia > 0>>
+	<<if _slave.labia > 0>>
 		The conversion process left its labia permanently engorged.
 	<</if>>
-	<<if $activeSlave.vaginaLube > 0>>
+	<<if _slave.vaginaLube > 0>>
 		Its front hole is dripping streams of natural lubrication.
 	<</if>>
-	<<if $activeSlave.anus > 2>>
+	<<if _slave.anus > 2>>
 		The gap in the suit over its rear hole opens into the Fuckdoll's interior, since it's the same size as the Fuckdoll's loose sphincter.
 	<</if>>
 	<br><br>
@@ -350,7 +350,7 @@
 			<<if $PC.dick != 0>>
 				You enter a command, and the Fuckdoll instantly
 				<<if hasAnyLegs(_clonedSlave)>>
-					collapses to its knee<<if hasBothLegs($activeSlave)>>s<</if>>.
+					collapses to its knee<<if hasBothLegs(_slave)>>s<</if>>.
 				<<else>>
 					presents its upper hole.
 				<</if>>
@@ -370,7 +370,7 @@
 <<else>>
 
 	into a life of menial drudgery. This has little impact on your other human property.
-	<<if $activeSlave.relationship > 3>>
+	<<if _slave.relationship > 3>>
 		$slaves[_sr].slaveName, for _his2 part, is @@.mediumorchid;saddened,@@ but not seriously affected. _He2 knew this was coming.
 		<<set $slaves[_sr].devotion -= 5>>
 	<</if>>
@@ -385,9 +385,9 @@
 <h3>Final notes...</h3>
 <div class="note">
 	<div class="indent">
-		$His most recent task was to <<print $activeSlave.assignment>><<if $assignmentRecords[$activeSlave.ID]>>, and before that to <<print $assignmentRecords[$activeSlave.ID]>><</if>>.
+		$His most recent task was to <<print _slave.assignment>><<if $assignmentRecords[_slave.ID]>>, and before that to <<print $assignmentRecords[_slave.ID]>><</if>>.
 	</div>
-	<<includeDOM slaveImpactLongTerm(V.activeSlave)>>
+	<<includeDOM slaveImpactLongTerm(_slave)>>
 </div>
 
 <<if $retired == 0>> /* retiring during the end week */
diff --git a/src/uncategorized/tfsFarmUpgrade.tw b/src/uncategorized/tfsFarmUpgrade.tw
index 2513fa3268fcaa01ade5e2b3860b365a6b2b55a6..d2f11d88994a3eb086dee29f0c134a45a0fe4afc 100644
--- a/src/uncategorized/tfsFarmUpgrade.tw
+++ b/src/uncategorized/tfsFarmUpgrade.tw
@@ -30,14 +30,14 @@ whether we will use contraception after we are transformed." She shudders sudden
 <span id="result">
 <<link "Permit them access, but tell them to use contraception">>
 	<<replace "#result">>
-		You signify your assent, telling the Sister that the organ farm will accept seed tissue from any of them for the purpose of fabricating ovaries. To your mild surprise, she responds by breaking down into cutely inelegant crying. You add that you think the Sisters are beautiful as they are, and recruits will continue to approach them; it's not necessary for them to go through the rigors of pregnancy. It takes her a long time to manage to thank to properly, and she hurries to end the call before she can embarrass herself further.
+		You signify your assent, telling the Sister that the organ farm will accept seed tissue from any of them for the purpose of fabricating ovaries. To your mild surprise, she responds by breaking down into cutely inelegant crying. You add that you think the Sisters are beautiful as they are, and recruits will continue to approach them; it's not necessary for them to go through the rigors of pregnancy. It takes her a long time to manage to thank you properly, and she hurries to end the call before she can embarrass herself further.
 		<<set $TFS.farmUpgrade = 1>>
 	<</replace>>
 <</link>>
 <<if $seePreg != 0>>
 	<br><<link "Permit them access, and encourage them to get pregnant">>
 		<<replace "#result">>
-			You signify your assent, telling the Sister that the organ farm will accept seed tissue from any of them for the purpose of fabricating ovaries. To your mild surprise, she responds with cutely inelegant crying. You add that you think the world needs more Futanari Sisters, especially ones as cute and sexy as you're confident her many daughters will be. At that, she breaks down completely, one of her hands going to rub her belly gently. It takes her a long time to manage to thank to properly, and she hurries to end the call before she can embarrass herself further.<<if $arcologies[0].FSRestartDecoration == 100 && $eugenicsFullControl != 1>> The Societal Elite are @@.red;outraged@@ that you would not only allow such a breach of eugenics to occur, but encourage it.<</if>>
+			You signify your assent, telling the Sister that the organ farm will accept seed tissue from any of them for the purpose of fabricating ovaries. To your mild surprise, she responds with cutely inelegant crying. You add that you think the world needs more Futanari Sisters, especially ones as cute and sexy as you're confident her many daughters will be. At that, she breaks down completely, one of her hands going to rub her belly gently. It takes her a long time to manage to thank you properly, and she hurries to end the call before she can embarrass herself further.<<if $arcologies[0].FSRestartDecoration == 100 && $eugenicsFullControl != 1>> The Societal Elite are @@.red;outraged@@ that you would not only allow such a breach of eugenics to occur, but encourage it.<</if>>
 			<<set $TFS.farmUpgrade = 2>>
 			<<if $arcologies[0].FSRestart != "unset" && $eugenicsFullControl != 1>>
 				<<set $failedElite += 275>>
@@ -47,7 +47,7 @@ whether we will use contraception after we are transformed." She shudders sudden
 	<<if $seeHyperPreg == 1>>
 		<br><<link "Permit them access, and encourage them to embrace hyperpregnancy.">>
 			<<replace "#result">>
-				You signify your assent, telling the Sister that the organ farm will accept seed tissue from any of them for the purpose of fabricating ovaries, so long as they are willing to bear as many children as they can handle. To your mild surprise, she responds with cutely inelegant crying. You add that you think the world needs many more Futanari Sisters, especially ones as cute and sexy as you're confident her countless daughters will be. At that, she breaks down completely, one of her hands going to rub her belly gently. It takes her a long time to manage to thank to properly, and she hurries to end the call before she can embarrass herself further.<<if $arcologies[0].FSRestartDecoration == 100 && $eugenicsFullControl != 1>> The Societal Elite are @@.red;outraged@@ that you would not only allow such a breach of eugenics to occur, but encourage it to such an obscene degree.<</if>>
+				You signify your assent, telling the Sister that the organ farm will accept seed tissue from any of them for the purpose of fabricating ovaries, so long as they are willing to bear as many children as they can handle. To your mild surprise, she responds with cutely inelegant crying. You add that you think the world needs many more Futanari Sisters, especially ones as cute and sexy as you're confident her countless daughters will be. At that, she breaks down completely, one of her hands going to rub her belly gently. It takes her a long time to manage to thank you properly, and she hurries to end the call before she can embarrass herself further.<<if $arcologies[0].FSRestartDecoration == 100 && $eugenicsFullControl != 1>> The Societal Elite are @@.red;outraged@@ that you would not only allow such a breach of eugenics to occur, but encourage it to such an obscene degree.<</if>>
 				<<set $TFS.farmUpgrade = 3>>
 				<<if $arcologies[0].FSRestart != "unset" && $eugenicsFullControl != 1>>
 					<<set $failedElite += 1000>>
@@ -58,7 +58,7 @@ whether we will use contraception after we are transformed." She shudders sudden
 	/*
 	<br><<link "Decline, but grant them something more fitting">>
 		<<replace "#result">>
-			You decline her offer and propose a new one, letting the Sister know that the organ farm will accept seed tissue from any of them for the purpose of fabricating testicular ovaries, which should satisfy their desires, if in an unorthodox way. To your mild surprise, she responds with cutely inelegant crying. You add that you think the world needs more Futanari Sisters, especially ones as cute and sexy as you're confident her many daughters will be. At that, she breaks down completely, one of her hands going to rub her balls gently. It takes her a long time to manage to thank to properly, and she hurries to end the call before she can embarrass herself further.<<if $arcologies[0].FSRestartDecoration == 100 && $eugenicsFullControl != 1>> The Societal Elite are @@.red;outraged@@ that you would not only allow such a breach of eugenics to occur, but encourage it.<</if>>
+			You decline her offer and propose a new one, letting the Sister know that the organ farm will accept seed tissue from any of them for the purpose of fabricating testicular ovaries, which should satisfy their desires, if in an unorthodox way. To your mild surprise, she responds with cutely inelegant crying. You add that you think the world needs more Futanari Sisters, especially ones as cute and sexy as you're confident her many daughters will be. At that, she breaks down completely, one of her hands going to rub her balls gently. It takes her a long time to manage to thank you properly, and she hurries to end the call before she can embarrass herself further.<<if $arcologies[0].FSRestartDecoration == 100 && $eugenicsFullControl != 1>> The Societal Elite are @@.red;outraged@@ that you would not only allow such a breach of eugenics to occur, but encourage it.<</if>>
 			<<set $TFS.farmUpgrade = 4>>
 			<<if $arcologies[0].FSRestart != "unset" && $eugenicsFullControl != 1>>
 				<<set $failedElite += 100>>
diff --git a/src/utility/miscWidgets.tw b/src/utility/enunciateWidgets.tw
similarity index 66%
rename from src/utility/miscWidgets.tw
rename to src/utility/enunciateWidgets.tw
index 3ee42debfdba5273e1f0aafac0487f0ab3151a00..4aea9a754c1958b84c95f0260bde7f3b0bd710de 100644
--- a/src/utility/miscWidgets.tw
+++ b/src/utility/enunciateWidgets.tw
@@ -1,14 +1,4 @@
-:: misc widgets [nobr widget]
-
-/* TODO: Modularize. */
-
-/%
-Call as <<UpdateNextButton>>
-Allows for dynamic updating of the next button in the storyCaption (left side-bar) for events that disable the button until user makes a selection
-%/
-<<widget "UpdateNextButton">>
-	<<run App.Utils.updateUserButton()>>
-<</widget>>
+:: enunciate widgets [nobr widget]
 
 <<widget "Master">><<if def $args[0]>><<run Enunciate($args[0])>><<elseif ndef $enunciate>><<run Enunciate($activeSlave)>><</if>>$enunciate.title<</widget>>
 <<widget "say">><<if (def $args[0]) && $enunciate.say != "lisp">>$args[0]<<else>>$enunciate.say<</if>><</widget>>
@@ -95,51 +85,3 @@ Allows for dynamic updating of the next button in the storyCaption (left side-ba
 <<widget "LoliA">><<if _assistantSlaveLisp>>_LoliALisp<<else>>_LoliA<</if>><</widget>>
 <<widget "WifeA">><<if _assistantSlaveLisp>>_WifeALisp<<else>>_WifeA<</if>><</widget>>
 <<widget "WivesA">><<if _assistantSlaveLisp>>_WivesALisp<<else>>_WivesA<</if>><</widget>>
-
-/* Called as <<FSChangeDecoration "FSName" "clothesBoughtFSClothes">>, will generate description of current decoration level and a link to increase it if applicable, quotes are needed to pass FSName as reference - DO NOT INCLUDE IT AS PROPERTY OF $arcologies[0]! */
-<<widget "FSChangeDecoration">>
-<<set _FS = $args[0]>>
-<<set _FSDecoration = _FS + "Decoration">>
-<<capture _FS, _FSDecoration>>
-<<switch $arcologies[0][_FSDecoration]>>
-<<case 20>>
-	$arcologies[0].name is not customized to support this goal.
-	<<if $arcologies[0][_FS] >= 10>>
-		[[Modify your arcology's internal media to support this goal|Future Society][$arcologies[0][_FSDecoration] = 40, cashX(-2500, "capEx")]] //Costs <<print cashFormat(2500)>>//
-	<<else>>
-		You must advance this goal before customization to support it becomes available.
-	<</if>>
-<<case 40>>
-	$arcologies[0].name's media is supporting this goal.
-	<<if $arcologies[0][_FS] >= 30>>
-		[[Redecorate your arcology's public spaces to support this goal|Future Society][$arcologies[0][_FSDecoration] = 60, cashX(-10000, "capEx")]] //Costs <<print cashFormat(10000)>>//
-	<<else>>
-		You must advance this goal before further customization to support it becomes available.
-	<</if>>
-<<case 60>>
-	$arcologies[0].name's media is supporting this goal, and $arcologies[0].name's public spaces are decorated to support it too.
-	<<if $arcologies[0][_FS] >= 50>>
-		[[Station slaves in your arcology's public spaces to promote this goal|Future Society][$arcologies[0][_FSDecoration] = 80, cashX(-10000, "capEx")]] //Costs <<print cashFormat(10000)>>//
-	<<else>>
-		You must advance this goal before further customization to support it becomes available.
-	<</if>>
-<<case 80>>
-	$arcologies[0].name's media is supporting this goal; $arcologies[0].name's public spaces are decorated to support it, and have slaves stationed in them to support it too.
-	<<if $arcologies[0][_FS] >= 70>>
-		<<if def $args[3]>> /* Only for FSRepopulation */
-			[[Customize the exterior of the arcology to support this goal|Future Society][$arcologies[0][_FSDecoration] = 100, State.variables[$args[1]] = 1, State.variables[$args[2]] = 1, State.variables[$args[3]] = 1, cashX(-20000, "capEx")]] //Costs <<print cashFormat(20000)>>//
-		<<elseif def $args[1]>>
-			[[Customize the exterior of the arcology to support this goal|Future Society][$arcologies[0][_FSDecoration] = 100, State.variables[$args[1]] = 1, cashX(-20000, "capEx")]] //Costs <<print cashFormat(20000)>>//
-		<<elseif $args[0] == "FSRestart">>
-			[[Customize the exterior of the arcology to support this goal and fully establish the Societal Elite|Future Society][$arcologies[0].FSRestartDecoration = 100, $upgradeMultiplierArcology = upgradeMultiplier('engineering'), $upgradeMultiplierMedicine = upgradeMultiplier('medicine'), cashX(-75000, "capEx")]] //Costs <<print cashFormat(75000)>> and may dilute your control over the arcology//
-		<<else>>
-			[[Customize the exterior of the arcology to support this goal|Future Society][$arcologies[0][_FSDecoration] = 100, cashX(-20000, "capEx")]] //Costs <<print cashFormat(20000)>>//
-		<</if>>
-	<<else>>
-		You must advance this goal before further customization to support it becomes available.
-	<</if>>
-<<case 100>>
-	$arcologies[0].name's media is supporting this goal; $arcologies[0].name's public spaces are decorated to support it, and have slaves stationed in them to support it. The exterior of the arcology has been remodeled to support it as well; the arcology is fully customized for this goal.
-<</switch>>
-<</capture>>
-<</widget>>
diff --git a/src/utility/extendedFamilyWidgets.tw b/src/utility/extendedFamilyWidgets.tw
deleted file mode 100644
index af8d2cc357d5925de8467e7208d1fb4041fe7f36..0000000000000000000000000000000000000000
--- a/src/utility/extendedFamilyWidgets.tw
+++ /dev/null
@@ -1,307 +0,0 @@
-:: extended family widgets [nobr widget]
-
-<<widget "parentName">>
-<<if $activeSlave[$args[0]] == $PC.ID>>
-	You
-<<else>>
-	<<set _j = $slaveIndices[$activeSlave[$args[0]]]>>
-	<<if def _j>>
-		<<print $slaves[_j].slaveName>>
-	<<else>>
-		Unknown
-	<</if>>
-<</if>>
-<</widget>>
-
-<<widget "redisplayFamily">>
-<<replace '#dont-be-dumb'>><br> //You will break things by making impossible relations such as being your own father. If you do this, clearing all PC relations will fix it. Probably.//<</replace>>
-<<replace '#fatheredNames'>><<= App.StartingGirls.listOfSlavesWithParent("father", $activeSlave.ID)>><</replace>>
-<<replace '#motheredNames'>><<= App.StartingGirls.listOfSlavesWithParent("mother", $activeSlave.ID)>><</replace>>
-<<replace '#familySummary'>><<= App.Desc.family($activeSlave)>><</replace>>
-<<replace '#motherName'>><<parentName "mother">><</replace>>
-<<replace '#fatherName'>><<parentName "father">><</replace>>
-<<replace '#sameMotherNames'>><<= App.StartingGirls.listOfSlavesWithParent("mother", $activeSlave.mother)>><</replace>>
-<<replace '#sameFatherNames'>><<= App.StartingGirls.listOfSlavesWithParent("father", $activeSlave.father)>><</replace>>
-<<run App.StartingGirls.uncommittedFamilyTree($activeSlave)>>
-<</widget>>
-
-<<widget "editFamily">>
-<<set _allowPCFamily = ($freshPC == 1 || $saveImported == 0)>>
-<div id="edit-family"><div id="family-table">
-
-<span id="dont-be-dumb"></span>
-
-<br>''Mother:'' <span id="motherName"><<parentName "mother">></span>
-<<link "Reset">>
-	<<set $activeSlave.mother = 0>>
-	<<redisplayFamily>>
-<</link>>
-<<if $PC.vagina > 0 && (($PC.actualAge - $activeSlave.actualAge) >= $fertilityAge) && (($PC.mother != $activeSlave.mother) || ($activeSlave.mother == 0)) && _allowPCFamily>>
-	| <<link "You">><<set $activeSlave.mother = $PC.ID>><<redisplayFamily>><</link>>
-<</if>>
-<<for _efw = 0; _efw < $slaves.length; _efw++>>
-	<<if $slaves[_efw].vagina > 0 && (($slaves[_efw].actualAge - $activeSlave.actualAge) >= $slaves[_efw].pubertyAgeXX) && (($slaves[_efw].mother != $activeSlave.mother) || ($activeSlave.mother == 0)) && $slaves[_efw].newGamePlus == 0>>
-		|
-		<<set _id = $slaves[_efw].ID>>
-		<<set _slaveName = $slaves[_efw].slaveName>>
-		<<print "
-			<<link _slaveName>>
-				<<set $activeSlave.mother = " + _id + ">>
-				<<redisplayFamily>>
-			<</link>>
-		">>
-	<</if>>
-<</for>>
-
-<br>''Father:'' <span id="fatherName"><<parentName "father">></span>
-<<link "Reset">>
-	<<set $activeSlave.father = 0>>
-	<<redisplayFamily>>
-<</link>>
-<<if ($PC.dick > 0) && (($PC.actualAge - $activeSlave.actualAge) >= $potencyAge) && (($PC.father != $activeSlave.father) || ($activeSlave.father == 0)) && _allowPCFamily>>
-	| <<link "You">><<set $activeSlave.father = $PC.ID>><<redisplayFamily>><</link>>
-<</if>>
-<<for _efw = 0; _efw < $slaves.length; _efw++>>
-	<<if ($slaves[_efw].dick > 0) && ((($slaves[_efw].actualAge - $activeSlave.actualAge) >= $slaves[_efw].pubertyAgeXY)) && (($slaves[_efw].father != $activeSlave.father) || ($activeSlave.father == 0)) && $slaves[_efw].newGamePlus == 0>>
-		|
-		<<set _id = $slaves[_efw].ID>>
-		<<set _slaveName = $slaves[_efw].slaveName>>
-		<<print "
-		<<link _slaveName>>
-			<<set $activeSlave.father = " + _id + ">>
-			<<redisplayFamily>>
-		<</link>>
-		">>
-	<</if>>
-<</for>>
-
-<br>''Same mother as:'' <span id="sameMotherNames"><<= App.StartingGirls.listOfSlavesWithParent('mother', $activeSlave.mother)>></span>
-<<link "Reset">>
-	<<set $activeSlave.mother = 0>>
-	<<redisplayFamily>>
-<</link>>
-<<if ($activeSlave.mother != $PC.ID) && ($PC.mother != $activeSlave.ID) && _allowPCFamily>>
-	|
-	<<link "You">>
-		<<if $PC.mother != 0>>
-			<<set $activeSlave.mother = $PC.mother>>
-		<<elseif $activeSlave.mother != 0>>
-			<<set $PC.mother = $activeSlave.mother>>
-		<<else>>
-			<<set $activeSlave.mother = -20 - 2*$activeSlave.ID>>
-			<<set $PC.mother = $activeSlave.mother>>
-		<</if>>
-		<<redisplayFamily>>
-	<</link>>
-<</if>>
-<<for _efw = 0; _efw < $slaves.length; _efw++>>
-	<<if $slaves[_efw].newGamePlus == 0>>
-		<<if $saveImported == 1>>|<</if>>
-		<<set _slaveName = $slaves[_efw].slaveName>>
-		<<set _slave = $slaves[_efw]>>
-		<<if ($activeSlave.mother != _slave.ID) && (_slave.mother != $activeSlave.ID)>>
-			|
-			<<print "
-				<<link _slaveName>>
-					<<set _slave = $slaves[" + _efw + "]>>
-					<<if _slave.mother != 0>>
-						<<set $activeSlave.mother = _slave.mother>>
-					<<elseif $activeSlave.mother != 0>>
-						<<set _slave.mother = $activeSlave.mother>>
-					<<else>>
-						<<set $activeSlave.mother = -20 - 2*$activeSlave.ID>>
-						<<set _slave.mother = $activeSlave.mother>>
-					<</if>>
-					<<redisplayFamily>>
-				<</link>>
-			">>
-		<</if>>
-	<</if>>
-<</for>>
-
-<br>''Same father as:'' <span id="sameFatherNames"><<= App.StartingGirls.listOfSlavesWithParent('father', $activeSlave.father)>></span>
-<<link "Reset">>
-	<<set $activeSlave.father = 0>>
-	<<replace '#fatherName'>><</replace>>
-	<<replace '#sameFatherNames'>><</replace>>
-	<<redisplayFamily>>
-<</link>>
-<<if ($activeSlave.father != $PC.ID) && ($PC.father != $activeSlave.ID) && _allowPCFamily>>
-	|
-	<<link "You">>
-		<<if $PC.father != 0>>
-			<<set $activeSlave.father = $PC.father>>
-		<<elseif $activeSlave.father != 0>>
-			<<set $PC.father = $activeSlave.father>>
-		<<else>>
-			<<set $activeSlave.father = (-20 - 2*$activeSlave.ID -1)>>
-			<<set $PC.father = $activeSlave.father>>
-		<</if>>
-		<<redisplayFamily>>
-	<</link>>
-<</if>>
-<<for _efw = 0; _efw < $slaves.length; _efw++>>
-	<<if $slaves[_efw].newGamePlus == 0>>
-		<<if $saveImported == 1>>|<</if>>
-		<<set _slaveName = $slaves[_efw].slaveName>>
-		<<set _slave = $slaves[_efw]>>
-		<<if ($activeSlave.father != _slave.ID) && (_slave.father != $activeSlave.ID)>>
-			|
-			<<print "
-				<<link _slaveName>>
-					<<set _slave = $slaves[" + _efw + "]>>
-					<<if _slave.father != 0>>
-						<<set $activeSlave.father = _slave.father>>
-					<<elseif $activeSlave.father != 0>>
-						<<set _slave.father = $activeSlave.father>>
-					<<else>>
-						<<set $activeSlave.father = (-20 - 2*$activeSlave.ID -1)>>
-						<<set _slave.father = $activeSlave.father>>
-					<</if>>
-					<<redisplayFamily>>
-				<</link>>
-			">>
-		<</if>>
-	<</if>>
-<</for>>
-
-<br>''Mother of the children:'' <span id="motheredNames"><<= App.StartingGirls.listOfSlavesWithParent("mother", $activeSlave.ID)>></span>
-<<link "Reset">>
-	<<for _efw = 0; _efw < $slaves.length; _efw++>>
-		<<if $slaves[_efw].mother == $activeSlave.ID && $slaves[_efw].newGamePlus == 0>>
-			<<set $slaves[_efw].mother = 0>>
-		<</if>>
-	<</for>>
-	<<if $PC.mother == $activeSlave.ID && _allowPCFamily>>
-		<<set $PC.mother = 0>>
-	<</if>>
-	<<redisplayFamily>>
-<</link>>
-<<if $activeSlave.vagina >= 0>>
-	<<if (($activeSlave.actualAge - $PC.actualAge) >= $fertilityAge) && (($PC.mother != $activeSlave.mother) || ($activeSlave.mother == 0)) && _allowPCFamily>>
-		|
-		<<link "You">>
-			<<set $PC.mother = $activeSlave.ID>>
-			<<if $activeSlave.vagina == 0>>
-				<<set $activeSlave.vagina = 1>>
-			<</if>>
-			<<redisplayFamily>>
-		<</link>>
-	<</if>>
-
-	<<for _efw = 0; _efw < $slaves.length; _efw++>>
-		<<if $slaves[_efw].newGamePlus == 0>>
-			<<set _slaveName = $slaves[_efw].slaveName>>
-			<<set _slave = $slaves[_efw]>>
-			<<if (($activeSlave.actualAge - _slave.actualAge) >= $fertilityAge) && ((_slave.mother != $activeSlave.mother) || ($activeSlave.mother == 0))>>
-				|
-				<<print "
-				<<link _slaveName>>
-					<<set _slave = $slaves[" + _efw + "]>>
-					<<set _slave.mother = $activeSlave.ID>>
-					<<if $activeSlave.vagina == 0>>
-						<<set $activeSlave.vagina = 1>>
-					<</if>>
-					<<redisplayFamily>>
-				<</link>>
-				">>
-			<</if>>
-		<</if>>
-	<</for>>
-<</if>>
-
-<br>''Father of the children:'' <span id="fatheredNames"><<= App.StartingGirls.listOfSlavesWithParent("father", $activeSlave.ID)>></span>
-<<link "Reset">>
-	<<for _efw = 0; _efw < $slaves.length; _efw++>>
-		<<if $slaves[_efw].father == $activeSlave.ID && $slaves[_efw].newGamePlus == 0>>
-			<<set $slaves[_efw].father = 0>>
-		<</if>>
-	<</for>>
-	<<if $PC.father == $activeSlave.ID && _allowPCFamily>>
-		<<set $PC.father = 0>>
-	<</if>>
-	<<redisplayFamily>>
-<</link>>
-<<if $activeSlave.dick > 0>>
-	<<if (($activeSlave.actualAge - $PC.actualAge) >= $potencyAge) && (($PC.father != $activeSlave.father) || ($activeSlave.father == 0)) && _allowPCFamily>>
-		|
-		<<link "You">>
-			<<set $PC.father = $activeSlave.ID>>
-			<<redisplayFamily>>
-		<</link>>
-	<</if>>
-
-	<<for _efw = 0; _efw < $slaves.length; _efw++>>
-		<<if $slaves[_efw].newGamePlus == 0>>
-			<<set _slaveName = $slaves[_efw].slaveName>>
-			<<set _slave = $slaves[_efw]>>
-			<<if (($activeSlave.actualAge - _slave.actualAge) >= $potencyAge) && ((_slave.father != $activeSlave.father) || ($activeSlave.father == 0))>>
-				|
-				<<print "
-				<<link _slaveName>>
-					<<set _slave = $slaves[" + _efw + "]>>
-					<<set _slave.father = $activeSlave.ID>>
-					<<redisplayFamily>>
-				<</link>>
-				">>
-			<</if>>
-		<</if>>
-	<</for>>
-<</if>>
-
-<br>
-<<if _allowPCFamily>>
-	<<link "Reset ALL PC Relatives">>
-		<<set _sameMother = 0, _sameFather = 0>>
-		<<for _efw = 0; _efw < $slaves.length; _efw++>>
-			<<if $slaves[_efw].newGamePlus == 0>>
-				<<if $slaves[_efw].mother == $PC.ID>>
-					<<set $slaves[_efw].mother = 0>>
-				<</if>>
-				<<if $slaves[_efw].father == $PC.ID>>
-					<<set $slaves[_efw].father = 0>>
-				<</if>>
-				<<if $slaves[_efw].mother == $PC.mother>>
-					<<set _sameMother++>>
-				<</if>>
-				<<if $slaves[_efw].father == $PC.father>>
-					<<set _sameFather++>>
-				<</if>>
-			<</if>>
-		<</for>>
-		<<if _sameMother == 0 && $activeSlave.mother == $PC.mother>>
-			<<set $activeSlave.mother = 0>>
-		<</if>>
-		<<if _sameFather == 0 && $activeSlave.father == $PC.father>>
-			<<set $activeSlave.father = 0>>
-		<</if>>
-		<<for _efw = 0; (_efw < $slaves.length && (_sameMother == 1 || _sameFather == 1)); _efw++>>
-			<<if $slaves[_efw].newGamePlus == 0>>
-				<<if $slaves[_efw].mother == $PC.mother && _sameMother == 1>>
-					<<set $slaves[_efw].mother = 0, _sameMother = 0>>
-				<</if>>
-				<<if $slaves[_efw].father == $PC.father && _sameFather == 1>>
-					<<set $slaves[_efw].father = 0, _sameFather = 0>>
-				<</if>>
-			<</if>>
-		<</for>>
-		<<if $activeSlave.mother == $PC.ID>>
-			<<set $activeSlave.mother = 0>>
-		<</if>>
-		<<if $activeSlave.father == $PC.ID>>
-			<<set $activeSlave.father = 0>>
-		<</if>>
-		<<set $PC.father = 0>>
-		<<set $PC.mother = 0>>
-		<<redisplayFamily>>
-	<</link>>
-<</if>>
-
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;<span id="familySummary"><<= App.Desc.family($activeSlave)>></span>
-<br>
-</div>
-<div id="family-tree"></div>
-</div>
-
-<</widget>>