Best JavaScript code snippet using sinon
filepurge.frag
Source:filepurge.frag  
1idRef {2  id: "54a75c74646632f817006099"3}4ui_name: "deck storage purge - filled"5nodes {6  idRef {7    id: "54a771a36466324026002c4d"8  }9  index: 010  text: "cyberdeck file cull v0.1-alpha1\nMMLIII Micodeck Inc.\nRedmond, UCAS"11  branches {12    responseText: "{{GM}}Cancel{{/GM}}"13    nextNodeIndex: -114  }15  branches {16    responseText: "{{GM}}DELETE Local Survey Datafile - 10MP{{/GM}}"17    conditions {18      ops {19        functionName: "Evaluate If Actor Has Item"20        args {21          call_value {22            functionName: "Specific Actor"23            args {24              call_value {25                functionName: "Triggering Actor"26              }27            }28            args {29            }30          }31        }32        args {33          call_value {34            functionName: "Get Preset Value (int)"35            args {36              string_value: "HasOrHasNot"37            }38            args {39              int_value: 140            }41          }42        }43        args {44          call_value {45            functionName: "Get Map Item (Item)"46            args {47              string_value: "Pay Data 1"48            }49          }50        }51      }52    }53    actions {54      ops {55        functionName: "Remove Item from Actor"56        args {57          call_value {58            functionName: "Get Map Item (Item)"59            args {60              string_value: "Pay Data 1"61            }62          }63        }64        args {65          call_value {66            functionName: "Specific Actor"67            args {68              call_value {69                functionName: "Triggering Actor"70              }71            }72            args {73            }74          }75        }76        args {77          call_value {78            functionName: "Get Preset Value (int)"79            args {80              string_value: "WithOrWithout"81            }82            args {83              int_value: 184            }85          }86        }87      }88      ops {89        functionName: "Add To Variable (int)"90        args {91          call_value {92            functionName: "Get Story Variable (int)"93            args {94              string_value: "51f15c62336331d02c00440e"95            }96            args {97              string_value: "Deck_Storage_FileCount"98            }99          }100        }101        args {102          int_value: -1103        }104      }105      ops {106        functionName: "Add To Variable (int)"107        args {108          call_value {109            functionName: "Get Story Variable (int)"110            args {111              string_value: "51f15c62336331d02c00440e"112            }113            args {114              string_value: "Deck_Storage_Used"115            }116          }117        }118        args {119          int_value: -10        }120      }121    }122    nextNodeIndex: 0123    hideIfUnavailable: true124    onlyOnce: false125    idRef {126      id: "54a775ae6466324026002c72"127    }128    auxiliaryLink: true129    comment: "1"130  }131  branches {132    responseText: "{{GM}}DELETE Local Survey Datafile - 10MP{{/GM}}"133    conditions {134      ops {135        functionName: "Evaluate If Actor Has Item"136        args {137          call_value {138            functionName: "Specific Actor"139            args {140              call_value {141                functionName: "Triggering Actor"142              }143            }144            args {145            }146          }147        }148        args {149          call_value {150            functionName: "Get Preset Value (int)"151            args {152              string_value: "HasOrHasNot"153            }154            args {155              int_value: 1156            }157          }158        }159        args {160          call_value {161            functionName: "Get Map Item (Item)"162            args {163              string_value: "Pay Data 1a"164            }165          }166        }167      }168    }169    actions {170      ops {171        functionName: "Remove Item from Actor"172        args {173          call_value {174            functionName: "Get Map Item (Item)"175            args {176              string_value: "Pay Data 1a"177            }178          }179        }180        args {181          call_value {182            functionName: "Specific Actor"183            args {184              call_value {185                functionName: "Triggering Actor"186              }187            }188            args {189            }190          }191        }192        args {193          call_value {194            functionName: "Get Preset Value (int)"195            args {196              string_value: "WithOrWithout"197            }198            args {199              int_value: 1200            }201          }202        }203      }204      ops {205        functionName: "Add To Variable (int)"206        args {207          call_value {208            functionName: "Get Story Variable (int)"209            args {210              string_value: "51f15c62336331d02c00440e"211            }212            args {213              string_value: "Deck_Storage_FileCount"214            }215          }216        }217        args {218          int_value: -1219        }220      }221      ops {222        functionName: "Add To Variable (int)"223        args {224          call_value {225            functionName: "Get Story Variable (int)"226            args {227              string_value: "51f15c62336331d02c00440e"228            }229            args {230              string_value: "Deck_Storage_Used"231            }232          }233        }234        args {235          int_value: -10        }236      }237    }238    nextNodeIndex: 0239    hideIfUnavailable: true240    onlyOnce: false241    idRef {242      id: "54a775ae6466324026002c72"243    }244    auxiliaryLink: true245    comment: "1a"246  }247  branches {248    responseText: "{{GM}}DELETE Local Survey Datafile - 10MP{{/GM}}"249    conditions {250      ops {251        functionName: "Evaluate If Actor Has Item"252        args {253          call_value {254            functionName: "Specific Actor"255            args {256              call_value {257                functionName: "Triggering Actor"258              }259            }260            args {261            }262          }263        }264        args {265          call_value {266            functionName: "Get Preset Value (int)"267            args {268              string_value: "HasOrHasNot"269            }270            args {271              int_value: 1272            }273          }274        }275        args {276          call_value {277            functionName: "Get Map Item (Item)"278            args {279              string_value: "Pay Data 1b"280            }281          }282        }283      }284    }285    actions {286      ops {287        functionName: "Remove Item from Actor"288        args {289          call_value {290            functionName: "Get Map Item (Item)"291            args {292              string_value: "Pay Data 1b"293            }294          }295        }296        args {297          call_value {298            functionName: "Specific Actor"299            args {300              call_value {301                functionName: "Triggering Actor"302              }303            }304            args {305            }306          }307        }308        args {309          call_value {310            functionName: "Get Preset Value (int)"311            args {312              string_value: "WithOrWithout"313            }314            args {315              int_value: 1316            }317          }318        }319      }320      ops {321        functionName: "Add To Variable (int)"322        args {323          call_value {324            functionName: "Get Story Variable (int)"325            args {326              string_value: "51f15c62336331d02c00440e"327            }328            args {329              string_value: "Deck_Storage_FileCount"330            }331          }332        }333        args {334          int_value: -1335        }336      }337      ops {338        functionName: "Add To Variable (int)"339        args {340          call_value {341            functionName: "Get Story Variable (int)"342            args {343              string_value: "51f15c62336331d02c00440e"344            }345            args {346              string_value: "Deck_Storage_Used"347            }348          }349        }350        args {351          int_value: -10        }352      }353    }354    nextNodeIndex: 0355    hideIfUnavailable: true356    onlyOnce: false357    idRef {358      id: "54a775ae6466324026002c72"359    }360    auxiliaryLink: true361    comment: "1b"362  }363  branches {364    responseText: "{{GM}}DELETE Employee Scheduling Datafile - 10MP{{/GM}}"365    conditions {366      ops {367        functionName: "Evaluate If Actor Has Item"368        args {369          call_value {370            functionName: "Specific Actor"371            args {372              call_value {373                functionName: "Triggering Actor"374              }375            }376            args {377            }378          }379        }380        args {381          call_value {382            functionName: "Get Preset Value (int)"383            args {384              string_value: "HasOrHasNot"385            }386            args {387              int_value: 1388            }389          }390        }391        args {392          call_value {393            functionName: "Get Map Item (Item)"394            args {395              string_value: "Pay Data 2"396            }397          }398        }399      }400    }401    actions {402      ops {403        functionName: "Remove Item from Actor"404        args {405          call_value {406            functionName: "Get Map Item (Item)"407            args {408              string_value: "Pay Data 2"409            }410          }411        }412        args {413          call_value {414            functionName: "Specific Actor"415            args {416              call_value {417                functionName: "Triggering Actor"418              }419            }420            args {421            }422          }423        }424        args {425          call_value {426            functionName: "Get Preset Value (int)"427            args {428              string_value: "WithOrWithout"429            }430            args {431              int_value: 1432            }433          }434        }435      }436      ops {437        functionName: "Add To Variable (int)"438        args {439          call_value {440            functionName: "Get Story Variable (int)"441            args {442              string_value: "51f15c62336331d02c00440e"443            }444            args {445              string_value: "Deck_Storage_FileCount"446            }447          }448        }449        args {450          int_value: -1451        }452      }453      ops {454        functionName: "Add To Variable (int)"455        args {456          call_value {457            functionName: "Get Story Variable (int)"458            args {459              string_value: "51f15c62336331d02c00440e"460            }461            args {462              string_value: "Deck_Storage_Used"463            }464          }465        }466        args {467          int_value: -10        }468      }469    }470    nextNodeIndex: 0471    hideIfUnavailable: true472    onlyOnce: false473    idRef {474      id: "54a775ae6466324026002c72"475    }476    auxiliaryLink: true477    comment: "2"478  }479  branches {480    responseText: "{{GM}}DELETE Employee Scheduling Datafile - 10MP{{/GM}}"481    conditions {482      ops {483        functionName: "Evaluate If Actor Has Item"484        args {485          call_value {486            functionName: "Specific Actor"487            args {488              call_value {489                functionName: "Triggering Actor"490              }491            }492            args {493            }494          }495        }496        args {497          call_value {498            functionName: "Get Preset Value (int)"499            args {500              string_value: "HasOrHasNot"501            }502            args {503              int_value: 1504            }505          }506        }507        args {508          call_value {509            functionName: "Get Map Item (Item)"510            args {511              string_value: "Pay Data 2a"512            }513          }514        }515      }516    }517    actions {518      ops {519        functionName: "Remove Item from Actor"520        args {521          call_value {522            functionName: "Get Map Item (Item)"523            args {524              string_value: "Pay Data 2a"525            }526          }527        }528        args {529          call_value {530            functionName: "Specific Actor"531            args {532              call_value {533                functionName: "Triggering Actor"534              }535            }536            args {537            }538          }539        }540        args {541          call_value {542            functionName: "Get Preset Value (int)"543            args {544              string_value: "WithOrWithout"545            }546            args {547              int_value: 1548            }549          }550        }551      }552      ops {553        functionName: "Add To Variable (int)"554        args {555          call_value {556            functionName: "Get Story Variable (int)"557            args {558              string_value: "51f15c62336331d02c00440e"559            }560            args {561              string_value: "Deck_Storage_FileCount"562            }563          }564        }565        args {566          int_value: -1567        }568      }569      ops {570        functionName: "Add To Variable (int)"571        args {572          call_value {573            functionName: "Get Story Variable (int)"574            args {575              string_value: "51f15c62336331d02c00440e"576            }577            args {578              string_value: "Deck_Storage_Used"579            }580          }581        }582        args {583          int_value: -10        }584      }585    }586    nextNodeIndex: 0587    hideIfUnavailable: true588    onlyOnce: false589    idRef {590      id: "54a775ae6466324026002c72"591    }592    auxiliaryLink: true593    comment: "2a"594  }595  branches {596    responseText: "{{GM}}DELETE Employee Scheduling Datafile - 10MP{{/GM}}"597    conditions {598      ops {599        functionName: "Evaluate If Actor Has Item"600        args {601          call_value {602            functionName: "Specific Actor"603            args {604              call_value {605                functionName: "Triggering Actor"606              }607            }608            args {609            }610          }611        }612        args {613          call_value {614            functionName: "Get Preset Value (int)"615            args {616              string_value: "HasOrHasNot"617            }618            args {619              int_value: 1620            }621          }622        }623        args {624          call_value {625            functionName: "Get Map Item (Item)"626            args {627              string_value: "Pay Data 2b"628            }629          }630        }631      }632    }633    actions {634      ops {635        functionName: "Remove Item from Actor"636        args {637          call_value {638            functionName: "Get Map Item (Item)"639            args {640              string_value: "Pay Data 2b"641            }642          }643        }644        args {645          call_value {646            functionName: "Specific Actor"647            args {648              call_value {649                functionName: "Triggering Actor"650              }651            }652            args {653            }654          }655        }656        args {657          call_value {658            functionName: "Get Preset Value (int)"659            args {660              string_value: "WithOrWithout"661            }662            args {663              int_value: 1664            }665          }666        }667      }668      ops {669        functionName: "Add To Variable (int)"670        args {671          call_value {672            functionName: "Get Story Variable (int)"673            args {674              string_value: "51f15c62336331d02c00440e"675            }676            args {677              string_value: "Deck_Storage_FileCount"678            }679          }680        }681        args {682          int_value: -1683        }684      }685      ops {686        functionName: "Add To Variable (int)"687        args {688          call_value {689            functionName: "Get Story Variable (int)"690            args {691              string_value: "51f15c62336331d02c00440e"692            }693            args {694              string_value: "Deck_Storage_Used"695            }696          }697        }698        args {699          int_value: -10        }700      }701    }702    nextNodeIndex: 0703    hideIfUnavailable: true704    onlyOnce: false705    idRef {706      id: "54a775ae6466324026002c72"707    }708    auxiliaryLink: true709    comment: "2b"710  }711  branches {712    responseText: "{{GM}}DELETE Email Data - 10MP{{/GM}}"713    conditions {714      ops {715        functionName: "Evaluate If Actor Has Item"716        args {717          call_value {718            functionName: "Specific Actor"719            args {720              call_value {721                functionName: "Triggering Actor"722              }723            }724            args {725            }726          }727        }728        args {729          call_value {730            functionName: "Get Preset Value (int)"731            args {732              string_value: "HasOrHasNot"733            }734            args {735              int_value: 1736            }737          }738        }739        args {740          call_value {741            functionName: "Get Map Item (Item)"742            args {743              string_value: "Pay Data 3"744            }745          }746        }747      }748    }749    actions {750      ops {751        functionName: "Remove Item from Actor"752        args {753          call_value {754            functionName: "Get Map Item (Item)"755            args {756              string_value: "Pay Data 3"757            }758          }759        }760        args {761          call_value {762            functionName: "Specific Actor"763            args {764              call_value {765                functionName: "Triggering Actor"766              }767            }768            args {769            }770          }771        }772        args {773          call_value {774            functionName: "Get Preset Value (int)"775            args {776              string_value: "WithOrWithout"777            }778            args {779              int_value: 1780            }781          }782        }783      }784      ops {785        functionName: "Add To Variable (int)"786        args {787          call_value {788            functionName: "Get Story Variable (int)"789            args {790              string_value: "51f15c62336331d02c00440e"791            }792            args {793              string_value: "Deck_Storage_FileCount"794            }795          }796        }797        args {798          int_value: -1799        }800      }801      ops {802        functionName: "Add To Variable (int)"803        args {804          call_value {805            functionName: "Get Story Variable (int)"806            args {807              string_value: "51f15c62336331d02c00440e"808            }809            args {810              string_value: "Deck_Storage_Used"811            }812          }813        }814        args {815          int_value: -10        }816      }817    }818    nextNodeIndex: 0819    hideIfUnavailable: true820    onlyOnce: false821    idRef {822      id: "54a775ae6466324026002c72"823    }824    auxiliaryLink: true825    comment: "3"826  }827  branches {828    responseText: "{{GM}}DELETE Email Data - 10MP{{/GM}}"829    conditions {830      ops {831        functionName: "Evaluate If Actor Has Item"832        args {833          call_value {834            functionName: "Specific Actor"835            args {836              call_value {837                functionName: "Triggering Actor"838              }839            }840            args {841            }842          }843        }844        args {845          call_value {846            functionName: "Get Preset Value (int)"847            args {848              string_value: "HasOrHasNot"849            }850            args {851              int_value: 1852            }853          }854        }855        args {856          call_value {857            functionName: "Get Map Item (Item)"858            args {859              string_value: "Pay Data 3a"860            }861          }862        }863      }864    }865    actions {866      ops {867        functionName: "Remove Item from Actor"868        args {869          call_value {870            functionName: "Get Map Item (Item)"871            args {872              string_value: "Pay Data 3a"873            }874          }875        }876        args {877          call_value {878            functionName: "Specific Actor"879            args {880              call_value {881                functionName: "Triggering Actor"882              }883            }884            args {885            }886          }887        }888        args {889          call_value {890            functionName: "Get Preset Value (int)"891            args {892              string_value: "WithOrWithout"893            }894            args {895              int_value: 1896            }897          }898        }899      }900      ops {901        functionName: "Add To Variable (int)"902        args {903          call_value {904            functionName: "Get Story Variable (int)"905            args {906              string_value: "51f15c62336331d02c00440e"907            }908            args {909              string_value: "Deck_Storage_FileCount"910            }911          }912        }913        args {914          int_value: -1915        }916      }917      ops {918        functionName: "Add To Variable (int)"919        args {920          call_value {921            functionName: "Get Story Variable (int)"922            args {923              string_value: "51f15c62336331d02c00440e"924            }925            args {926              string_value: "Deck_Storage_Used"927            }928          }929        }930        args {931          int_value: -10        }932      }933    }934    nextNodeIndex: 0935    hideIfUnavailable: true936    onlyOnce: false937    idRef {938      id: "54a775ae6466324026002c72"939    }940    auxiliaryLink: true941    comment: "3a"942  }943  branches {944    responseText: "{{GM}}DELETE Email Data - 10MP{{/GM}}"945    conditions {946      ops {947        functionName: "Evaluate If Actor Has Item"948        args {949          call_value {950            functionName: "Specific Actor"951            args {952              call_value {953                functionName: "Triggering Actor"954              }955            }956            args {957            }958          }959        }960        args {961          call_value {962            functionName: "Get Preset Value (int)"963            args {964              string_value: "HasOrHasNot"965            }966            args {967              int_value: 1968            }969          }970        }971        args {972          call_value {973            functionName: "Get Map Item (Item)"974            args {975              string_value: "Pay Data 3b"976            }977          }978        }979      }980    }981    actions {982      ops {983        functionName: "Remove Item from Actor"984        args {985          call_value {986            functionName: "Get Map Item (Item)"987            args {988              string_value: "Pay Data 3b"989            }990          }991        }992        args {993          call_value {994            functionName: "Specific Actor"995            args {996              call_value {997                functionName: "Triggering Actor"998              }999            }1000            args {1001            }1002          }1003        }1004        args {1005          call_value {1006            functionName: "Get Preset Value (int)"1007            args {1008              string_value: "WithOrWithout"1009            }1010            args {1011              int_value: 11012            }1013          }1014        }1015      }1016      ops {1017        functionName: "Add To Variable (int)"1018        args {1019          call_value {1020            functionName: "Get Story Variable (int)"1021            args {1022              string_value: "51f15c62336331d02c00440e"1023            }1024            args {1025              string_value: "Deck_Storage_FileCount"1026            }1027          }1028        }1029        args {1030          int_value: -11031        }1032      }1033      ops {1034        functionName: "Add To Variable (int)"1035        args {1036          call_value {1037            functionName: "Get Story Variable (int)"1038            args {1039              string_value: "51f15c62336331d02c00440e"1040            }1041            args {1042              string_value: "Deck_Storage_Used"1043            }1044          }1045        }1046        args {1047          int_value: -10        }1048      }1049    }1050    nextNodeIndex: 01051    hideIfUnavailable: true1052    onlyOnce: false1053    idRef {1054      id: "54a775ae6466324026002c72"1055    }1056    auxiliaryLink: true1057    comment: "3b"1058  }1059  branches {1060    responseText: "{{GM}}DELETE Security Procedures - 20MP{{/GM}}"1061    conditions {1062      ops {1063        functionName: "Evaluate If Actor Has Item"1064        args {1065          call_value {1066            functionName: "Specific Actor"1067            args {1068              call_value {1069                functionName: "Triggering Actor"1070              }1071            }1072            args {1073            }1074          }1075        }1076        args {1077          call_value {1078            functionName: "Get Preset Value (int)"1079            args {1080              string_value: "HasOrHasNot"1081            }1082            args {1083              int_value: 11084            }1085          }1086        }1087        args {1088          call_value {1089            functionName: "Get Map Item (Item)"1090            args {1091              string_value: "Pay Data 4"1092            }1093          }1094        }1095      }1096    }1097    actions {1098      ops {1099        functionName: "Remove Item from Actor"1100        args {1101          call_value {1102            functionName: "Get Map Item (Item)"1103            args {1104              string_value: "Pay Data 4"1105            }1106          }1107        }1108        args {1109          call_value {1110            functionName: "Specific Actor"1111            args {1112              call_value {1113                functionName: "Triggering Actor"1114              }1115            }1116            args {1117            }1118          }1119        }1120        args {1121          call_value {1122            functionName: "Get Preset Value (int)"1123            args {1124              string_value: "WithOrWithout"1125            }1126            args {1127              int_value: 11128            }1129          }1130        }1131      }1132      ops {1133        functionName: "Add To Variable (int)"1134        args {1135          call_value {1136            functionName: "Get Story Variable (int)"1137            args {1138              string_value: "51f15c62336331d02c00440e"1139            }1140            args {1141              string_value: "Deck_Storage_FileCount"1142            }1143          }1144        }1145        args {1146          int_value: -11147        }1148      }1149      ops {1150        functionName: "Add To Variable (int)"1151        args {1152          call_value {1153            functionName: "Get Story Variable (int)"1154            args {1155              string_value: "51f15c62336331d02c00440e"1156            }1157            args {1158              string_value: "Deck_Storage_Used"1159            }1160          }1161        }1162        args {1163          int_value: -20        }1164      }1165    }1166    nextNodeIndex: 01167    hideIfUnavailable: true1168    onlyOnce: false1169    idRef {1170      id: "54a775ae6466324026002c72"1171    }1172    auxiliaryLink: true1173    comment: "4"1174  }1175  branches {1176    responseText: "{{GM}}DELETE Security Procedures - 20MP{{/GM}}"1177    conditions {1178      ops {1179        functionName: "Evaluate If Actor Has Item"1180        args {1181          call_value {1182            functionName: "Specific Actor"1183            args {1184              call_value {1185                functionName: "Triggering Actor"1186              }1187            }1188            args {1189            }1190          }1191        }1192        args {1193          call_value {1194            functionName: "Get Preset Value (int)"1195            args {1196              string_value: "HasOrHasNot"1197            }1198            args {1199              int_value: 11200            }1201          }1202        }1203        args {1204          call_value {1205            functionName: "Get Map Item (Item)"1206            args {1207              string_value: "Pay Data 4a"1208            }1209          }1210        }1211      }1212    }1213    actions {1214      ops {1215        functionName: "Remove Item from Actor"1216        args {1217          call_value {1218            functionName: "Get Map Item (Item)"1219            args {1220              string_value: "Pay Data 4a"1221            }1222          }1223        }1224        args {1225          call_value {1226            functionName: "Specific Actor"1227            args {1228              call_value {1229                functionName: "Triggering Actor"1230              }1231            }1232            args {1233            }1234          }1235        }1236        args {1237          call_value {1238            functionName: "Get Preset Value (int)"1239            args {1240              string_value: "WithOrWithout"1241            }1242            args {1243              int_value: 11244            }1245          }1246        }1247      }1248      ops {1249        functionName: "Add To Variable (int)"1250        args {1251          call_value {1252            functionName: "Get Story Variable (int)"1253            args {1254              string_value: "51f15c62336331d02c00440e"1255            }1256            args {1257              string_value: "Deck_Storage_FileCount"1258            }1259          }1260        }1261        args {1262          int_value: -11263        }1264      }1265      ops {1266        functionName: "Add To Variable (int)"1267        args {1268          call_value {1269            functionName: "Get Story Variable (int)"1270            args {1271              string_value: "51f15c62336331d02c00440e"1272            }1273            args {1274              string_value: "Deck_Storage_Used"1275            }1276          }1277        }1278        args {1279          int_value: -20        }1280      }1281    }1282    nextNodeIndex: 01283    hideIfUnavailable: true1284    onlyOnce: false1285    idRef {1286      id: "54a775ae6466324026002c72"1287    }1288    auxiliaryLink: true1289    comment: "4a"1290  }1291  branches {1292    responseText: "{{GM}}DELETE Security Procedures - 20MP{{/GM}}"1293    conditions {1294      ops {1295        functionName: "Evaluate If Actor Has Item"1296        args {1297          call_value {1298            functionName: "Specific Actor"1299            args {1300              call_value {1301                functionName: "Triggering Actor"1302              }1303            }1304            args {1305            }1306          }1307        }1308        args {1309          call_value {1310            functionName: "Get Preset Value (int)"1311            args {1312              string_value: "HasOrHasNot"1313            }1314            args {1315              int_value: 11316            }1317          }1318        }1319        args {1320          call_value {1321            functionName: "Get Map Item (Item)"1322            args {1323              string_value: "Pay Data 4b"1324            }1325          }1326        }1327      }1328    }1329    actions {1330      ops {1331        functionName: "Remove Item from Actor"1332        args {1333          call_value {1334            functionName: "Get Map Item (Item)"1335            args {1336              string_value: "Pay Data 4b"1337            }1338          }1339        }1340        args {1341          call_value {1342            functionName: "Specific Actor"1343            args {1344              call_value {1345                functionName: "Triggering Actor"1346              }1347            }1348            args {1349            }1350          }1351        }1352        args {1353          call_value {1354            functionName: "Get Preset Value (int)"1355            args {1356              string_value: "WithOrWithout"1357            }1358            args {1359              int_value: 11360            }1361          }1362        }1363      }1364      ops {1365        functionName: "Add To Variable (int)"1366        args {1367          call_value {1368            functionName: "Get Story Variable (int)"1369            args {1370              string_value: "51f15c62336331d02c00440e"1371            }1372            args {1373              string_value: "Deck_Storage_FileCount"1374            }1375          }1376        }1377        args {1378          int_value: -11379        }1380      }1381      ops {1382        functionName: "Add To Variable (int)"1383        args {1384          call_value {1385            functionName: "Get Story Variable (int)"1386            args {1387              string_value: "51f15c62336331d02c00440e"1388            }1389            args {1390              string_value: "Deck_Storage_Used"1391            }1392          }1393        }1394        args {1395          int_value: -20        }1396      }1397    }1398    nextNodeIndex: 01399    hideIfUnavailable: true1400    onlyOnce: false1401    idRef {1402      id: "54a775ae6466324026002c72"1403    }1404    auxiliaryLink: true1405    comment: "4b"1406  }1407  branches {1408    responseText: "{{GM}}DELETE Email Data - 20MP{{/GM}}"1409    conditions {1410      ops {1411        functionName: "Evaluate If Actor Has Item"1412        args {1413          call_value {1414            functionName: "Specific Actor"1415            args {1416              call_value {1417                functionName: "Triggering Actor"1418              }1419            }1420            args {1421            }1422          }1423        }1424        args {1425          call_value {1426            functionName: "Get Preset Value (int)"1427            args {1428              string_value: "HasOrHasNot"1429            }1430            args {1431              int_value: 11432            }1433          }1434        }1435        args {1436          call_value {1437            functionName: "Get Map Item (Item)"1438            args {1439              string_value: "Pay Data 5"1440            }1441          }1442        }1443      }1444    }1445    actions {1446      ops {1447        functionName: "Remove Item from Actor"1448        args {1449          call_value {1450            functionName: "Get Map Item (Item)"1451            args {1452              string_value: "Pay Data 5"1453            }1454          }1455        }1456        args {1457          call_value {1458            functionName: "Specific Actor"1459            args {1460              call_value {1461                functionName: "Triggering Actor"1462              }1463            }1464            args {1465            }1466          }1467        }1468        args {1469          call_value {1470            functionName: "Get Preset Value (int)"1471            args {1472              string_value: "WithOrWithout"1473            }1474            args {1475              int_value: 11476            }1477          }1478        }1479      }1480      ops {1481        functionName: "Add To Variable (int)"1482        args {1483          call_value {1484            functionName: "Get Story Variable (int)"1485            args {1486              string_value: "51f15c62336331d02c00440e"1487            }1488            args {1489              string_value: "Deck_Storage_FileCount"1490            }1491          }1492        }1493        args {1494          int_value: -11495        }1496      }1497      ops {1498        functionName: "Add To Variable (int)"1499        args {1500          call_value {1501            functionName: "Get Story Variable (int)"1502            args {1503              string_value: "51f15c62336331d02c00440e"1504            }1505            args {1506              string_value: "Deck_Storage_Used"1507            }1508          }1509        }1510        args {1511          int_value: -20        }1512      }1513    }1514    nextNodeIndex: 01515    hideIfUnavailable: true1516    onlyOnce: false1517    idRef {1518      id: "54a775ae6466324026002c72"1519    }1520    auxiliaryLink: true1521    comment: "5"1522  }1523  branches {1524    responseText: "{{GM}}DELETE Email Data - 20MP{{/GM}}"1525    conditions {1526      ops {1527        functionName: "Evaluate If Actor Has Item"1528        args {1529          call_value {1530            functionName: "Specific Actor"1531            args {1532              call_value {1533                functionName: "Triggering Actor"1534              }1535            }1536            args {1537            }1538          }1539        }1540        args {1541          call_value {1542            functionName: "Get Preset Value (int)"1543            args {1544              string_value: "HasOrHasNot"1545            }1546            args {1547              int_value: 11548            }1549          }1550        }1551        args {1552          call_value {1553            functionName: "Get Map Item (Item)"1554            args {1555              string_value: "Pay Data 5a"1556            }1557          }1558        }1559      }1560    }1561    actions {1562      ops {1563        functionName: "Remove Item from Actor"1564        args {1565          call_value {1566            functionName: "Get Map Item (Item)"1567            args {1568              string_value: "Pay Data 5a"1569            }1570          }1571        }1572        args {1573          call_value {1574            functionName: "Specific Actor"1575            args {1576              call_value {1577                functionName: "Triggering Actor"1578              }1579            }1580            args {1581            }1582          }1583        }1584        args {1585          call_value {1586            functionName: "Get Preset Value (int)"1587            args {1588              string_value: "WithOrWithout"1589            }1590            args {1591              int_value: 11592            }1593          }1594        }1595      }1596      ops {1597        functionName: "Add To Variable (int)"1598        args {1599          call_value {1600            functionName: "Get Story Variable (int)"1601            args {1602              string_value: "51f15c62336331d02c00440e"1603            }1604            args {1605              string_value: "Deck_Storage_FileCount"1606            }1607          }1608        }1609        args {1610          int_value: -11611        }1612      }1613      ops {1614        functionName: "Add To Variable (int)"1615        args {1616          call_value {1617            functionName: "Get Story Variable (int)"1618            args {1619              string_value: "51f15c62336331d02c00440e"1620            }1621            args {1622              string_value: "Deck_Storage_Used"1623            }1624          }1625        }1626        args {1627          int_value: -20        }1628      }1629    }1630    nextNodeIndex: 01631    hideIfUnavailable: true1632    onlyOnce: false1633    idRef {1634      id: "54a775ae6466324026002c72"1635    }1636    auxiliaryLink: true1637    comment: "5a"1638  }1639  branches {1640    responseText: "{{GM}}DELETE Email Data - 20MP{{/GM}}"1641    conditions {1642      ops {1643        functionName: "Evaluate If Actor Has Item"1644        args {1645          call_value {1646            functionName: "Specific Actor"1647            args {1648              call_value {1649                functionName: "Triggering Actor"1650              }1651            }1652            args {1653            }1654          }1655        }1656        args {1657          call_value {1658            functionName: "Get Preset Value (int)"1659            args {1660              string_value: "HasOrHasNot"1661            }1662            args {1663              int_value: 11664            }1665          }1666        }1667        args {1668          call_value {1669            functionName: "Get Map Item (Item)"1670            args {1671              string_value: "Pay Data 5b"1672            }1673          }1674        }1675      }1676    }1677    actions {1678      ops {1679        functionName: "Remove Item from Actor"1680        args {1681          call_value {1682            functionName: "Get Map Item (Item)"1683            args {1684              string_value: "Pay Data 5b"1685            }1686          }1687        }1688        args {1689          call_value {1690            functionName: "Specific Actor"1691            args {1692              call_value {1693                functionName: "Triggering Actor"1694              }1695            }1696            args {1697            }1698          }1699        }1700        args {1701          call_value {1702            functionName: "Get Preset Value (int)"1703            args {1704              string_value: "WithOrWithout"1705            }1706            args {1707              int_value: 11708            }1709          }1710        }1711      }1712      ops {1713        functionName: "Add To Variable (int)"1714        args {1715          call_value {1716            functionName: "Get Story Variable (int)"1717            args {1718              string_value: "51f15c62336331d02c00440e"1719            }1720            args {1721              string_value: "Deck_Storage_FileCount"1722            }1723          }1724        }1725        args {1726          int_value: -11727        }1728      }1729      ops {1730        functionName: "Add To Variable (int)"1731        args {1732          call_value {1733            functionName: "Get Story Variable (int)"1734            args {1735              string_value: "51f15c62336331d02c00440e"1736            }1737            args {1738              string_value: "Deck_Storage_Used"1739            }1740          }1741        }1742        args {1743          int_value: -20        }1744      }1745    }1746    nextNodeIndex: 01747    hideIfUnavailable: true1748    onlyOnce: false1749    idRef {1750      id: "54a775ae6466324026002c72"1751    }1752    auxiliaryLink: true1753    comment: "5b"1754  }1755  branches {1756    responseText: "{{GM}}DELETE System Activity - 20MP{{/GM}}"1757    conditions {1758      ops {1759        functionName: "Evaluate If Actor Has Item"1760        args {1761          call_value {1762            functionName: "Specific Actor"1763            args {1764              call_value {1765                functionName: "Triggering Actor"1766              }1767            }1768            args {1769            }1770          }1771        }1772        args {1773          call_value {1774            functionName: "Get Preset Value (int)"1775            args {1776              string_value: "HasOrHasNot"1777            }1778            args {1779              int_value: 11780            }1781          }1782        }1783        args {1784          call_value {1785            functionName: "Get Map Item (Item)"1786            args {1787              string_value: "Pay Data 6"1788            }1789          }1790        }1791      }1792    }1793    actions {1794      ops {1795        functionName: "Remove Item from Actor"1796        args {1797          call_value {1798            functionName: "Get Map Item (Item)"1799            args {1800              string_value: "Pay Data 6"1801            }1802          }1803        }1804        args {1805          call_value {1806            functionName: "Specific Actor"1807            args {1808              call_value {1809                functionName: "Triggering Actor"1810              }1811            }1812            args {1813            }1814          }1815        }1816        args {1817          call_value {1818            functionName: "Get Preset Value (int)"1819            args {1820              string_value: "WithOrWithout"1821            }1822            args {1823              int_value: 11824            }1825          }1826        }1827      }1828      ops {1829        functionName: "Add To Variable (int)"1830        args {1831          call_value {1832            functionName: "Get Story Variable (int)"1833            args {1834              string_value: "51f15c62336331d02c00440e"1835            }1836            args {1837              string_value: "Deck_Storage_FileCount"1838            }1839          }1840        }1841        args {1842          int_value: -11843        }1844      }1845      ops {1846        functionName: "Add To Variable (int)"1847        args {1848          call_value {1849            functionName: "Get Story Variable (int)"1850            args {1851              string_value: "51f15c62336331d02c00440e"1852            }1853            args {1854              string_value: "Deck_Storage_Used"1855            }1856          }1857        }1858        args {1859          int_value: -20        }1860      }1861    }1862    nextNodeIndex: 01863    hideIfUnavailable: true1864    onlyOnce: false1865    idRef {1866      id: "54a775ae6466324026002c72"1867    }1868    auxiliaryLink: true1869    comment: "6"1870  }1871  branches {1872    responseText: "{{GM}}DELETE System Activity - 20MP{{/GM}}"1873    conditions {1874      ops {1875        functionName: "Evaluate If Actor Has Item"1876        args {1877          call_value {1878            functionName: "Specific Actor"1879            args {1880              call_value {1881                functionName: "Triggering Actor"1882              }1883            }1884            args {1885            }1886          }1887        }1888        args {1889          call_value {1890            functionName: "Get Preset Value (int)"1891            args {1892              string_value: "HasOrHasNot"1893            }1894            args {1895              int_value: 11896            }1897          }1898        }1899        args {1900          call_value {1901            functionName: "Get Map Item (Item)"1902            args {1903              string_value: "Pay Data 6a"1904            }1905          }1906        }1907      }1908    }1909    actions {1910      ops {1911        functionName: "Remove Item from Actor"1912        args {1913          call_value {1914            functionName: "Get Map Item (Item)"1915            args {1916              string_value: "Pay Data 6a"1917            }1918          }1919        }1920        args {1921          call_value {1922            functionName: "Specific Actor"1923            args {1924              call_value {1925                functionName: "Triggering Actor"1926              }1927            }1928            args {1929            }1930          }1931        }1932        args {1933          call_value {1934            functionName: "Get Preset Value (int)"1935            args {1936              string_value: "WithOrWithout"1937            }1938            args {1939              int_value: 11940            }1941          }1942        }1943      }1944      ops {1945        functionName: "Add To Variable (int)"1946        args {1947          call_value {1948            functionName: "Get Story Variable (int)"1949            args {1950              string_value: "51f15c62336331d02c00440e"1951            }1952            args {1953              string_value: "Deck_Storage_FileCount"1954            }1955          }1956        }1957        args {1958          int_value: -11959        }1960      }1961      ops {1962        functionName: "Add To Variable (int)"1963        args {1964          call_value {1965            functionName: "Get Story Variable (int)"1966            args {1967              string_value: "51f15c62336331d02c00440e"1968            }1969            args {1970              string_value: "Deck_Storage_Used"1971            }1972          }1973        }1974        args {1975          int_value: -20        }1976      }1977    }1978    nextNodeIndex: 01979    hideIfUnavailable: true1980    onlyOnce: false1981    idRef {1982      id: "54a775ae6466324026002c72"1983    }1984    auxiliaryLink: true1985    comment: "6a"1986  }1987  branches {1988    responseText: "{{GM}}DELETE System Activity - 20MP{{/GM}}"1989    conditions {1990      ops {1991        functionName: "Evaluate If Actor Has Item"1992        args {1993          call_value {1994            functionName: "Specific Actor"1995            args {1996              call_value {1997                functionName: "Triggering Actor"1998              }1999            }2000            args {2001            }2002          }2003        }2004        args {2005          call_value {2006            functionName: "Get Preset Value (int)"2007            args {2008              string_value: "HasOrHasNot"2009            }2010            args {2011              int_value: 12012            }2013          }2014        }2015        args {2016          call_value {2017            functionName: "Get Map Item (Item)"2018            args {2019              string_value: "Pay Data 6b"2020            }2021          }2022        }2023      }2024    }2025    actions {2026      ops {2027        functionName: "Remove Item from Actor"2028        args {2029          call_value {2030            functionName: "Get Map Item (Item)"2031            args {2032              string_value: "Pay Data 6b"2033            }2034          }2035        }2036        args {2037          call_value {2038            functionName: "Specific Actor"2039            args {2040              call_value {2041                functionName: "Triggering Actor"2042              }2043            }2044            args {2045            }2046          }2047        }2048        args {2049          call_value {2050            functionName: "Get Preset Value (int)"2051            args {2052              string_value: "WithOrWithout"2053            }2054            args {2055              int_value: 12056            }2057          }2058        }2059      }2060      ops {2061        functionName: "Add To Variable (int)"2062        args {2063          call_value {2064            functionName: "Get Story Variable (int)"2065            args {2066              string_value: "51f15c62336331d02c00440e"2067            }2068            args {2069              string_value: "Deck_Storage_FileCount"2070            }2071          }2072        }2073        args {2074          int_value: -12075        }2076      }2077      ops {2078        functionName: "Add To Variable (int)"2079        args {2080          call_value {2081            functionName: "Get Story Variable (int)"2082            args {2083              string_value: "51f15c62336331d02c00440e"2084            }2085            args {2086              string_value: "Deck_Storage_Used"2087            }2088          }2089        }2090        args {2091          int_value: -20        }2092      }2093    }2094    nextNodeIndex: 02095    hideIfUnavailable: true2096    onlyOnce: false2097    idRef {2098      id: "54a775ae6466324026002c72"2099    }2100    auxiliaryLink: true2101    comment: "6b"2102  }2103  branches {2104    responseText: "{{GM}}DELETE Corporate Profile - 30MP{{/GM}}"2105    conditions {2106      ops {2107        functionName: "Evaluate If Actor Has Item"2108        args {2109          call_value {2110            functionName: "Specific Actor"2111            args {2112              call_value {2113                functionName: "Triggering Actor"2114              }2115            }2116            args {2117            }2118          }2119        }2120        args {2121          call_value {2122            functionName: "Get Preset Value (int)"2123            args {2124              string_value: "HasOrHasNot"2125            }2126            args {2127              int_value: 12128            }2129          }2130        }2131        args {2132          call_value {2133            functionName: "Get Map Item (Item)"2134            args {2135              string_value: "Pay Data 7"2136            }2137          }2138        }2139      }2140    }2141    actions {2142      ops {2143        functionName: "Remove Item from Actor"2144        args {2145          call_value {2146            functionName: "Get Map Item (Item)"2147            args {2148              string_value: "Pay Data 7"2149            }2150          }2151        }2152        args {2153          call_value {2154            functionName: "Specific Actor"2155            args {2156              call_value {2157                functionName: "Triggering Actor"2158              }2159            }2160            args {2161            }2162          }2163        }2164        args {2165          call_value {2166            functionName: "Get Preset Value (int)"2167            args {2168              string_value: "WithOrWithout"2169            }2170            args {2171              int_value: 12172            }2173          }2174        }2175      }2176      ops {2177        functionName: "Add To Variable (int)"2178        args {2179          call_value {2180            functionName: "Get Story Variable (int)"2181            args {2182              string_value: "51f15c62336331d02c00440e"2183            }2184            args {2185              string_value: "Deck_Storage_FileCount"2186            }2187          }2188        }2189        args {2190          int_value: -12191        }2192      }2193      ops {2194        functionName: "Add To Variable (int)"2195        args {2196          call_value {2197            functionName: "Get Story Variable (int)"2198            args {2199              string_value: "51f15c62336331d02c00440e"2200            }2201            args {2202              string_value: "Deck_Storage_Used"2203            }2204          }2205        }2206        args {2207          int_value: -30        }2208      }2209    }2210    nextNodeIndex: 02211    hideIfUnavailable: true2212    onlyOnce: false2213    idRef {2214      id: "54a775ae6466324026002c72"2215    }2216    auxiliaryLink: true2217    comment: "7"2218  }2219  branches {2220    responseText: "{{GM}}DELETE Corporate Profile - 30MP{{/GM}}"2221    conditions {2222      ops {2223        functionName: "Evaluate If Actor Has Item"2224        args {2225          call_value {2226            functionName: "Specific Actor"2227            args {2228              call_value {2229                functionName: "Triggering Actor"2230              }2231            }2232            args {2233            }2234          }2235        }2236        args {2237          call_value {2238            functionName: "Get Preset Value (int)"2239            args {2240              string_value: "HasOrHasNot"2241            }2242            args {2243              int_value: 12244            }2245          }2246        }2247        args {2248          call_value {2249            functionName: "Get Map Item (Item)"2250            args {2251              string_value: "Pay Data 7a"2252            }2253          }2254        }2255      }2256    }2257    actions {2258      ops {2259        functionName: "Remove Item from Actor"2260        args {2261          call_value {2262            functionName: "Get Map Item (Item)"2263            args {2264              string_value: "Pay Data 7a"2265            }2266          }2267        }2268        args {2269          call_value {2270            functionName: "Specific Actor"2271            args {2272              call_value {2273                functionName: "Triggering Actor"2274              }2275            }2276            args {2277            }2278          }2279        }2280        args {2281          call_value {2282            functionName: "Get Preset Value (int)"2283            args {2284              string_value: "WithOrWithout"2285            }2286            args {2287              int_value: 12288            }2289          }2290        }2291      }2292      ops {2293        functionName: "Add To Variable (int)"2294        args {2295          call_value {2296            functionName: "Get Story Variable (int)"2297            args {2298              string_value: "51f15c62336331d02c00440e"2299            }2300            args {2301              string_value: "Deck_Storage_FileCount"2302            }2303          }2304        }2305        args {2306          int_value: -12307        }2308      }2309      ops {2310        functionName: "Add To Variable (int)"2311        args {2312          call_value {2313            functionName: "Get Story Variable (int)"2314            args {2315              string_value: "51f15c62336331d02c00440e"2316            }2317            args {2318              string_value: "Deck_Storage_Used"2319            }2320          }2321        }2322        args {2323          int_value: -30        }2324      }2325    }2326    nextNodeIndex: 02327    hideIfUnavailable: true2328    onlyOnce: false2329    idRef {2330      id: "54a775ae6466324026002c72"2331    }2332    auxiliaryLink: true2333    comment: "7a"2334  }2335  branches {2336    responseText: "{{GM}}DELETE Corporate Profile - 30MP{{/GM}}"2337    conditions {2338      ops {2339        functionName: "Evaluate If Actor Has Item"2340        args {2341          call_value {2342            functionName: "Specific Actor"2343            args {2344              call_value {2345                functionName: "Triggering Actor"2346              }2347            }2348            args {2349            }2350          }2351        }2352        args {2353          call_value {2354            functionName: "Get Preset Value (int)"2355            args {2356              string_value: "HasOrHasNot"2357            }2358            args {2359              int_value: 12360            }2361          }2362        }2363        args {2364          call_value {2365            functionName: "Get Map Item (Item)"2366            args {2367              string_value: "Pay Data 8a"2368            }2369          }2370        }2371      }2372    }2373    actions {2374      ops {2375        functionName: "Remove Item from Actor"2376        args {2377          call_value {2378            functionName: "Get Map Item (Item)"2379            args {2380              string_value: "Pay Data 8a"2381            }2382          }2383        }2384        args {2385          call_value {2386            functionName: "Specific Actor"2387            args {2388              call_value {2389                functionName: "Triggering Actor"2390              }2391            }2392            args {2393            }2394          }2395        }2396        args {2397          call_value {2398            functionName: "Get Preset Value (int)"2399            args {2400              string_value: "WithOrWithout"2401            }2402            args {2403              int_value: 12404            }2405          }2406        }2407      }2408      ops {2409        functionName: "Add To Variable (int)"2410        args {2411          call_value {2412            functionName: "Get Story Variable (int)"2413            args {2414              string_value: "51f15c62336331d02c00440e"2415            }2416            args {2417              string_value: "Deck_Storage_FileCount"2418            }2419          }2420        }2421        args {2422          int_value: -12423        }2424      }2425      ops {2426        functionName: "Add To Variable (int)"2427        args {2428          call_value {2429            functionName: "Get Story Variable (int)"2430            args {2431              string_value: "51f15c62336331d02c00440e"2432            }2433            args {2434              string_value: "Deck_Storage_Used"2435            }2436          }2437        }2438        args {2439          int_value: -30        }2440      }2441    }2442    nextNodeIndex: 02443    hideIfUnavailable: true2444    onlyOnce: false2445    idRef {2446      id: "54a775ae6466324026002c72"2447    }2448    auxiliaryLink: true2449    comment: "8a"2450  }2451  branches {2452    responseText: "{{GM}}DELETE Corporate Profile - 30MP{{/GM}}"2453    conditions {2454      ops {2455        functionName: "Evaluate If Actor Has Item"2456        args {2457          call_value {2458            functionName: "Specific Actor"2459            args {2460              call_value {2461                functionName: "Triggering Actor"2462              }2463            }2464            args {2465            }2466          }2467        }2468        args {2469          call_value {2470            functionName: "Get Preset Value (int)"2471            args {2472              string_value: "HasOrHasNot"2473            }2474            args {2475              int_value: 12476            }2477          }2478        }2479        args {2480          call_value {2481            functionName: "Get Map Item (Item)"2482            args {2483              string_value: "Pay Data 8a"2484            }2485          }2486        }2487      }2488    }2489    actions {2490      ops {2491        functionName: "Remove Item from Actor"2492        args {2493          call_value {2494            functionName: "Get Map Item (Item)"2495            args {2496              string_value: "Pay Data 8a"2497            }2498          }2499        }2500        args {2501          call_value {2502            functionName: "Specific Actor"2503            args {2504              call_value {2505                functionName: "Triggering Actor"2506              }2507            }2508            args {2509            }2510          }2511        }2512        args {2513          call_value {2514            functionName: "Get Preset Value (int)"2515            args {2516              string_value: "WithOrWithout"2517            }2518            args {2519              int_value: 12520            }2521          }2522        }2523      }2524      ops {2525        functionName: "Add To Variable (int)"2526        args {2527          call_value {2528            functionName: "Get Story Variable (int)"2529            args {2530              string_value: "51f15c62336331d02c00440e"2531            }2532            args {2533              string_value: "Deck_Storage_FileCount"2534            }2535          }2536        }2537        args {2538          int_value: -12539        }2540      }2541      ops {2542        functionName: "Add To Variable (int)"2543        args {2544          call_value {2545            functionName: "Get Story Variable (int)"2546            args {2547              string_value: "51f15c62336331d02c00440e"2548            }2549            args {2550              string_value: "Deck_Storage_Used"2551            }2552          }2553        }2554        args {2555          int_value: -30        }2556      }2557    }2558    nextNodeIndex: 02559    hideIfUnavailable: true2560    onlyOnce: false2561    idRef {2562      id: "54a775ae6466324026002c72"2563    }2564    auxiliaryLink: true2565    comment: "8a"2566  }2567  branches {2568    responseText: "{{GM}}DELETE Long Range Goals - 30MP{{/GM}}"2569    conditions {2570      ops {2571        functionName: "Evaluate If Actor Has Item"2572        args {2573          call_value {2574            functionName: "Specific Actor"2575            args {2576              call_value {2577                functionName: "Triggering Actor"2578              }2579            }2580            args {2581            }2582          }2583        }2584        args {2585          call_value {2586            functionName: "Get Preset Value (int)"2587            args {2588              string_value: "HasOrHasNot"2589            }2590            args {2591              int_value: 12592            }2593          }2594        }2595        args {2596          call_value {2597            functionName: "Get Map Item (Item)"2598            args {2599              string_value: "Pay Data 9"2600            }2601          }2602        }2603      }2604    }2605    actions {2606      ops {2607        functionName: "Remove Item from Actor"2608        args {2609          call_value {2610            functionName: "Get Map Item (Item)"2611            args {2612              string_value: "Pay Data 9"2613            }2614          }2615        }2616        args {2617          call_value {2618            functionName: "Specific Actor"2619            args {2620              call_value {2621                functionName: "Triggering Actor"2622              }2623            }2624            args {2625            }2626          }2627        }2628        args {2629          call_value {2630            functionName: "Get Preset Value (int)"2631            args {2632              string_value: "WithOrWithout"2633            }2634            args {2635              int_value: 12636            }2637          }2638        }2639      }2640      ops {2641        functionName: "Add To Variable (int)"2642        args {2643          call_value {2644            functionName: "Get Story Variable (int)"2645            args {2646              string_value: "51f15c62336331d02c00440e"2647            }2648            args {2649              string_value: "Deck_Storage_FileCount"2650            }2651          }2652        }2653        args {2654          int_value: -12655        }2656      }2657      ops {2658        functionName: "Add To Variable (int)"2659        args {2660          call_value {2661            functionName: "Get Story Variable (int)"2662            args {2663              string_value: "51f15c62336331d02c00440e"2664            }2665            args {2666              string_value: "Deck_Storage_Used"2667            }2668          }2669        }2670        args {2671          int_value: -30        }2672      }2673    }2674    nextNodeIndex: 02675    hideIfUnavailable: true2676    onlyOnce: false2677    idRef {2678      id: "54a775ae6466324026002c72"2679    }2680    auxiliaryLink: true2681    comment: "9"2682  }2683  branches {2684    responseText: "{{GM}}DELETE Long Range Goals - 30MP{{/GM}}"2685    conditions {2686      ops {2687        functionName: "Evaluate If Actor Has Item"2688        args {2689          call_value {2690            functionName: "Specific Actor"2691            args {2692              call_value {2693                functionName: "Triggering Actor"2694              }2695            }2696            args {2697            }2698          }2699        }2700        args {2701          call_value {2702            functionName: "Get Preset Value (int)"2703            args {2704              string_value: "HasOrHasNot"2705            }2706            args {2707              int_value: 12708            }2709          }2710        }2711        args {2712          call_value {2713            functionName: "Get Map Item (Item)"2714            args {2715              string_value: "Pay Data 9a"2716            }2717          }2718        }2719      }2720    }2721    actions {2722      ops {2723        functionName: "Remove Item from Actor"2724        args {2725          call_value {2726            functionName: "Get Map Item (Item)"2727            args {2728              string_value: "Pay Data 9a"2729            }2730          }2731        }2732        args {2733          call_value {2734            functionName: "Specific Actor"2735            args {2736              call_value {2737                functionName: "Triggering Actor"2738              }2739            }2740            args {2741            }2742          }2743        }2744        args {2745          call_value {2746            functionName: "Get Preset Value (int)"2747            args {2748              string_value: "WithOrWithout"2749            }2750            args {2751              int_value: 12752            }2753          }2754        }2755      }2756      ops {2757        functionName: "Add To Variable (int)"2758        args {2759          call_value {2760            functionName: "Get Story Variable (int)"2761            args {2762              string_value: "51f15c62336331d02c00440e"2763            }2764            args {2765              string_value: "Deck_Storage_FileCount"2766            }2767          }2768        }2769        args {2770          int_value: -12771        }2772      }2773      ops {2774        functionName: "Add To Variable (int)"2775        args {2776          call_value {2777            functionName: "Get Story Variable (int)"2778            args {2779              string_value: "51f15c62336331d02c00440e"2780            }2781            args {2782              string_value: "Deck_Storage_Used"2783            }2784          }2785        }2786        args {2787          int_value: -30        }2788      }2789    }2790    nextNodeIndex: 02791    hideIfUnavailable: true2792    onlyOnce: false2793    idRef {2794      id: "54a775ae6466324026002c72"2795    }2796    auxiliaryLink: true2797    comment: "9a"2798  }2799  branches {2800    responseText: "{{GM}}DELETE Long Range Goals - 30MP{{/GM}}"2801    conditions {2802      ops {2803        functionName: "Evaluate If Actor Has Item"2804        args {2805          call_value {2806            functionName: "Specific Actor"2807            args {2808              call_value {2809                functionName: "Triggering Actor"2810              }2811            }2812            args {2813            }2814          }2815        }2816        args {2817          call_value {2818            functionName: "Get Preset Value (int)"2819            args {2820              string_value: "HasOrHasNot"2821            }2822            args {2823              int_value: 12824            }2825          }2826        }2827        args {2828          call_value {2829            functionName: "Get Map Item (Item)"2830            args {2831              string_value: "Pay Data 10"2832            }2833          }2834        }2835      }2836    }2837    actions {2838      ops {2839        functionName: "Remove Item from Actor"2840        args {2841          call_value {2842            functionName: "Get Map Item (Item)"2843            args {2844              string_value: "Pay Data 10"2845            }2846          }2847        }2848        args {2849          call_value {2850            functionName: "Specific Actor"2851            args {2852              call_value {2853                functionName: "Triggering Actor"2854              }2855            }2856            args {2857            }2858          }2859        }2860        args {2861          call_value {2862            functionName: "Get Preset Value (int)"2863            args {2864              string_value: "WithOrWithout"2865            }2866            args {2867              int_value: 12868            }2869          }2870        }2871      }2872      ops {2873        functionName: "Add To Variable (int)"2874        args {2875          call_value {2876            functionName: "Get Story Variable (int)"2877            args {2878              string_value: "51f15c62336331d02c00440e"2879            }2880            args {2881              string_value: "Deck_Storage_FileCount"2882            }2883          }2884        }2885        args {2886          int_value: -12887        }2888      }2889      ops {2890        functionName: "Add To Variable (int)"2891        args {2892          call_value {2893            functionName: "Get Story Variable (int)"2894            args {2895              string_value: "51f15c62336331d02c00440e"2896            }2897            args {2898              string_value: "Deck_Storage_Used"2899            }2900          }2901        }2902        args {2903          int_value: -30        }2904      }2905    }2906    nextNodeIndex: 02907    hideIfUnavailable: true2908    onlyOnce: false2909    idRef {2910      id: "54a775ae6466324026002c72"2911    }2912    auxiliaryLink: true2913    comment: "10"2914  }2915  branches {2916    responseText: "{{GM}}DELETE Long Range Goals - 30MP{{/GM}}"2917    conditions {2918      ops {2919        functionName: "Evaluate If Actor Has Item"2920        args {2921          call_value {2922            functionName: "Specific Actor"2923            args {2924              call_value {2925                functionName: "Triggering Actor"2926              }2927            }2928            args {2929            }2930          }2931        }2932        args {2933          call_value {2934            functionName: "Get Preset Value (int)"2935            args {2936              string_value: "HasOrHasNot"2937            }2938            args {2939              int_value: 12940            }2941          }2942        }2943        args {2944          call_value {2945            functionName: "Get Map Item (Item)"2946            args {2947              string_value: "Pay Data 10a"2948            }2949          }2950        }2951      }2952    }2953    actions {2954      ops {2955        functionName: "Remove Item from Actor"2956        args {2957          call_value {2958            functionName: "Get Map Item (Item)"2959            args {2960              string_value: "Pay Data 10a"2961            }2962          }2963        }2964        args {2965          call_value {2966            functionName: "Specific Actor"2967            args {2968              call_value {2969                functionName: "Triggering Actor"2970              }2971            }2972            args {2973            }2974          }2975        }2976        args {2977          call_value {2978            functionName: "Get Preset Value (int)"2979            args {2980              string_value: "WithOrWithout"2981            }2982            args {2983              int_value: 12984            }2985          }2986        }2987      }2988      ops {2989        functionName: "Add To Variable (int)"2990        args {2991          call_value {2992            functionName: "Get Story Variable (int)"2993            args {2994              string_value: "51f15c62336331d02c00440e"2995            }2996            args {2997              string_value: "Deck_Storage_FileCount"2998            }2999          }3000        }3001        args {3002          int_value: -13003        }3004      }3005      ops {3006        functionName: "Add To Variable (int)"3007        args {3008          call_value {3009            functionName: "Get Story Variable (int)"3010            args {3011              string_value: "51f15c62336331d02c00440e"3012            }3013            args {3014              string_value: "Deck_Storage_Used"3015            }3016          }3017        }3018        args {3019          int_value: -30        }3020      }3021    }3022    nextNodeIndex: 03023    hideIfUnavailable: true3024    onlyOnce: false3025    idRef {3026      id: "54a775ae6466324026002c72"3027    }3028    auxiliaryLink: true3029    comment: "10a"3030  }3031  branches {3032    responseText: "{{GM}}DELETE Capital Expenditure - 30MP{{/GM}}"3033    conditions {3034      ops {3035        functionName: "Evaluate If Actor Has Item"3036        args {3037          call_value {3038            functionName: "Specific Actor"3039            args {3040              call_value {3041                functionName: "Triggering Actor"3042              }3043            }3044            args {3045            }3046          }3047        }3048        args {3049          call_value {3050            functionName: "Get Preset Value (int)"3051            args {3052              string_value: "HasOrHasNot"3053            }3054            args {3055              int_value: 13056            }3057          }3058        }3059        args {3060          call_value {3061            functionName: "Get Map Item (Item)"3062            args {3063              string_value: "Pay Data 11"3064            }3065          }3066        }3067      }3068    }3069    actions {3070      ops {3071        functionName: "Remove Item from Actor"3072        args {3073          call_value {3074            functionName: "Get Map Item (Item)"3075            args {3076              string_value: "Pay Data 11"3077            }3078          }3079        }3080        args {3081          call_value {3082            functionName: "Specific Actor"3083            args {3084              call_value {3085                functionName: "Triggering Actor"3086              }3087            }3088            args {3089            }3090          }3091        }3092        args {3093          call_value {3094            functionName: "Get Preset Value (int)"3095            args {3096              string_value: "WithOrWithout"3097            }3098            args {3099              int_value: 13100            }3101          }3102        }3103      }3104      ops {3105        functionName: "Add To Variable (int)"3106        args {3107          call_value {3108            functionName: "Get Story Variable (int)"3109            args {3110              string_value: "51f15c62336331d02c00440e"3111            }3112            args {3113              string_value: "Deck_Storage_FileCount"3114            }3115          }3116        }3117        args {3118          int_value: -13119        }3120      }3121      ops {3122        functionName: "Add To Variable (int)"3123        args {3124          call_value {3125            functionName: "Get Story Variable (int)"3126            args {3127              string_value: "51f15c62336331d02c00440e"3128            }3129            args {3130              string_value: "Deck_Storage_Used"3131            }3132          }3133        }3134        args {3135          int_value: -30        }3136      }3137    }3138    nextNodeIndex: 03139    hideIfUnavailable: true3140    onlyOnce: false3141    idRef {3142      id: "54a775ae6466324026002c72"3143    }3144    auxiliaryLink: true3145    comment: "11"3146  }3147  branches {3148    responseText: "{{GM}}DELETE Capital Expenditure - 50MP{{/GM}}"3149    conditions {3150      ops {3151        functionName: "Evaluate If Actor Has Item"3152        args {3153          call_value {3154            functionName: "Specific Actor"3155            args {3156              call_value {3157                functionName: "Triggering Actor"3158              }3159            }3160            args {3161            }3162          }3163        }3164        args {3165          call_value {3166            functionName: "Get Preset Value (int)"3167            args {3168              string_value: "HasOrHasNot"3169            }3170            args {3171              int_value: 13172            }3173          }3174        }3175        args {3176          call_value {3177            functionName: "Get Map Item (Item)"3178            args {3179              string_value: "Pay Data 12"3180            }3181          }3182        }3183      }3184    }3185    actions {3186      ops {3187        functionName: "Remove Item from Actor"3188        args {3189          call_value {3190            functionName: "Get Map Item (Item)"3191            args {3192              string_value: "Pay Data 12"3193            }3194          }3195        }3196        args {3197          call_value {3198            functionName: "Specific Actor"3199            args {3200              call_value {3201                functionName: "Triggering Actor"3202              }3203            }3204            args {3205            }3206          }3207        }3208        args {3209          call_value {3210            functionName: "Get Preset Value (int)"3211            args {3212              string_value: "WithOrWithout"3213            }3214            args {3215              int_value: 13216            }3217          }3218        }3219      }3220      ops {3221        functionName: "Add To Variable (int)"3222        args {3223          call_value {3224            functionName: "Get Story Variable (int)"3225            args {3226              string_value: "51f15c62336331d02c00440e"3227            }3228            args {3229              string_value: "Deck_Storage_FileCount"3230            }3231          }3232        }3233        args {3234          int_value: -13235        }3236      }3237      ops {3238        functionName: "Add To Variable (int)"3239        args {3240          call_value {3241            functionName: "Get Story Variable (int)"3242            args {3243              string_value: "51f15c62336331d02c00440e"3244            }3245            args {3246              string_value: "Deck_Storage_Used"3247            }3248          }3249        }3250        args {3251          int_value: -50        }3252      }3253    }3254    nextNodeIndex: 03255    hideIfUnavailable: true3256    onlyOnce: false3257    idRef {3258      id: "54a775ae6466324026002c72"3259    }3260    auxiliaryLink: true3261    comment: "12"3262  }3263  branches {3264    responseText: "{{GM}}DELETE Capital Expenditure - 50MP{{/GM}}"3265    conditions {3266      ops {3267        functionName: "Evaluate If Actor Has Item"3268        args {3269          call_value {3270            functionName: "Specific Actor"3271            args {3272              call_value {3273                functionName: "Triggering Actor"3274              }3275            }3276            args {3277            }3278          }3279        }3280        args {3281          call_value {3282            functionName: "Get Preset Value (int)"3283            args {3284              string_value: "HasOrHasNot"3285            }3286            args {3287              int_value: 13288            }3289          }3290        }3291        args {3292          call_value {3293            functionName: "Get Map Item (Item)"3294            args {3295              string_value: "Pay Data 12a"3296            }3297          }3298        }3299      }3300    }3301    actions {3302      ops {3303        functionName: "Remove Item from Actor"3304        args {3305          call_value {3306            functionName: "Get Map Item (Item)"3307            args {3308              string_value: "Pay Data 12a"3309            }3310          }3311        }3312        args {3313          call_value {3314            functionName: "Specific Actor"3315            args {3316              call_value {3317                functionName: "Triggering Actor"3318              }3319            }3320            args {3321            }3322          }3323        }3324        args {3325          call_value {3326            functionName: "Get Preset Value (int)"3327            args {3328              string_value: "WithOrWithout"3329            }3330            args {3331              int_value: 13332            }3333          }3334        }3335      }3336      ops {3337        functionName: "Add To Variable (int)"3338        args {3339          call_value {3340            functionName: "Get Story Variable (int)"3341            args {3342              string_value: "51f15c62336331d02c00440e"3343            }3344            args {3345              string_value: "Deck_Storage_FileCount"3346            }3347          }3348        }3349        args {3350          int_value: -13351        }3352      }3353      ops {3354        functionName: "Add To Variable (int)"3355        args {3356          call_value {3357            functionName: "Get Story Variable (int)"3358            args {3359              string_value: "51f15c62336331d02c00440e"3360            }3361            args {3362              string_value: "Deck_Storage_Used"3363            }3364          }3365        }3366        args {3367          int_value: -50        }3368      }3369    }3370    nextNodeIndex: 03371    hideIfUnavailable: true3372    onlyOnce: false3373    idRef {3374      id: "54a775ae6466324026002c72"3375    }3376    auxiliaryLink: true3377    comment: "12a"3378  }3379  branches {3380    responseText: "{{GM}}DELETE Capital Expenditure - 50MP{{/GM}}"3381    conditions {3382      ops {3383        functionName: "Evaluate If Actor Has Item"3384        args {3385          call_value {3386            functionName: "Specific Actor"3387            args {3388              call_value {3389                functionName: "Triggering Actor"3390              }3391            }3392            args {3393            }3394          }3395        }3396        args {3397          call_value {3398            functionName: "Get Preset Value (int)"3399            args {3400              string_value: "HasOrHasNot"3401            }3402            args {3403              int_value: 13404            }3405          }3406        }3407        args {3408          call_value {3409            functionName: "Get Map Item (Item)"3410            args {3411              string_value: "Pay Data 12b"3412            }3413          }3414        }3415      }3416    }3417    actions {3418      ops {3419        functionName: "Remove Item from Actor"3420        args {3421          call_value {3422            functionName: "Get Map Item (Item)"3423            args {3424              string_value: "Pay Data 12b"3425            }3426          }3427        }3428        args {3429          call_value {3430            functionName: "Specific Actor"3431            args {3432              call_value {3433                functionName: "Triggering Actor"3434              }3435            }3436            args {3437            }3438          }3439        }3440        args {3441          call_value {3442            functionName: "Get Preset Value (int)"3443            args {3444              string_value: "WithOrWithout"3445            }3446            args {3447              int_value: 13448            }3449          }3450        }3451      }3452      ops {3453        functionName: "Add To Variable (int)"3454        args {3455          call_value {3456            functionName: "Get Story Variable (int)"3457            args {3458              string_value: "51f15c62336331d02c00440e"3459            }3460            args {3461              string_value: "Deck_Storage_FileCount"3462            }3463          }3464        }3465        args {3466          int_value: -13467        }3468      }3469      ops {3470        functionName: "Add To Variable (int)"3471        args {3472          call_value {3473            functionName: "Get Story Variable (int)"3474            args {3475              string_value: "51f15c62336331d02c00440e"3476            }3477            args {3478              string_value: "Deck_Storage_Used"3479            }3480          }3481        }3482        args {3483          int_value: -50        }3484      }3485    }3486    nextNodeIndex: 03487    hideIfUnavailable: true3488    onlyOnce: false3489    idRef {3490      id: "54a775ae6466324026002c72"3491    }3492    auxiliaryLink: true3493    comment: "12b"3494  }3495  branches {3496    responseText: "{{GM}}DELETE Security Expenses - 50MP{{/GM}}"3497    conditions {3498      ops {3499        functionName: "Evaluate If Actor Has Item"3500        args {3501          call_value {3502            functionName: "Specific Actor"3503            args {3504              call_value {3505                functionName: "Triggering Actor"3506              }3507            }3508            args {3509            }3510          }3511        }3512        args {3513          call_value {3514            functionName: "Get Preset Value (int)"3515            args {3516              string_value: "HasOrHasNot"3517            }3518            args {3519              int_value: 13520            }3521          }3522        }3523        args {3524          call_value {3525            functionName: "Get Map Item (Item)"3526            args {3527              string_value: "Pay Data 13"3528            }3529          }3530        }3531      }3532    }3533    actions {3534      ops {3535        functionName: "Remove Item from Actor"3536        args {3537          call_value {3538            functionName: "Get Map Item (Item)"3539            args {3540              string_value: "Pay Data 13"3541            }3542          }3543        }3544        args {3545          call_value {3546            functionName: "Specific Actor"3547            args {3548              call_value {3549                functionName: "Triggering Actor"3550              }3551            }3552            args {3553            }3554          }3555        }3556        args {3557          call_value {3558            functionName: "Get Preset Value (int)"3559            args {3560              string_value: "WithOrWithout"3561            }3562            args {3563              int_value: 13564            }3565          }3566        }3567      }3568      ops {3569        functionName: "Add To Variable (int)"3570        args {3571          call_value {3572            functionName: "Get Story Variable (int)"3573            args {3574              string_value: "51f15c62336331d02c00440e"3575            }3576            args {3577              string_value: "Deck_Storage_FileCount"3578            }3579          }3580        }3581        args {3582          int_value: -13583        }3584      }3585      ops {3586        functionName: "Add To Variable (int)"3587        args {3588          call_value {3589            functionName: "Get Story Variable (int)"3590            args {3591              string_value: "51f15c62336331d02c00440e"3592            }3593            args {3594              string_value: "Deck_Storage_Used"3595            }3596          }3597        }3598        args {3599          int_value: -50        }3600      }3601    }3602    nextNodeIndex: 03603    hideIfUnavailable: true3604    onlyOnce: false3605    idRef {3606      id: "54a775ae6466324026002c72"3607    }3608    auxiliaryLink: true3609    comment: "13"3610  }3611  branches {3612    responseText: "{{GM}}DELETE Security Expenses - 50MP{{/GM}}"3613    conditions {3614      ops {3615        functionName: "Evaluate If Actor Has Item"3616        args {3617          call_value {3618            functionName: "Specific Actor"3619            args {3620              call_value {3621                functionName: "Triggering Actor"3622              }3623            }3624            args {3625            }3626          }3627        }3628        args {3629          call_value {3630            functionName: "Get Preset Value (int)"3631            args {3632              string_value: "HasOrHasNot"3633            }3634            args {3635              int_value: 13636            }3637          }3638        }3639        args {3640          call_value {3641            functionName: "Get Map Item (Item)"3642            args {3643              string_value: "Pay Data 13a"3644            }3645          }3646        }3647      }3648    }3649    actions {3650      ops {3651        functionName: "Remove Item from Actor"3652        args {3653          call_value {3654            functionName: "Get Map Item (Item)"3655            args {3656              string_value: "Pay Data 13a"3657            }3658          }3659        }3660        args {3661          call_value {3662            functionName: "Specific Actor"3663            args {3664              call_value {3665                functionName: "Triggering Actor"3666              }3667            }3668            args {3669            }3670          }3671        }3672        args {3673          call_value {3674            functionName: "Get Preset Value (int)"3675            args {3676              string_value: "WithOrWithout"3677            }3678            args {3679              int_value: 13680            }3681          }3682        }3683      }3684      ops {3685        functionName: "Add To Variable (int)"3686        args {3687          call_value {3688            functionName: "Get Story Variable (int)"3689            args {3690              string_value: "51f15c62336331d02c00440e"3691            }3692            args {3693              string_value: "Deck_Storage_FileCount"3694            }3695          }3696        }3697        args {3698          int_value: -13699        }3700      }3701      ops {3702        functionName: "Add To Variable (int)"3703        args {3704          call_value {3705            functionName: "Get Story Variable (int)"3706            args {3707              string_value: "51f15c62336331d02c00440e"3708            }3709            args {3710              string_value: "Deck_Storage_Used"3711            }3712          }3713        }3714        args {3715          int_value: -50        }3716      }3717    }3718    nextNodeIndex: 03719    hideIfUnavailable: true3720    onlyOnce: false3721    idRef {3722      id: "54a775ae6466324026002c72"3723    }3724    auxiliaryLink: true3725    comment: "13a"3726  }3727  branches {3728    responseText: "{{GM}}DELETE Security Expenses - 50MP{{/GM}}"3729    conditions {3730      ops {3731        functionName: "Evaluate If Actor Has Item"3732        args {3733          call_value {3734            functionName: "Specific Actor"3735            args {3736              call_value {3737                functionName: "Triggering Actor"3738              }3739            }3740            args {3741            }3742          }3743        }3744        args {3745          call_value {3746            functionName: "Get Preset Value (int)"3747            args {3748              string_value: "HasOrHasNot"3749            }3750            args {3751              int_value: 13752            }3753          }3754        }3755        args {3756          call_value {3757            functionName: "Get Map Item (Item)"3758            args {3759              string_value: "Pay Data 14"3760            }3761          }3762        }3763      }3764    }3765    actions {3766      ops {3767        functionName: "Remove Item from Actor"3768        args {3769          call_value {3770            functionName: "Get Map Item (Item)"3771            args {3772              string_value: "Pay Data 14"3773            }3774          }3775        }3776        args {3777          call_value {3778            functionName: "Specific Actor"3779            args {3780              call_value {3781                functionName: "Triggering Actor"3782              }3783            }3784            args {3785            }3786          }3787        }3788        args {3789          call_value {3790            functionName: "Get Preset Value (int)"3791            args {3792              string_value: "WithOrWithout"3793            }3794            args {3795              int_value: 13796            }3797          }3798        }3799      }3800      ops {3801        functionName: "Add To Variable (int)"3802        args {3803          call_value {3804            functionName: "Get Story Variable (int)"3805            args {3806              string_value: "51f15c62336331d02c00440e"3807            }3808            args {3809              string_value: "Deck_Storage_FileCount"3810            }3811          }3812        }3813        args {3814          int_value: -13815        }3816      }3817      ops {3818        functionName: "Add To Variable (int)"3819        args {3820          call_value {3821            functionName: "Get Story Variable (int)"3822            args {3823              string_value: "51f15c62336331d02c00440e"3824            }3825            args {3826              string_value: "Deck_Storage_Used"3827            }3828          }3829        }3830        args {3831          int_value: -50        }3832      }3833    }3834    nextNodeIndex: 03835    hideIfUnavailable: true3836    onlyOnce: false3837    idRef {3838      id: "54a775ae6466324026002c72"3839    }3840    auxiliaryLink: true3841    comment: "14"3842  }3843  branches {3844    responseText: "{{GM}}DELETE Security Expenses - 50MP{{/GM}}"3845    conditions {3846      ops {3847        functionName: "Evaluate If Actor Has Item"3848        args {3849          call_value {3850            functionName: "Specific Actor"3851            args {3852              call_value {3853                functionName: "Triggering Actor"3854              }3855            }3856            args {3857            }3858          }3859        }3860        args {3861          call_value {3862            functionName: "Get Preset Value (int)"3863            args {3864              string_value: "HasOrHasNot"3865            }3866            args {3867              int_value: 13868            }3869          }3870        }3871        args {3872          call_value {3873            functionName: "Get Map Item (Item)"3874            args {3875              string_value: "Pay Data 14a"3876            }3877          }3878        }3879      }3880    }3881    actions {3882      ops {3883        functionName: "Remove Item from Actor"3884        args {3885          call_value {3886            functionName: "Get Map Item (Item)"3887            args {3888              string_value: "Pay Data 14a"3889            }3890          }3891        }3892        args {3893          call_value {3894            functionName: "Specific Actor"3895            args {3896              call_value {3897                functionName: "Triggering Actor"3898              }3899            }3900            args {3901            }3902          }3903        }3904        args {3905          call_value {3906            functionName: "Get Preset Value (int)"3907            args {3908              string_value: "WithOrWithout"3909            }3910            args {3911              int_value: 13912            }3913          }3914        }3915      }3916      ops {3917        functionName: "Add To Variable (int)"3918        args {3919          call_value {3920            functionName: "Get Story Variable (int)"3921            args {3922              string_value: "51f15c62336331d02c00440e"3923            }3924            args {3925              string_value: "Deck_Storage_FileCount"3926            }3927          }3928        }3929        args {3930          int_value: -13931        }3932      }3933      ops {3934        functionName: "Add To Variable (int)"3935        args {3936          call_value {3937            functionName: "Get Story Variable (int)"3938            args {3939              string_value: "51f15c62336331d02c00440e"3940            }3941            args {3942              string_value: "Deck_Storage_Used"3943            }3944          }3945        }3946        args {3947          int_value: -50        }3948      }3949    }3950    nextNodeIndex: 03951    hideIfUnavailable: true3952    onlyOnce: false3953    idRef {3954      id: "54a775ae6466324026002c72"3955    }3956    auxiliaryLink: true3957    comment: "14a"3958  }3959  branches {3960    responseText: "{{GM}}DELETE Local Accounts - 50MP{{/GM}}"3961    conditions {3962      ops {3963        functionName: "Evaluate If Actor Has Item"3964        args {3965          call_value {3966            functionName: "Specific Actor"3967            args {3968              call_value {3969                functionName: "Triggering Actor"3970              }3971            }3972            args {3973            }3974          }3975        }3976        args {3977          call_value {3978            functionName: "Get Preset Value (int)"3979            args {3980              string_value: "HasOrHasNot"3981            }3982            args {3983              int_value: 13984            }3985          }3986        }3987        args {3988          call_value {3989            functionName: "Get Map Item (Item)"3990            args {3991              string_value: "Pay Data 15"3992            }3993          }3994        }3995      }3996    }3997    actions {3998      ops {3999        functionName: "Remove Item from Actor"4000        args {4001          call_value {4002            functionName: "Get Map Item (Item)"4003            args {4004              string_value: "Pay Data 15"4005            }4006          }4007        }4008        args {4009          call_value {4010            functionName: "Specific Actor"4011            args {4012              call_value {4013                functionName: "Triggering Actor"4014              }4015            }4016            args {4017            }4018          }4019        }4020        args {4021          call_value {4022            functionName: "Get Preset Value (int)"4023            args {4024              string_value: "WithOrWithout"4025            }4026            args {4027              int_value: 14028            }4029          }4030        }4031      }4032      ops {4033        functionName: "Add To Variable (int)"4034        args {4035          call_value {4036            functionName: "Get Story Variable (int)"4037            args {4038              string_value: "51f15c62336331d02c00440e"4039            }4040            args {4041              string_value: "Deck_Storage_FileCount"4042            }4043          }4044        }4045        args {4046          int_value: -14047        }4048      }4049      ops {4050        functionName: "Add To Variable (int)"4051        args {4052          call_value {4053            functionName: "Get Story Variable (int)"4054            args {4055              string_value: "51f15c62336331d02c00440e"4056            }4057            args {4058              string_value: "Deck_Storage_Used"4059            }4060          }4061        }4062        args {4063          int_value: -50        }4064      }4065    }4066    nextNodeIndex: 04067    hideIfUnavailable: true4068    onlyOnce: false4069    idRef {4070      id: "54a775ae6466324026002c72"4071    }4072    auxiliaryLink: true4073    comment: "15"4074  }4075  branches {4076    responseText: "{{GM}}DELETE Local Accounts - 50MP{{/GM}}"4077    conditions {4078      ops {4079        functionName: "Evaluate If Actor Has Item"4080        args {4081          call_value {4082            functionName: "Specific Actor"4083            args {4084              call_value {4085                functionName: "Triggering Actor"4086              }4087            }4088            args {4089            }4090          }4091        }4092        args {4093          call_value {4094            functionName: "Get Preset Value (int)"4095            args {4096              string_value: "HasOrHasNot"4097            }4098            args {4099              int_value: 14100            }4101          }4102        }4103        args {4104          call_value {4105            functionName: "Get Map Item (Item)"4106            args {4107              string_value: "Pay Data 15a"4108            }4109          }4110        }4111      }4112    }4113    actions {4114      ops {4115        functionName: "Remove Item from Actor"4116        args {4117          call_value {4118            functionName: "Get Map Item (Item)"4119            args {4120              string_value: "Pay Data 15a"4121            }4122          }4123        }4124        args {4125          call_value {4126            functionName: "Specific Actor"4127            args {4128              call_value {4129                functionName: "Triggering Actor"4130              }4131            }4132            args {4133            }4134          }4135        }4136        args {4137          call_value {4138            functionName: "Get Preset Value (int)"4139            args {4140              string_value: "WithOrWithout"4141            }4142            args {4143              int_value: 14144            }4145          }4146        }4147      }4148      ops {4149        functionName: "Add To Variable (int)"4150        args {4151          call_value {4152            functionName: "Get Story Variable (int)"4153            args {4154              string_value: "51f15c62336331d02c00440e"4155            }4156            args {4157              string_value: "Deck_Storage_FileCount"4158            }4159          }4160        }4161        args {4162          int_value: -14163        }4164      }4165      ops {4166        functionName: "Add To Variable (int)"4167        args {4168          call_value {4169            functionName: "Get Story Variable (int)"4170            args {4171              string_value: "51f15c62336331d02c00440e"4172            }4173            args {4174              string_value: "Deck_Storage_Used"4175            }4176          }4177        }4178        args {4179          int_value: -50        }4180      }4181    }4182    nextNodeIndex: 04183    hideIfUnavailable: true4184    onlyOnce: false4185    idRef {4186      id: "54a775ae6466324026002c72"4187    }4188    auxiliaryLink: true4189    comment: "15a"4190  }4191  branches {4192    responseText: "{{GM}}DELETE Local Accounts - 75MP{{/GM}}"4193    conditions {4194      ops {4195        functionName: "Evaluate If Actor Has Item"4196        args {4197          call_value {4198            functionName: "Specific Actor"4199            args {4200              call_value {4201                functionName: "Triggering Actor"4202              }4203            }4204            args {4205            }4206          }4207        }4208        args {4209          call_value {4210            functionName: "Get Preset Value (int)"4211            args {4212              string_value: "HasOrHasNot"4213            }4214            args {4215              int_value: 14216            }4217          }4218        }4219        args {4220          call_value {4221            functionName: "Get Map Item (Item)"4222            args {4223              string_value: "Pay Data 16"4224            }4225          }4226        }4227      }4228    }4229    actions {4230      ops {4231        functionName: "Remove Item from Actor"4232        args {4233          call_value {4234            functionName: "Get Map Item (Item)"4235            args {4236              string_value: "Pay Data 16"4237            }4238          }4239        }4240        args {4241          call_value {4242            functionName: "Specific Actor"4243            args {4244              call_value {4245                functionName: "Triggering Actor"4246              }4247            }4248            args {4249            }4250          }4251        }4252        args {4253          call_value {4254            functionName: "Get Preset Value (int)"4255            args {4256              string_value: "WithOrWithout"4257            }4258            args {4259              int_value: 14260            }4261          }4262        }4263      }4264      ops {4265        functionName: "Add To Variable (int)"4266        args {4267          call_value {4268            functionName: "Get Story Variable (int)"4269            args {4270              string_value: "51f15c62336331d02c00440e"4271            }4272            args {4273              string_value: "Deck_Storage_FileCount"4274            }4275          }4276        }4277        args {4278          int_value: -14279        }4280      }4281      ops {4282        functionName: "Add To Variable (int)"4283        args {4284          call_value {4285            functionName: "Get Story Variable (int)"4286            args {4287              string_value: "51f15c62336331d02c00440e"4288            }4289            args {4290              string_value: "Deck_Storage_Used"4291            }4292          }4293        }4294        args {4295          int_value: -75        }4296      }4297    }4298    nextNodeIndex: 04299    hideIfUnavailable: true4300    onlyOnce: false4301    idRef {4302      id: "54a775ae6466324026002c72"4303    }4304    auxiliaryLink: true4305    comment: "16"4306  }4307  branches {4308    responseText: "{{GM}}DELETE Local Accounts - 75MP{{/GM}}"4309    conditions {4310      ops {4311        functionName: "Evaluate If Actor Has Item"4312        args {4313          call_value {4314            functionName: "Specific Actor"4315            args {4316              call_value {4317                functionName: "Triggering Actor"4318              }4319            }4320            args {4321            }4322          }4323        }4324        args {4325          call_value {4326            functionName: "Get Preset Value (int)"4327            args {4328              string_value: "HasOrHasNot"4329            }4330            args {4331              int_value: 14332            }4333          }4334        }4335        args {4336          call_value {4337            functionName: "Get Map Item (Item)"4338            args {4339              string_value: "Pay Data 16a"4340            }4341          }4342        }4343      }4344    }4345    actions {4346      ops {4347        functionName: "Remove Item from Actor"4348        args {4349          call_value {4350            functionName: "Get Map Item (Item)"4351            args {4352              string_value: "Pay Data 16a"4353            }4354          }4355        }4356        args {4357          call_value {4358            functionName: "Specific Actor"4359            args {4360              call_value {4361                functionName: "Triggering Actor"4362              }4363            }4364            args {4365            }4366          }4367        }4368        args {4369          call_value {4370            functionName: "Get Preset Value (int)"4371            args {4372              string_value: "WithOrWithout"4373            }4374            args {4375              int_value: 14376            }4377          }4378        }4379      }4380      ops {4381        functionName: "Add To Variable (int)"4382        args {4383          call_value {4384            functionName: "Get Story Variable (int)"4385            args {4386              string_value: "51f15c62336331d02c00440e"4387            }4388            args {4389              string_value: "Deck_Storage_FileCount"4390            }4391          }4392        }4393        args {4394          int_value: -14395        }4396      }4397      ops {4398        functionName: "Add To Variable (int)"4399        args {4400          call_value {4401            functionName: "Get Story Variable (int)"4402            args {4403              string_value: "51f15c62336331d02c00440e"4404            }4405            args {4406              string_value: "Deck_Storage_Used"4407            }4408          }4409        }4410        args {4411          int_value: -75        }4412      }4413    }4414    nextNodeIndex: 04415    hideIfUnavailable: true4416    onlyOnce: false4417    idRef {4418      id: "54a775ae6466324026002c72"4419    }4420    auxiliaryLink: true4421    comment: "16a"4422  }4423  branches {4424    responseText: "{{GM}}DELETE Local Accounts - 75MP{{/GM}}"4425    conditions {4426      ops {4427        functionName: "Evaluate If Actor Has Item"4428        args {4429          call_value {4430            functionName: "Specific Actor"4431            args {4432              call_value {4433                functionName: "Triggering Actor"4434              }4435            }4436            args {4437            }4438          }4439        }4440        args {4441          call_value {4442            functionName: "Get Preset Value (int)"4443            args {4444              string_value: "HasOrHasNot"4445            }4446            args {4447              int_value: 14448            }4449          }4450        }4451        args {4452          call_value {4453            functionName: "Get Map Item (Item)"4454            args {4455              string_value: "Pay Data 16b"4456            }4457          }4458        }4459      }4460    }4461    actions {4462      ops {4463        functionName: "Remove Item from Actor"4464        args {4465          call_value {4466            functionName: "Get Map Item (Item)"4467            args {4468              string_value: "Pay Data 16b"4469            }4470          }4471        }4472        args {4473          call_value {4474            functionName: "Specific Actor"4475            args {4476              call_value {4477                functionName: "Triggering Actor"4478              }4479            }4480            args {4481            }4482          }4483        }4484        args {4485          call_value {4486            functionName: "Get Preset Value (int)"4487            args {4488              string_value: "WithOrWithout"4489            }4490            args {4491              int_value: 14492            }4493          }4494        }4495      }4496      ops {4497        functionName: "Add To Variable (int)"4498        args {4499          call_value {4500            functionName: "Get Story Variable (int)"4501            args {4502              string_value: "51f15c62336331d02c00440e"4503            }4504            args {4505              string_value: "Deck_Storage_FileCount"4506            }4507          }4508        }4509        args {4510          int_value: -14511        }4512      }4513      ops {4514        functionName: "Add To Variable (int)"4515        args {4516          call_value {4517            functionName: "Get Story Variable (int)"4518            args {4519              string_value: "51f15c62336331d02c00440e"4520            }4521            args {4522              string_value: "Deck_Storage_Used"4523            }4524          }4525        }4526        args {4527          int_value: -75        }4528      }4529    }4530    nextNodeIndex: 04531    hideIfUnavailable: true4532    onlyOnce: false4533    idRef {4534      id: "54a775ae6466324026002c72"4535    }4536    auxiliaryLink: true4537    comment: "16b"4538  }4539  branches {4540    responseText: "{{GM}}DELETE Corporate Accounts - 75MP{{/GM}}"4541    conditions {4542      ops {4543        functionName: "Evaluate If Actor Has Item"4544        args {4545          call_value {4546            functionName: "Specific Actor"4547            args {4548              call_value {4549                functionName: "Triggering Actor"4550              }4551            }4552            args {4553            }4554          }4555        }4556        args {4557          call_value {4558            functionName: "Get Preset Value (int)"4559            args {4560              string_value: "HasOrHasNot"4561            }4562            args {4563              int_value: 14564            }4565          }4566        }4567        args {4568          call_value {4569            functionName: "Get Map Item (Item)"4570            args {4571              string_value: "Pay Data 17"4572            }4573          }4574        }4575      }4576    }4577    actions {4578      ops {4579        functionName: "Remove Item from Actor"4580        args {4581          call_value {4582            functionName: "Get Map Item (Item)"4583            args {4584              string_value: "Pay Data 17"4585            }4586          }4587        }4588        args {4589          call_value {4590            functionName: "Specific Actor"4591            args {4592              call_value {4593                functionName: "Triggering Actor"4594              }4595            }4596            args {4597            }4598          }4599        }4600        args {4601          call_value {4602            functionName: "Get Preset Value (int)"4603            args {4604              string_value: "WithOrWithout"4605            }4606            args {4607              int_value: 14608            }4609          }4610        }4611      }4612      ops {4613        functionName: "Add To Variable (int)"4614        args {4615          call_value {4616            functionName: "Get Story Variable (int)"4617            args {4618              string_value: "51f15c62336331d02c00440e"4619            }4620            args {4621              string_value: "Deck_Storage_FileCount"4622            }4623          }4624        }4625        args {4626          int_value: -14627        }4628      }4629      ops {4630        functionName: "Add To Variable (int)"4631        args {4632          call_value {4633            functionName: "Get Story Variable (int)"4634            args {4635              string_value: "51f15c62336331d02c00440e"4636            }4637            args {4638              string_value: "Deck_Storage_Used"4639            }4640          }4641        }4642        args {4643          int_value: -75        }4644      }4645    }4646    nextNodeIndex: 04647    hideIfUnavailable: true4648    onlyOnce: false4649    idRef {4650      id: "54a775ae6466324026002c72"4651    }4652    auxiliaryLink: true4653    comment: "17"4654  }4655  branches {4656    responseText: "{{GM}}DELETE Corporate Accounts - 75MP{{/GM}}"4657    conditions {4658      ops {4659        functionName: "Evaluate If Actor Has Item"4660        args {4661          call_value {4662            functionName: "Specific Actor"4663            args {4664              call_value {4665                functionName: "Triggering Actor"4666              }4667            }4668            args {4669            }4670          }4671        }4672        args {4673          call_value {4674            functionName: "Get Preset Value (int)"4675            args {4676              string_value: "HasOrHasNot"4677            }4678            args {4679              int_value: 14680            }4681          }4682        }4683        args {4684          call_value {4685            functionName: "Get Map Item (Item)"4686            args {4687              string_value: "Pay Data 17a"4688            }4689          }4690        }4691      }4692    }4693    actions {4694      ops {4695        functionName: "Remove Item from Actor"4696        args {4697          call_value {4698            functionName: "Get Map Item (Item)"4699            args {4700              string_value: "Pay Data 17a"4701            }4702          }4703        }4704        args {4705          call_value {4706            functionName: "Specific Actor"4707            args {4708              call_value {4709                functionName: "Triggering Actor"4710              }4711            }4712            args {4713            }4714          }4715        }4716        args {4717          call_value {4718            functionName: "Get Preset Value (int)"4719            args {4720              string_value: "WithOrWithout"4721            }4722            args {4723              int_value: 14724            }4725          }4726        }4727      }4728      ops {4729        functionName: "Add To Variable (int)"4730        args {4731          call_value {4732            functionName: "Get Story Variable (int)"4733            args {4734              string_value: "51f15c62336331d02c00440e"4735            }4736            args {4737              string_value: "Deck_Storage_FileCount"4738            }4739          }4740        }4741        args {4742          int_value: -14743        }4744      }4745      ops {4746        functionName: "Add To Variable (int)"4747        args {4748          call_value {4749            functionName: "Get Story Variable (int)"4750            args {4751              string_value: "51f15c62336331d02c00440e"4752            }4753            args {4754              string_value: "Deck_Storage_Used"4755            }4756          }4757        }4758        args {4759          int_value: -75        }4760      }4761    }4762    nextNodeIndex: 04763    hideIfUnavailable: true4764    onlyOnce: false4765    idRef {4766      id: "54a775ae6466324026002c72"4767    }4768    auxiliaryLink: true4769    comment: "17a"4770  }4771  branches {4772    responseText: "{{GM}}DELETE Corporate Accounts - 75MP{{/GM}}"4773    conditions {4774      ops {4775        functionName: "Evaluate If Actor Has Item"4776        args {4777          call_value {4778            functionName: "Specific Actor"4779            args {4780              call_value {4781                functionName: "Triggering Actor"4782              }4783            }4784            args {4785            }4786          }4787        }4788        args {4789          call_value {4790            functionName: "Get Preset Value (int)"4791            args {4792              string_value: "HasOrHasNot"4793            }4794            args {4795              int_value: 14796            }4797          }4798        }4799        args {4800          call_value {4801            functionName: "Get Map Item (Item)"4802            args {4803              string_value: "Pay Data 17b"4804            }4805          }4806        }4807      }4808    }4809    actions {4810      ops {4811        functionName: "Remove Item from Actor"4812        args {4813          call_value {4814            functionName: "Get Map Item (Item)"4815            args {4816              string_value: "Pay Data 17b"4817            }4818          }4819        }4820        args {4821          call_value {4822            functionName: "Specific Actor"4823            args {4824              call_value {4825                functionName: "Triggering Actor"4826              }4827            }4828            args {4829            }4830          }4831        }4832        args {4833          call_value {4834            functionName: "Get Preset Value (int)"4835            args {4836              string_value: "WithOrWithout"4837            }4838            args {4839              int_value: 14840            }4841          }4842        }4843      }4844      ops {4845        functionName: "Add To Variable (int)"4846        args {4847          call_value {4848            functionName: "Get Story Variable (int)"4849            args {4850              string_value: "51f15c62336331d02c00440e"4851            }4852            args {4853              string_value: "Deck_Storage_FileCount"4854            }4855          }4856        }4857        args {4858          int_value: -14859        }4860      }4861      ops {4862        functionName: "Add To Variable (int)"4863        args {4864          call_value {4865            functionName: "Get Story Variable (int)"4866            args {4867              string_value: "51f15c62336331d02c00440e"4868            }4869            args {4870              string_value: "Deck_Storage_Used"4871            }4872          }4873        }4874        args {4875          int_value: -75        }4876      }4877    }4878    nextNodeIndex: 04879    hideIfUnavailable: true4880    onlyOnce: false4881    idRef {4882      id: "54a775ae6466324026002c72"4883    }4884    auxiliaryLink: true4885    comment: "17b"4886  }4887  branches {4888    responseText: "{{GM}}DELETE Bank Account Numbers - 75MP{{/GM}}"4889    conditions {4890      ops {4891        functionName: "Evaluate If Actor Has Item"4892        args {4893          call_value {4894            functionName: "Specific Actor"4895            args {4896              call_value {4897                functionName: "Triggering Actor"4898              }4899            }4900            args {4901            }4902          }4903        }4904        args {4905          call_value {4906            functionName: "Get Preset Value (int)"4907            args {4908              string_value: "HasOrHasNot"4909            }4910            args {4911              int_value: 14912            }4913          }4914        }4915        args {4916          call_value {4917            functionName: "Get Map Item (Item)"4918            args {4919              string_value: "Pay Data 18"4920            }4921          }4922        }4923      }4924    }4925    actions {4926      ops {4927        functionName: "Remove Item from Actor"4928        args {4929          call_value {4930            functionName: "Get Map Item (Item)"4931            args {4932              string_value: "Pay Data 18"4933            }4934          }4935        }4936        args {4937          call_value {4938            functionName: "Specific Actor"4939            args {4940              call_value {4941                functionName: "Triggering Actor"4942              }4943            }4944            args {4945            }4946          }4947        }4948        args {4949          call_value {4950            functionName: "Get Preset Value (int)"4951            args {4952              string_value: "WithOrWithout"4953            }4954            args {4955              int_value: 14956            }4957          }4958        }4959      }4960      ops {4961        functionName: "Add To Variable (int)"4962        args {4963          call_value {4964            functionName: "Get Story Variable (int)"4965            args {4966              string_value: "51f15c62336331d02c00440e"4967            }4968            args {4969              string_value: "Deck_Storage_FileCount"4970            }4971          }4972        }4973        args {4974          int_value: -14975        }4976      }4977      ops {4978        functionName: "Add To Variable (int)"4979        args {4980          call_value {4981            functionName: "Get Story Variable (int)"4982            args {4983              string_value: "51f15c62336331d02c00440e"4984            }4985            args {4986              string_value: "Deck_Storage_Used"4987            }4988          }4989        }4990        args {4991          int_value: -75        }4992      }4993    }4994    nextNodeIndex: 04995    hideIfUnavailable: true4996    onlyOnce: false4997    idRef {4998      id: "54a775ae6466324026002c72"4999    }5000    auxiliaryLink: true5001    comment: "18"5002  }5003  branches {5004    responseText: "{{GM}}DELETE Bank Account Numbers - 75MP{{/GM}}"5005    conditions {5006      ops {5007        functionName: "Evaluate If Actor Has Item"5008        args {5009          call_value {5010            functionName: "Specific Actor"5011            args {5012              call_value {5013                functionName: "Triggering Actor"5014              }5015            }5016            args {5017            }5018          }5019        }5020        args {5021          call_value {5022            functionName: "Get Preset Value (int)"5023            args {5024              string_value: "HasOrHasNot"5025            }5026            args {5027              int_value: 15028            }5029          }5030        }5031        args {5032          call_value {5033            functionName: "Get Map Item (Item)"5034            args {5035              string_value: "Pay Data 18a"5036            }5037          }5038        }5039      }5040    }5041    actions {5042      ops {5043        functionName: "Remove Item from Actor"5044        args {5045          call_value {5046            functionName: "Get Map Item (Item)"5047            args {5048              string_value: "Pay Data 18a"5049            }5050          }5051        }5052        args {5053          call_value {5054            functionName: "Specific Actor"5055            args {5056              call_value {5057                functionName: "Triggering Actor"5058              }5059            }5060            args {5061            }5062          }5063        }5064        args {5065          call_value {5066            functionName: "Get Preset Value (int)"5067            args {5068              string_value: "WithOrWithout"5069            }5070            args {5071              int_value: 15072            }5073          }5074        }5075      }5076      ops {5077        functionName: "Add To Variable (int)"5078        args {5079          call_value {5080            functionName: "Get Story Variable (int)"5081            args {5082              string_value: "51f15c62336331d02c00440e"5083            }5084            args {5085              string_value: "Deck_Storage_FileCount"5086            }5087          }5088        }5089        args {5090          int_value: -15091        }5092      }5093      ops {5094        functionName: "Add To Variable (int)"5095        args {5096          call_value {5097            functionName: "Get Story Variable (int)"5098            args {5099              string_value: "51f15c62336331d02c00440e"5100            }5101            args {5102              string_value: "Deck_Storage_Used"5103            }5104          }5105        }5106        args {5107          int_value: -75        }5108      }5109    }5110    nextNodeIndex: 05111    hideIfUnavailable: true5112    onlyOnce: false5113    idRef {5114      id: "54a775ae6466324026002c72"5115    }5116    auxiliaryLink: true5117    comment: "18a"5118  }5119  branches {5120    responseText: "{{GM}}DELETE Bank Account Numbers - 75MP{{/GM}}"5121    conditions {5122      ops {5123        functionName: "Evaluate If Actor Has Item"5124        args {5125          call_value {5126            functionName: "Specific Actor"5127            args {5128              call_value {5129                functionName: "Triggering Actor"5130              }5131            }5132            args {5133            }5134          }5135        }5136        args {5137          call_value {5138            functionName: "Get Preset Value (int)"5139            args {5140              string_value: "HasOrHasNot"5141            }5142            args {5143              int_value: 15144            }5145          }5146        }5147        args {5148          call_value {5149            functionName: "Get Map Item (Item)"5150            args {5151              string_value: "Pay Data 18b"5152            }5153          }5154        }5155      }5156    }5157    actions {5158      ops {5159        functionName: "Remove Item from Actor"5160        args {5161          call_value {5162            functionName: "Get Map Item (Item)"5163            args {5164              string_value: "Pay Data 18b"5165            }5166          }5167        }5168        args {5169          call_value {5170            functionName: "Specific Actor"5171            args {5172              call_value {5173                functionName: "Triggering Actor"5174              }5175            }5176            args {5177            }5178          }5179        }5180        args {5181          call_value {5182            functionName: "Get Preset Value (int)"5183            args {5184              string_value: "WithOrWithout"5185            }5186            args {5187              int_value: 15188            }5189          }5190        }5191      }5192      ops {5193        functionName: "Add To Variable (int)"5194        args {5195          call_value {5196            functionName: "Get Story Variable (int)"5197            args {5198              string_value: "51f15c62336331d02c00440e"5199            }5200            args {5201              string_value: "Deck_Storage_FileCount"5202            }5203          }5204        }5205        args {5206          int_value: -15207        }5208      }5209      ops {5210        functionName: "Add To Variable (int)"5211        args {5212          call_value {5213            functionName: "Get Story Variable (int)"5214            args {5215              string_value: "51f15c62336331d02c00440e"5216            }5217            args {5218              string_value: "Deck_Storage_Used"5219            }5220          }5221        }5222        args {5223          int_value: -75        }5224      }5225    }5226    nextNodeIndex: 05227    hideIfUnavailable: true5228    onlyOnce: false5229    idRef {5230      id: "54a775ae6466324026002c72"5231    }5232    auxiliaryLink: true5233    comment: "18b"5234  }5235  branches {5236    responseText: "{{GM}}DELETE Bank Account Numbers - 100MP{{/GM}}"5237    conditions {5238      ops {5239        functionName: "Evaluate If Actor Has Item"5240        args {5241          call_value {5242            functionName: "Specific Actor"5243            args {5244              call_value {5245                functionName: "Triggering Actor"5246              }5247            }5248            args {5249            }5250          }5251        }5252        args {5253          call_value {5254            functionName: "Get Preset Value (int)"5255            args {5256              string_value: "HasOrHasNot"5257            }5258            args {5259              int_value: 15260            }5261          }5262        }5263        args {5264          call_value {5265            functionName: "Get Map Item (Item)"5266            args {5267              string_value: "Pay Data 19"5268            }5269          }5270        }5271      }5272    }5273    actions {5274      ops {5275        functionName: "Remove Item from Actor"5276        args {5277          call_value {5278            functionName: "Get Map Item (Item)"5279            args {5280              string_value: "Pay Data 19"5281            }5282          }5283        }5284        args {5285          call_value {5286            functionName: "Specific Actor"5287            args {5288              call_value {5289                functionName: "Triggering Actor"5290              }5291            }5292            args {5293            }5294          }5295        }5296        args {5297          call_value {5298            functionName: "Get Preset Value (int)"5299            args {5300              string_value: "WithOrWithout"5301            }5302            args {5303              int_value: 15304            }5305          }5306        }5307      }5308      ops {5309        functionName: "Add To Variable (int)"5310        args {5311          call_value {5312            functionName: "Get Story Variable (int)"5313            args {5314              string_value: "51f15c62336331d02c00440e"5315            }5316            args {5317              string_value: "Deck_Storage_FileCount"5318            }5319          }5320        }5321        args {5322          int_value: -15323        }5324      }5325      ops {5326        functionName: "Add To Variable (int)"5327        args {5328          call_value {5329            functionName: "Get Story Variable (int)"5330            args {5331              string_value: "51f15c62336331d02c00440e"5332            }5333            args {5334              string_value: "Deck_Storage_Used"5335            }5336          }5337        }5338        args {5339          int_value: -100        }5340      }5341    }5342    nextNodeIndex: 05343    hideIfUnavailable: true5344    onlyOnce: false5345    idRef {5346      id: "54a775ae6466324026002c72"5347    }5348    auxiliaryLink: true5349    comment: "19"5350  }5351  branches {5352    responseText: "{{GM}}DELETE Bank Account Numbers - 100MP{{/GM}}"5353    conditions {5354      ops {5355        functionName: "Evaluate If Actor Has Item"5356        args {5357          call_value {5358            functionName: "Specific Actor"5359            args {5360              call_value {5361                functionName: "Triggering Actor"5362              }5363            }5364            args {5365            }5366          }5367        }5368        args {5369          call_value {5370            functionName: "Get Preset Value (int)"5371            args {5372              string_value: "HasOrHasNot"5373            }5374            args {5375              int_value: 15376            }5377          }5378        }5379        args {5380          call_value {5381            functionName: "Get Map Item (Item)"5382            args {5383              string_value: "Pay Data 19a"5384            }5385          }5386        }5387      }5388    }5389    actions {5390      ops {5391        functionName: "Remove Item from Actor"5392        args {5393          call_value {5394            functionName: "Get Map Item (Item)"5395            args {5396              string_value: "Pay Data 19a"5397            }5398          }5399        }5400        args {5401          call_value {5402            functionName: "Specific Actor"5403            args {5404              call_value {5405                functionName: "Triggering Actor"5406              }5407            }5408            args {5409            }5410          }5411        }5412        args {5413          call_value {5414            functionName: "Get Preset Value (int)"5415            args {5416              string_value: "WithOrWithout"5417            }5418            args {5419              int_value: 15420            }5421          }5422        }5423      }5424      ops {5425        functionName: "Add To Variable (int)"5426        args {5427          call_value {5428            functionName: "Get Story Variable (int)"5429            args {5430              string_value: "51f15c62336331d02c00440e"5431            }5432            args {5433              string_value: "Deck_Storage_FileCount"5434            }5435          }5436        }5437        args {5438          int_value: -15439        }5440      }5441      ops {5442        functionName: "Add To Variable (int)"5443        args {5444          call_value {5445            functionName: "Get Story Variable (int)"5446            args {5447              string_value: "51f15c62336331d02c00440e"5448            }5449            args {5450              string_value: "Deck_Storage_Used"5451            }5452          }5453        }5454        args {5455          int_value: -100        }5456      }5457    }5458    nextNodeIndex: 05459    hideIfUnavailable: true5460    onlyOnce: false5461    idRef {5462      id: "54a775ae6466324026002c72"5463    }5464    auxiliaryLink: true5465    comment: "19a"5466  }5467  branches {5468    responseText: "{{GM}}DELETE Prototype Blueprints - 100MP{{/GM}}"5469    conditions {5470      ops {5471        functionName: "Evaluate If Actor Has Item"5472        args {5473          call_value {5474            functionName: "Specific Actor"5475            args {5476              call_value {5477                functionName: "Triggering Actor"5478              }5479            }5480            args {5481            }5482          }5483        }5484        args {5485          call_value {5486            functionName: "Get Preset Value (int)"5487            args {5488              string_value: "HasOrHasNot"5489            }5490            args {5491              int_value: 15492            }5493          }5494        }5495        args {5496          call_value {5497            functionName: "Get Map Item (Item)"5498            args {5499              string_value: "Pay Data 20"5500            }5501          }5502        }5503      }5504    }5505    actions {5506      ops {5507        functionName: "Remove Item from Actor"5508        args {5509          call_value {5510            functionName: "Get Map Item (Item)"5511            args {5512              string_value: "Pay Data 20"5513            }5514          }5515        }5516        args {5517          call_value {5518            functionName: "Specific Actor"5519            args {5520              call_value {5521                functionName: "Triggering Actor"5522              }5523            }5524            args {5525            }5526          }5527        }5528        args {5529          call_value {5530            functionName: "Get Preset Value (int)"5531            args {5532              string_value: "WithOrWithout"5533            }5534            args {5535              int_value: 15536            }5537          }5538        }5539      }5540      ops {5541        functionName: "Add To Variable (int)"5542        args {5543          call_value {5544            functionName: "Get Story Variable (int)"5545            args {5546              string_value: "51f15c62336331d02c00440e"5547            }5548            args {5549              string_value: "Deck_Storage_FileCount"5550            }5551          }5552        }5553        args {5554          int_value: -15555        }5556      }5557      ops {5558        functionName: "Add To Variable (int)"5559        args {5560          call_value {5561            functionName: "Get Story Variable (int)"5562            args {5563              string_value: "51f15c62336331d02c00440e"5564            }5565            args {5566              string_value: "Deck_Storage_Used"5567            }5568          }5569        }5570        args {5571          int_value: -100        }5572      }5573    }5574    nextNodeIndex: 05575    hideIfUnavailable: true5576    onlyOnce: false5577    idRef {5578      id: "54a775ae6466324026002c72"5579    }5580    auxiliaryLink: true5581    comment: "20"5582  }5583  branches {5584    responseText: "{{GM}}DELETE Prototype Blueprints - 100MP{{/GM}}"5585    conditions {5586      ops {5587        functionName: "Evaluate If Actor Has Item"5588        args {5589          call_value {5590            functionName: "Specific Actor"5591            args {5592              call_value {5593                functionName: "Triggering Actor"5594              }5595            }5596            args {5597            }5598          }5599        }5600        args {5601          call_value {5602            functionName: "Get Preset Value (int)"5603            args {5604              string_value: "HasOrHasNot"5605            }5606            args {5607              int_value: 15608            }5609          }5610        }5611        args {5612          call_value {5613            functionName: "Get Map Item (Item)"5614            args {5615              string_value: "Pay Data 20a"5616            }5617          }5618        }5619      }5620    }5621    actions {5622      ops {5623        functionName: "Remove Item from Actor"5624        args {5625          call_value {5626            functionName: "Get Map Item (Item)"5627            args {5628              string_value: "Pay Data 20a"5629            }5630          }5631        }5632        args {5633          call_value {5634            functionName: "Specific Actor"5635            args {5636              call_value {5637                functionName: "Triggering Actor"5638              }5639            }5640            args {5641            }5642          }5643        }5644        args {5645          call_value {5646            functionName: "Get Preset Value (int)"5647            args {5648              string_value: "WithOrWithout"5649            }5650            args {5651              int_value: 15652            }5653          }5654        }5655      }5656      ops {5657        functionName: "Add To Variable (int)"5658        args {5659          call_value {5660            functionName: "Get Story Variable (int)"5661            args {5662              string_value: "51f15c62336331d02c00440e"5663            }5664            args {5665              string_value: "Deck_Storage_FileCount"5666            }5667          }5668        }5669        args {5670          int_value: -15671        }5672      }5673      ops {5674        functionName: "Add To Variable (int)"5675        args {5676          call_value {5677            functionName: "Get Story Variable (int)"5678            args {5679              string_value: "51f15c62336331d02c00440e"5680            }5681            args {5682              string_value: "Deck_Storage_Used"5683            }5684          }5685        }5686        args {5687          int_value: -100        }5688      }5689    }5690    nextNodeIndex: 05691    hideIfUnavailable: true5692    onlyOnce: false5693    idRef {5694      id: "54a775ae6466324026002c72"5695    }5696    auxiliaryLink: true5697    comment: "20a"5698  }5699  branches {5700    responseText: "{{GM}}DELETE Classified Corporate Files - 100MP{{/GM}}"5701    conditions {5702      ops {5703        functionName: "Evaluate If Actor Has Item"5704        args {5705          call_value {5706            functionName: "Specific Actor"5707            args {5708              call_value {5709                functionName: "Triggering Actor"5710              }5711            }5712            args {5713            }5714          }5715        }5716        args {5717          call_value {5718            functionName: "Get Preset Value (int)"5719            args {5720              string_value: "HasOrHasNot"5721            }5722            args {5723              int_value: 15724            }5725          }5726        }5727        args {5728          call_value {5729            functionName: "Get Map Item (Item)"5730            args {5731              string_value: "Pay Data 21"5732            }5733          }5734        }5735      }5736    }5737    actions {5738      ops {5739        functionName: "Remove Item from Actor"5740        args {5741          call_value {5742            functionName: "Get Map Item (Item)"5743            args {5744              string_value: "Pay Data 21"5745            }5746          }5747        }5748        args {5749          call_value {5750            functionName: "Specific Actor"5751            args {5752              call_value {5753                functionName: "Triggering Actor"5754              }5755            }5756            args {5757            }5758          }5759        }5760        args {5761          call_value {5762            functionName: "Get Preset Value (int)"5763            args {5764              string_value: "WithOrWithout"5765            }5766            args {5767              int_value: 15768            }5769          }5770        }5771      }5772      ops {5773        functionName: "Add To Variable (int)"5774        args {5775          call_value {5776            functionName: "Get Story Variable (int)"5777            args {5778              string_value: "51f15c62336331d02c00440e"5779            }5780            args {5781              string_value: "Deck_Storage_FileCount"5782            }5783          }5784        }5785        args {5786          int_value: -15787        }5788      }5789      ops {5790        functionName: "Add To Variable (int)"5791        args {5792          call_value {5793            functionName: "Get Story Variable (int)"5794            args {5795              string_value: "51f15c62336331d02c00440e"5796            }5797            args {5798              string_value: "Deck_Storage_Used"5799            }5800          }5801        }5802        args {5803          int_value: -100        }5804      }5805    }5806    nextNodeIndex: 05807    hideIfUnavailable: true5808    onlyOnce: false5809    idRef {5810      id: "54a775ae6466324026002c72"5811    }5812    auxiliaryLink: true5813    comment: "21"5814  }5815  branches {5816    responseText: "{{GM}}DELETE Open Projects Data - 100MP{{/GM}}"5817    conditions {5818      ops {5819        functionName: "Evaluate If Actor Has Item"5820        args {5821          call_value {5822            functionName: "Specific Actor"5823            args {5824              call_value {5825                functionName: "Triggering Actor"5826              }5827            }5828            args {5829            }5830          }5831        }5832        args {5833          call_value {5834            functionName: "Get Preset Value (int)"5835            args {5836              string_value: "HasOrHasNot"5837            }5838            args {5839              int_value: 15840            }5841          }5842        }5843        args {5844          call_value {5845            functionName: "Get Map Item (Item)"5846            args {5847              string_value: "Pay Data 22"5848            }5849          }5850        }5851      }5852    }5853    actions {5854      ops {5855        functionName: "Remove Item from Actor"5856        args {5857          call_value {5858            functionName: "Get Map Item (Item)"5859            args {5860              string_value: "Pay Data 22"5861            }5862          }5863        }5864        args {5865          call_value {5866            functionName: "Specific Actor"5867            args {5868              call_value {5869                functionName: "Triggering Actor"5870              }5871            }5872            args {5873            }5874          }5875        }5876        args {5877          call_value {5878            functionName: "Get Preset Value (int)"5879            args {5880              string_value: "WithOrWithout"5881            }5882            args {5883              int_value: 15884            }5885          }5886        }5887      }5888      ops {5889        functionName: "Add To Variable (int)"5890        args {5891          call_value {5892            functionName: "Get Story Variable (int)"5893            args {5894              string_value: "51f15c62336331d02c00440e"5895            }5896            args {5897              string_value: "Deck_Storage_FileCount"5898            }5899          }5900        }5901        args {5902          int_value: -15903        }5904      }5905      ops {5906        functionName: "Add To Variable (int)"5907        args {5908          call_value {5909            functionName: "Get Story Variable (int)"5910            args {5911              string_value: "51f15c62336331d02c00440e"5912            }5913            args {5914              string_value: "Deck_Storage_Used"5915            }5916          }5917        }5918        args {5919          int_value: -100        }5920      }5921    }5922    nextNodeIndex: 05923    hideIfUnavailable: true5924    onlyOnce: false5925    idRef {5926      id: "54a775ae6466324026002c72"5927    }5928    auxiliaryLink: true5929    comment: "22"5930  }5931  branches {5932    responseText: "{{GM}}DELETE Prototype Blueprints - 100MP{{/GM}}"5933    conditions {5934      ops {5935        functionName: "Evaluate If Actor Has Item"5936        args {5937          call_value {5938            functionName: "Specific Actor"5939            args {5940              call_value {5941                functionName: "Triggering Actor"5942              }5943            }5944            args {5945            }5946          }5947        }5948        args {5949          call_value {5950            functionName: "Get Preset Value (int)"5951            args {5952              string_value: "HasOrHasNot"5953            }5954            args {5955              int_value: 15956            }5957          }5958        }5959        args {5960          call_value {5961            functionName: "Get Map Item (Item)"5962            args {5963              string_value: "Pay Data 23 "5964            }5965          }5966        }5967      }5968    }5969    actions {5970      ops {5971        functionName: "Remove Item from Actor"5972        args {5973          call_value {5974            functionName: "Get Map Item (Item)"5975            args {5976              string_value: "Pay Data 23 "5977            }5978          }5979        }5980        args {5981          call_value {5982            functionName: "Specific Actor"5983            args {5984              call_value {5985                functionName: "Triggering Actor"5986              }5987            }5988            args {5989            }5990          }5991        }5992        args {5993          call_value {5994            functionName: "Get Preset Value (int)"5995            args {5996              string_value: "WithOrWithout"5997            }5998            args {5999              int_value: 16000            }6001          }6002        }6003      }6004      ops {6005        functionName: "Add To Variable (int)"6006        args {6007          call_value {6008            functionName: "Get Story Variable (int)"6009            args {6010              string_value: "51f15c62336331d02c00440e"6011            }6012            args {6013              string_value: "Deck_Storage_FileCount"6014            }6015          }6016        }6017        args {6018          int_value: -16019        }6020      }6021      ops {6022        functionName: "Add To Variable (int)"6023        args {6024          call_value {6025            functionName: "Get Story Variable (int)"6026            args {6027              string_value: "51f15c62336331d02c00440e"6028            }6029            args {6030              string_value: "Deck_Storage_Used"6031            }6032          }6033        }6034        args {6035          int_value: -100        }6036      }6037    }6038    nextNodeIndex: 06039    hideIfUnavailable: true6040    onlyOnce: false6041    idRef {6042      id: "54a775ae6466324026002c72"6043    }6044    auxiliaryLink: true6045    comment: "23 "6046  }6047  branches {6048    responseText: "{{GM}}DELETE Prototype Blueprints - 100MP{{/GM}}"6049    conditions {6050      ops {6051        functionName: "Evaluate If Actor Has Item"6052        args {6053          call_value {6054            functionName: "Specific Actor"6055            args {6056              call_value {6057                functionName: "Triggering Actor"6058              }6059            }6060            args {6061            }6062          }6063        }6064        args {6065          call_value {6066            functionName: "Get Preset Value (int)"6067            args {6068              string_value: "HasOrHasNot"6069            }6070            args {6071              int_value: 16072            }6073          }6074        }6075        args {6076          call_value {6077            functionName: "Get Map Item (Item)"6078            args {6079              string_value: "Pay Data 24"6080            }6081          }6082        }6083      }6084    }6085    actions {6086      ops {6087        functionName: "Remove Item from Actor"6088        args {6089          call_value {6090            functionName: "Get Map Item (Item)"6091            args {6092              string_value: "Pay Data 24"6093            }6094          }6095        }6096        args {6097          call_value {6098            functionName: "Specific Actor"6099            args {6100              call_value {6101                functionName: "Triggering Actor"6102              }6103            }6104            args {6105            }6106          }6107        }6108        args {6109          call_value {6110            functionName: "Get Preset Value (int)"6111            args {6112              string_value: "WithOrWithout"6113            }6114            args {6115              int_value: 16116            }6117          }6118        }6119      }6120      ops {6121        functionName: "Add To Variable (int)"6122        args {6123          call_value {6124            functionName: "Get Story Variable (int)"6125            args {6126              string_value: "51f15c62336331d02c00440e"6127            }6128            args {6129              string_value: "Deck_Storage_FileCount"6130            }6131          }6132        }6133        args {6134          int_value: -16135        }6136      }6137      ops {6138        functionName: "Add To Variable (int)"6139        args {6140          call_value {6141            functionName: "Get Story Variable (int)"6142            args {6143              string_value: "51f15c62336331d02c00440e"6144            }6145            args {6146              string_value: "Deck_Storage_Used"6147            }6148          }6149        }6150        args {6151          int_value: -100        }6152      }6153    }6154    nextNodeIndex: 06155    hideIfUnavailable: true6156    onlyOnce: false6157    idRef {6158      id: "54a775ae6466324026002c72"6159    }6160    auxiliaryLink: true6161    comment: "24"6162  }6163  branches {6164    responseText: "{{GM}}DELETE Classified Corporate Files - 100MP{{/GM}}"6165    conditions {6166      ops {6167        functionName: "Evaluate If Actor Has Item"6168        args {6169          call_value {6170            functionName: "Specific Actor"6171            args {6172              call_value {6173                functionName: "Triggering Actor"6174              }6175            }6176            args {6177            }6178          }6179        }6180        args {6181          call_value {6182            functionName: "Get Preset Value (int)"6183            args {6184              string_value: "HasOrHasNot"6185            }6186            args {6187              int_value: 16188            }6189          }6190        }6191        args {6192          call_value {6193            functionName: "Get Map Item (Item)"6194            args {6195              string_value: "Pay Data 25"6196            }6197          }6198        }6199      }6200    }6201    actions {6202      ops {6203        functionName: "Remove Item from Actor"6204        args {6205          call_value {6206            functionName: "Get Map Item (Item)"6207            args {6208              string_value: "Pay Data 25"6209            }6210          }6211        }6212        args {6213          call_value {6214            functionName: "Specific Actor"6215            args {6216              call_value {6217                functionName: "Triggering Actor"6218              }6219            }6220            args {6221            }6222          }6223        }6224        args {6225          call_value {6226            functionName: "Get Preset Value (int)"6227            args {6228              string_value: "WithOrWithout"6229            }6230            args {6231              int_value: 16232            }6233          }6234        }6235      }6236      ops {6237        functionName: "Add To Variable (int)"6238        args {6239          call_value {6240            functionName: "Get Story Variable (int)"6241            args {6242              string_value: "51f15c62336331d02c00440e"6243            }6244            args {6245              string_value: "Deck_Storage_FileCount"6246            }6247          }6248        }6249        args {6250          int_value: -16251        }6252      }6253      ops {6254        functionName: "Add To Variable (int)"6255        args {6256          call_value {6257            functionName: "Get Story Variable (int)"6258            args {6259              string_value: "51f15c62336331d02c00440e"6260            }6261            args {6262              string_value: "Deck_Storage_Used"6263            }6264          }6265        }6266        args {6267          int_value: -100        }6268      }6269    }6270    nextNodeIndex: 06271    hideIfUnavailable: true6272    onlyOnce: false6273    idRef {6274      id: "54a775ae6466324026002c72"6275    }6276    auxiliaryLink: true6277    comment: "25"6278  }6279  nodeType: ConversationNodeType_Simple6280}6281roots {6282  responseText: ""6283  nextNodeIndex: 0...function-builder.js
Source:function-builder.js  
1/**2 * @desc This handles all the raw state, converted state, etc. of a single function.3 * [INTERNAL] A collection of functionNodes.4 * @class5 */6class FunctionBuilder {7  /**8   *9   * @param {Kernel} kernel10   * @param {FunctionNode} FunctionNode11   * @param {object} [extraNodeOptions]12   * @returns {FunctionBuilder}13   * @static14   */15  static fromKernel(kernel, FunctionNode, extraNodeOptions) {16    const {17      kernelArguments,18      kernelConstants,19      argumentNames,20      argumentSizes,21      argumentBitRatios,22      constants,23      constantBitRatios,24      debug,25      loopMaxIterations,26      nativeFunctions,27      output,28      optimizeFloatMemory,29      precision,30      plugins,31      source,32      subKernels,33      functions,34      leadingReturnStatement,35      followingReturnStatement,36      dynamicArguments,37      dynamicOutput,38    } = kernel;39    const argumentTypes = new Array(kernelArguments.length);40    const constantTypes = {};41    for (let i = 0; i < kernelArguments.length; i++) {42      argumentTypes[i] = kernelArguments[i].type;43    }44    for (let i = 0; i < kernelConstants.length; i++) {45      const kernelConstant = kernelConstants[i];46      constantTypes[kernelConstant.name] = kernelConstant.type;47    }48    const needsArgumentType = (functionName, index) => {49      return functionBuilder.needsArgumentType(functionName, index);50    };51    const assignArgumentType = (functionName, index, type) => {52      functionBuilder.assignArgumentType(functionName, index, type);53    };54    const lookupReturnType = (functionName, ast, requestingNode) => {55      return functionBuilder.lookupReturnType(functionName, ast, requestingNode);56    };57    const lookupFunctionArgumentTypes = (functionName) => {58      return functionBuilder.lookupFunctionArgumentTypes(functionName);59    };60    const lookupFunctionArgumentName = (functionName, argumentIndex) => {61      return functionBuilder.lookupFunctionArgumentName(functionName, argumentIndex);62    };63    const lookupFunctionArgumentBitRatio = (functionName, argumentName) => {64      return functionBuilder.lookupFunctionArgumentBitRatio(functionName, argumentName);65    };66    const triggerImplyArgumentType = (functionName, i, argumentType, requestingNode) => {67      functionBuilder.assignArgumentType(functionName, i, argumentType, requestingNode);68    };69    const triggerImplyArgumentBitRatio = (functionName, argumentName, calleeFunctionName, argumentIndex) => {70      functionBuilder.assignArgumentBitRatio(functionName, argumentName, calleeFunctionName, argumentIndex);71    };72    const onFunctionCall = (functionName, calleeFunctionName, args) => {73      functionBuilder.trackFunctionCall(functionName, calleeFunctionName, args);74    };75    const onNestedFunction = (ast, source) => {76      const argumentNames = [];77      for (let i = 0; i < ast.params.length; i++) {78        argumentNames.push(ast.params[i].name);79      }80      const nestedFunction = new FunctionNode(source, Object.assign({}, nodeOptions, {81        returnType: null,82        ast,83        name: ast.id.name,84        argumentNames,85        lookupReturnType,86        lookupFunctionArgumentTypes,87        lookupFunctionArgumentName,88        lookupFunctionArgumentBitRatio,89        needsArgumentType,90        assignArgumentType,91        triggerImplyArgumentType,92        triggerImplyArgumentBitRatio,93        onFunctionCall,94      }));95      nestedFunction.traceFunctionAST(ast);96      functionBuilder.addFunctionNode(nestedFunction);97    };98    const nodeOptions = Object.assign({99      isRootKernel: false,100      onNestedFunction,101      lookupReturnType,102      lookupFunctionArgumentTypes,103      lookupFunctionArgumentName,104      lookupFunctionArgumentBitRatio,105      needsArgumentType,106      assignArgumentType,107      triggerImplyArgumentType,108      triggerImplyArgumentBitRatio,109      onFunctionCall,110      optimizeFloatMemory,111      precision,112      constants,113      constantTypes,114      constantBitRatios,115      debug,116      loopMaxIterations,117      output,118      plugins,119      dynamicArguments,120      dynamicOutput,121    }, extraNodeOptions || {});122    const rootNodeOptions = Object.assign({}, nodeOptions, {123      isRootKernel: true,124      name: 'kernel',125      argumentNames,126      argumentTypes,127      argumentSizes,128      argumentBitRatios,129      leadingReturnStatement,130      followingReturnStatement,131    });132    if (typeof source === 'object' && source.functionNodes) {133      return new FunctionBuilder().fromJSON(source.functionNodes, FunctionNode);134    }135    const rootNode = new FunctionNode(source, rootNodeOptions);136    let functionNodes = null;137    if (functions) {138      functionNodes = functions.map((fn) => new FunctionNode(fn.source, {139        returnType: fn.returnType,140        argumentTypes: fn.argumentTypes,141        output,142        plugins,143        constants,144        constantTypes,145        constantBitRatios,146        optimizeFloatMemory,147        precision,148        lookupReturnType,149        lookupFunctionArgumentTypes,150        lookupFunctionArgumentName,151        lookupFunctionArgumentBitRatio,152        needsArgumentType,153        assignArgumentType,154        triggerImplyArgumentType,155        triggerImplyArgumentBitRatio,156        onFunctionCall,157        onNestedFunction,158      }));159    }160    let subKernelNodes = null;161    if (subKernels) {162      subKernelNodes = subKernels.map((subKernel) => {163        const { name, source } = subKernel;164        return new FunctionNode(source, Object.assign({}, nodeOptions, {165          name,166          isSubKernel: true,167          isRootKernel: false,168        }));169      });170    }171    const functionBuilder = new FunctionBuilder({172      kernel,173      rootNode,174      functionNodes,175      nativeFunctions,176      subKernelNodes177    });178    return functionBuilder;179  }180  /**181   *182   * @param {IFunctionBuilderSettings} [settings]183   */184  constructor(settings) {185    settings = settings || {};186    this.kernel = settings.kernel;187    this.rootNode = settings.rootNode;188    this.functionNodes = settings.functionNodes || [];189    this.subKernelNodes = settings.subKernelNodes || [];190    this.nativeFunctions = settings.nativeFunctions || [];191    this.functionMap = {};192    this.nativeFunctionNames = [];193    this.lookupChain = [];194    this.functionNodeDependencies = {};195    this.functionCalls = {};196    if (this.rootNode) {197      this.functionMap['kernel'] = this.rootNode;198    }199    if (this.functionNodes) {200      for (let i = 0; i < this.functionNodes.length; i++) {201        this.functionMap[this.functionNodes[i].name] = this.functionNodes[i];202      }203    }204    if (this.subKernelNodes) {205      for (let i = 0; i < this.subKernelNodes.length; i++) {206        this.functionMap[this.subKernelNodes[i].name] = this.subKernelNodes[i];207      }208    }209    if (this.nativeFunctions) {210      for (let i = 0; i < this.nativeFunctions.length; i++) {211        const nativeFunction = this.nativeFunctions[i];212        this.nativeFunctionNames.push(nativeFunction.name);213      }214    }215  }216  /**217   * @desc Add the function node directly218   *219   * @param {FunctionNode} functionNode - functionNode to add220   *221   */222  addFunctionNode(functionNode) {223    if (!functionNode.name) throw new Error('functionNode.name needs set');224    this.functionMap[functionNode.name] = functionNode;225    if (functionNode.isRootKernel) {226      this.rootNode = functionNode;227    }228  }229  /**230   * @desc Trace all the depending functions being called, from a single function231   *232   * This allow for 'unneeded' functions to be automatically optimized out.233   * Note that the 0-index, is the starting function trace.234   *235   * @param {String} functionName - Function name to trace from, default to 'kernel'236   * @param {String[]} [retList] - Returning list of function names that is traced. Including itself.237   *238   * @returns {String[]}  Returning list of function names that is traced. Including itself.239   */240  traceFunctionCalls(functionName, retList) {241    functionName = functionName || 'kernel';242    retList = retList || [];243    if (this.nativeFunctionNames.indexOf(functionName) > -1) {244      const nativeFunctionIndex = retList.indexOf(functionName);245      if (nativeFunctionIndex === -1) {246        retList.push(functionName);247      } else {248        /**249         * https://github.com/gpujs/gpu.js/issues/207250         * if dependent function is already in the list, because a function depends on it, and because it has251         * already been traced, we know that we must move the dependent function to the end of the the retList.252         * */253        const dependantNativeFunctionName = retList.splice(nativeFunctionIndex, 1)[0];254        retList.push(dependantNativeFunctionName);255      }256      return retList;257    }258    const functionNode = this.functionMap[functionName];259    if (functionNode) {260      // Check if function already exists261      const functionIndex = retList.indexOf(functionName);262      if (functionIndex === -1) {263        retList.push(functionName);264        functionNode.toString(); //ensure JS trace is done265        for (let i = 0; i < functionNode.calledFunctions.length; ++i) {266          this.traceFunctionCalls(functionNode.calledFunctions[i], retList);267        }268      } else {269        /**270         * https://github.com/gpujs/gpu.js/issues/207271         * if dependent function is already in the list, because a function depends on it, and because it has272         * already been traced, we know that we must move the dependent function to the end of the the retList.273         * */274        const dependantFunctionName = retList.splice(functionIndex, 1)[0];275        retList.push(dependantFunctionName);276      }277    }278    return retList;279  }280  /**281   * @desc Return the string for a function282   * @param {String} functionName - Function name to trace from. If null, it returns the WHOLE builder stack283   * @returns {String} The full string, of all the various functions. Trace optimized if functionName given284   */285  getPrototypeString(functionName) {286    return this.getPrototypes(functionName).join('\n');287  }288  /**289   * @desc Return the string for a function290   * @param {String} [functionName] - Function name to trace from. If null, it returns the WHOLE builder stack291   * @returns {Array} The full string, of all the various functions. Trace optimized if functionName given292   */293  getPrototypes(functionName) {294    if (this.rootNode) {295      this.rootNode.toString();296    }297    if (functionName) {298      return this.getPrototypesFromFunctionNames(this.traceFunctionCalls(functionName, []).reverse());299    }300    return this.getPrototypesFromFunctionNames(Object.keys(this.functionMap));301  }302  /**303   * @desc Get string from function names304   * @param {String[]} functionList - List of function to build string305   * @returns {String} The string, of all the various functions. Trace optimized if functionName given306   */307  getStringFromFunctionNames(functionList) {308    const ret = [];309    for (let i = 0; i < functionList.length; ++i) {310      const node = this.functionMap[functionList[i]];311      if (node) {312        ret.push(this.functionMap[functionList[i]].toString());313      }314    }315    return ret.join('\n');316  }317  /**318   * @desc Return string of all functions converted319   * @param {String[]} functionList - List of function names to build the string.320   * @returns {Array} Prototypes of all functions converted321   */322  getPrototypesFromFunctionNames(functionList) {323    const ret = [];324    for (let i = 0; i < functionList.length; ++i) {325      const functionName = functionList[i];326      const functionIndex = this.nativeFunctionNames.indexOf(functionName);327      if (functionIndex > -1) {328        ret.push(this.nativeFunctions[functionIndex].source);329        continue;330      }331      const node = this.functionMap[functionName];332      if (node) {333        ret.push(node.toString());334      }335    }336    return ret;337  }338  toJSON() {339    return this.traceFunctionCalls(this.rootNode.name).reverse().map(name => {340      const nativeIndex = this.nativeFunctions.indexOf(name);341      if (nativeIndex > -1) {342        return {343          name,344          source: this.nativeFunctions[nativeIndex].source345        };346      } else if (this.functionMap[name]) {347        return this.functionMap[name].toJSON();348      } else {349        throw new Error(`function ${ name } not found`);350      }351    });352  }353  fromJSON(jsonFunctionNodes, FunctionNode) {354    this.functionMap = {};355    for (let i = 0; i < jsonFunctionNodes.length; i++) {356      const jsonFunctionNode = jsonFunctionNodes[i];357      this.functionMap[jsonFunctionNode.settings.name] = new FunctionNode(jsonFunctionNode.ast, jsonFunctionNode.settings);358    }359    return this;360  }361  /**362   * @desc Get string for a particular function name363   * @param {String} functionName - Function name to trace from. If null, it returns the WHOLE builder stack364   * @returns {String} settings - The string, of all the various functions. Trace optimized if functionName given365   */366  getString(functionName) {367    if (functionName) {368      return this.getStringFromFunctionNames(this.traceFunctionCalls(functionName).reverse());369    }370    return this.getStringFromFunctionNames(Object.keys(this.functionMap));371  }372  lookupReturnType(functionName, ast, requestingNode) {373    if (ast.type !== 'CallExpression') {374      throw new Error(`expected ast type of "CallExpression", but is ${ ast.type }`);375    }376    if (this._isNativeFunction(functionName)) {377      return this._lookupNativeFunctionReturnType(functionName);378    } else if (this._isFunction(functionName)) {379      const node = this._getFunction(functionName);380      if (node.returnType) {381        return node.returnType;382      } else {383        for (let i = 0; i < this.lookupChain.length; i++) {384          // detect circlical logic385          if (this.lookupChain[i].ast === ast) {386            // detect if arguments have not resolved, preventing a return type387            // if so, go ahead and resolve them, so we can resolve the return type388            if (node.argumentTypes.length === 0 && ast.arguments.length > 0) {389              const args = ast.arguments;390              for (let j = 0; j < args.length; j++) {391                this.lookupChain.push({392                  name: requestingNode.name,393                  ast: args[i],394                  requestingNode395                });396                node.argumentTypes[j] = requestingNode.getType(args[j]);397                this.lookupChain.pop();398              }399              return node.returnType = node.getType(node.getJsAST());400            }401            throw new Error('circlical logic detected!');402          }403        }404        // get ready for a ride!405        this.lookupChain.push({406          name: requestingNode.name,407          ast,408          requestingNode409        });410        const type = node.getType(node.getJsAST());411        this.lookupChain.pop();412        return node.returnType = type;413      }414    }415    return null;416  }417  /**418   *419   * @param {String} functionName420   * @return {FunctionNode}421   * @private422   */423  _getFunction(functionName) {424    if (!this._isFunction(functionName)) {425      new Error(`Function ${functionName} not found`);426    }427    return this.functionMap[functionName];428  }429  _isFunction(functionName) {430    return Boolean(this.functionMap[functionName]);431  }432  _getNativeFunction(functionName) {433    for (let i = 0; i < this.nativeFunctions.length; i++) {434      if (this.nativeFunctions[i].name === functionName) return this.nativeFunctions[i];435    }436    return null;437  }438  _isNativeFunction(functionName) {439    return Boolean(this._getNativeFunction(functionName));440  }441  _lookupNativeFunctionReturnType(functionName) {442    let nativeFunction = this._getNativeFunction(functionName);443    if (nativeFunction) {444      return nativeFunction.returnType;445    }446    throw new Error(`Native function ${ functionName } not found`);447  }448  lookupFunctionArgumentTypes(functionName) {449    if (this._isNativeFunction(functionName)) {450      return this._getNativeFunction(functionName).argumentTypes;451    } else if (this._isFunction(functionName)) {452      return this._getFunction(functionName).argumentTypes;453    }454    return null;455  }456  lookupFunctionArgumentName(functionName, argumentIndex) {457    return this._getFunction(functionName).argumentNames[argumentIndex];458  }459  /**460   *461   * @param {string} functionName462   * @param {string} argumentName463   * @return {number}464   */465  lookupFunctionArgumentBitRatio(functionName, argumentName) {466    if (!this._isFunction(functionName)) {467      throw new Error('function not found');468    }469    if (this.rootNode.name === functionName) {470      const i = this.rootNode.argumentNames.indexOf(argumentName);471      if (i !== -1) {472        return this.rootNode.argumentBitRatios[i];473      }474    }475    const node = this._getFunction(functionName);476    const i = node.argumentNames.indexOf(argumentName);477    if (i === -1) {478      throw new Error('argument not found');479    }480    const bitRatio = node.argumentBitRatios[i];481    if (typeof bitRatio !== 'number') {482      throw new Error('argument bit ratio not found');483    }484    return bitRatio;485  }486  needsArgumentType(functionName, i) {487    if (!this._isFunction(functionName)) return false;488    const fnNode = this._getFunction(functionName);489    return !fnNode.argumentTypes[i];490  }491  assignArgumentType(functionName, i, argumentType, requestingNode) {492    if (!this._isFunction(functionName)) return;493    const fnNode = this._getFunction(functionName);494    if (!fnNode.argumentTypes[i]) {495      fnNode.argumentTypes[i] = argumentType;496    }497  }498  /**499   * @param {string} functionName500   * @param {string} argumentName501   * @param {string} calleeFunctionName502   * @param {number} argumentIndex503   * @return {number|null}504   */505  assignArgumentBitRatio(functionName, argumentName, calleeFunctionName, argumentIndex) {506    const node = this._getFunction(functionName);507    if (this._isNativeFunction(calleeFunctionName)) return null;508    const calleeNode = this._getFunction(calleeFunctionName);509    const i = node.argumentNames.indexOf(argumentName);510    if (i === -1) {511      throw new Error(`Argument ${argumentName} not found in arguments from function ${functionName}`);512    }513    const bitRatio = node.argumentBitRatios[i];514    if (typeof bitRatio !== 'number') {515      throw new Error(`Bit ratio for argument ${argumentName} not found in function ${functionName}`);516    }517    if (!calleeNode.argumentBitRatios) {518      calleeNode.argumentBitRatios = new Array(calleeNode.argumentNames.length);519    }520    const calleeBitRatio = calleeNode.argumentBitRatios[i];521    if (typeof calleeBitRatio === 'number') {522      if (calleeBitRatio !== bitRatio) {523        throw new Error(`Incompatible bit ratio found at function ${functionName} at argument ${argumentName}`);524      }525      return calleeBitRatio;526    }527    calleeNode.argumentBitRatios[i] = bitRatio;528    return bitRatio;529  }530  trackFunctionCall(functionName, calleeFunctionName, args) {531    if (!this.functionNodeDependencies[functionName]) {532      this.functionNodeDependencies[functionName] = new Set();533      this.functionCalls[functionName] = [];534    }535    this.functionNodeDependencies[functionName].add(calleeFunctionName);536    this.functionCalls[functionName].push(args);537  }538  getKernelResultType() {539    return this.rootNode.returnType || this.rootNode.getType(this.rootNode.ast);540  }541  getSubKernelResultType(index) {542    const subKernelNode = this.subKernelNodes[index];543    let called = false;544    for (let functionCallIndex = 0; functionCallIndex < this.rootNode.functionCalls.length; functionCallIndex++) {545      const functionCall = this.rootNode.functionCalls[functionCallIndex];546      if (functionCall.ast.callee.name === subKernelNode.name) {547        called = true;548      }549    }550    if (!called) {551      throw new Error(`SubKernel ${ subKernelNode.name } never called by kernel`);552    }553    return subKernelNode.returnType || subKernelNode.getType(subKernelNode.getJsAST());554  }555  getReturnTypes() {556    const result = {557      [this.rootNode.name]: this.rootNode.getType(this.rootNode.ast),558    };559    const list = this.traceFunctionCalls(this.rootNode.name);560    for (let i = 0; i < list.length; i++) {561      const functionName = list[i];562      const functionNode = this.functionMap[functionName];563      result[functionName] = functionNode.getType(functionNode.ast);564    }565    return result;566  }567}568module.exports = {569  FunctionBuilder...timeline-js-callstacks.js
Source:timeline-js-callstacks.js  
1// Copyright 2017 The Chromium Authors. All rights reserved.2// Use of this source code is governed by a BSD-style license that can be3// found in the LICENSE file.4(async function() {5  TestRunner.addResult(`Test JS callstacks in timeline.\n`);6  await TestRunner.loadModule('performance_test_runner');7  await TestRunner.showPanel('timeline');8  var sessionId = '6.23';9  var rawTraceEvents = [10    {11      'args': {'name': 'Renderer'},12      'cat': '__metadata',13      'name': 'process_name',14      'ph': 'M',15      'pid': 17851,16      'tid': 23,17      'ts': 018    },19    {20      'args': {'name': 'CrRendererMain'},21      'cat': '__metadata',22      'name': 'thread_name',23      'ph': 'M',24      'pid': 17851,25      'tid': 23,26      'ts': 027    },28    {29      'args': {'sessionId': sessionId},30      'cat': 'disabled-by-default-devtools.timeline',31      'name': 'TracingStartedInPage',32      'ph': 'I',33      'pid': 17851,34      'tid': 23,35      'ts': 100000,36      'tts': 60654337    },38    {39      'args': {},40      'cat': 'disabled-by-default-devtools.timeline',41      'name': 'Program',42      'ph': 'B',43      'pid': 17851,44      'tid': 23,45      'ts': 200000,46      'tts': 561244247    },48    {49      'args': {50        'data': {51          'stackTrace': [52            {'functionName': 'c', 'callUID': 'c', 'scriptId': 1}, {'functionName': 'b', 'callUID': 'b', 'scriptId': 1},53            {'functionName': 'a', 'callUID': 'a', 'scriptId': 1}54          ]55        }56      },57      'cat': 'disabled-by-default-devtools.timeline',58      'name': 'JSSample',59      'ph': 'I',60      'pid': 17851,61      'tid': 23,62      'ts': 208000,63      'tts': 175805664    },65    {66      'args': {},67      'cat': 'disabled-by-default-devtools.timeline',68      'name': 'FunctionCall',69      'ph': 'X',70      'pid': 17851,71      'tid': 23,72      'ts': 210000,73      'dur': 30000,74      'tts': 561244275    },76    {77      'args': {78        'data': {79          'stackTrace': [80            {'functionName': 'c', 'callUID': 'c', 'scriptId': 1}, {'functionName': 'b', 'callUID': 'b', 'scriptId': 1},81            {'functionName': 'a', 'callUID': 'a', 'scriptId': 1}82          ]83        }84      },85      'cat': 'disabled-by-default-devtools.timeline',86      'name': 'JSSample',87      'ph': 'I',88      'pid': 17851,89      'tid': 23,90      'ts': 211000,91      'tts': 175805692    },93    {94      'args': {'data': {'stackTrace': []}},95      'cat': 'disabled-by-default-devtools.timeline',96      'name': 'JSSample',97      'ph': 'I',98      'pid': 17851,99      'tid': 23,100      'ts': 212000,101      'tts': 1758056102    },103    {104      'args': {105        'data': {106          'stackTrace': [107            {'functionName': 'c', 'callUID': 'c', 'scriptId': 1}, {'functionName': 'b', 'callUID': 'b', 'scriptId': 1},108            {'functionName': 'a', 'callUID': 'a', 'scriptId': 1}109          ]110        }111      },112      'cat': 'disabled-by-default-devtools.timeline',113      'name': 'JSSample',114      'ph': 'I',115      'pid': 17851,116      'tid': 23,117      'ts': 219875,118      'tts': 1758056119    },120    {121      'args': {122        'frame': '0x2f7b63884000',123        'data': {124          'stackTrace': [125            {'functionName': 'b', 'callUID': 'b', 'scriptId': 1},126            {'functionName': 'a', 'callUID': 'a', 'scriptId': 1}127          ]128        }129      },130      'cat': 'disabled-by-default-devtools.timeline',131      'name': 'InvalidateLayout',132      'ph': 'X',133      'pid': 17851,134      'tid': 23,135      'ts': 220000,136      'dur': 7000,137      'tts': 1758056138    },139    {140      'args': {141        'data': {142          'stackTrace': [143            {'functionName': 'c', 'callUID': 'c', 'scriptId': 1}, {'functionName': 'b', 'callUID': 'b', 'scriptId': 1},144            {'functionName': 'a', 'callUID': 'a', 'scriptId': 1}145          ]146        }147      },148      'cat': 'disabled-by-default-devtools.timeline',149      'name': 'JSSample',150      'ph': 'I',151      'pid': 17851,152      'tid': 23,153      'ts': 220125,154      'tts': 1758056155    },156    {157      'args': {158        'frame': '0x2f7b63884000',159        'data': {160          'stackTrace': [161            {'functionName': 'b', 'callUID': 'b', 'scriptId': 1},162            {'functionName': 'a', 'callUID': 'a', 'scriptId': 1}163          ]164        }165      },166      'cat': 'disabled-by-default-devtools.timeline',167      'name': 'InvalidateLayout',168      'ph': 'X',169      'pid': 17851,170      'tid': 23,171      'ts': 221000,172      'dur': 3000,173      'tts': 1758056174    },175    {176      'args': {177        'data': {178          'stackTrace': [179            {'functionName': 'g', 'scriptId': 1}, {'functionName': 'f', 'scriptId': 1},180            {'functionName': 'b', 'scriptId': 1}, {'functionName': 'a', 'scriptId': 1}181          ]182        }183      },184      'cat': 'disabled-by-default-devtools.timeline',185      'name': 'JSSample',186      'ph': 'I',187      'pid': 17851,188      'tid': 23,189      'ts': 222000,190      'tts': 1758056191    },192    {193      'args': {194        'data': {195          'stackTrace': [196            {'functionName': 'g', 'scriptId': 1}, {'functionName': 'e', 'scriptId': 1},197            {'functionName': 'b', 'scriptId': 1}, {'functionName': 'a', 'scriptId': 1}198          ]199        }200      },201      'cat': 'disabled-by-default-devtools.timeline',202      'name': 'JSSample',203      'ph': 'I',204      'pid': 17851,205      'tid': 23,206      'ts': 227125,207      'tts': 1758056208    },209    {210      'args': {211        'data': {212          'stackTrace': [213            {'functionName': 'g', 'scriptId': 1}, {'functionName': 'e', 'scriptId': 1},214            {'functionName': 'b', 'scriptId': 1}, {'functionName': 'a', 'scriptId': 1}215          ]216        }217      },218      'cat': 'disabled-by-default-devtools.timeline',219      'name': 'JSSample',220      'ph': 'I',221      'pid': 17851,222      'tid': 23,223      'ts': 227250,224      'tts': 1758056225    },226    {227      'args': {228        'data': {229          'stackTrace': [230            {'functionName': 'a', 'callUID': 'a', 'scriptId': 1}, {'functionName': 'l', 'callUID': 'l', 'scriptId': 1},231            {'functionName': 'f', 'callUID': 'f', 'scriptId': 1}232          ]233        }234      },235      'cat': 'disabled-by-default-devtools.timeline',236      'name': 'JSSample',237      'ph': 'I',238      'pid': 17851,239      'tid': 23,240      'ts': 230000,241      'tts': 1758056242    },243    {244      'args': {245        'beginData': {246          'stackTrace': [247            {'functionName': 'a', 'callUID': 'a', 'scriptId': 1}, {'functionName': 'l', 'callUID': 'l', 'scriptId': 1},248            {'functionName': 'f', 'callUID': 'f', 'scriptId': 1},249            {'functionName': 'sin', 'callUID': 'sin', 'scriptId': 2, 'url': 'native math.js'}250          ]251        }252      },253      'cat': 'disabled-by-default-devtools.timeline',254      'name': 'Layout',255      'ph': 'X',256      'dur': 100,257      'pid': 17851,258      'tid': 23,259      'ts': 230010,260      'tts': 1758056261    },262    {263      'args': {264        'data': {265          'stackTrace': [266            {'functionName': 'a', 'callUID': 'a', 'scriptId': 1}, {'functionName': 'l', 'callUID': 'l', 'scriptId': 1},267            {'functionName': 'f', 'callUID': 'f', 'scriptId': 1},268            {'functionName': 'sin', 'callUID': 'sin', 'scriptId': 2, 'url': 'native math.js'}269          ]270        }271      },272      'cat': 'disabled-by-default-devtools.timeline',273      'name': 'JSSample',274      'ph': 'I',275      'pid': 17851,276      'tid': 23,277      'ts': 230125,278      'tts': 1758056279    },280    {281      'args': {},282      'cat': 'disabled-by-default-devtools.timeline',283      'name': 'FunctionCall',284      'ph': 'X',285      'pid': 17851,286      'tid': 23,287      'ts': 250000,288      'dur': 10000289    },290    {291      'args': {292        'data': {293          'stackTrace': [294            {'functionName': 'y', 'callUID': 'y', 'scriptId': 1},295            {'functionName': 'x', 'callUID': 'x', 'scriptId': 1}296          ]297        }298      },299      'cat': 'disabled-by-default-devtools.timeline',300      'name': 'FunctionCall',301      'ph': 'X',302      'pid': 17851,303      'tid': 23,304      'ts': 251000,305      'dur': 1000306    },307    {308      'args': {309        'data': {310          'stackTrace': [311            {'functionName': 'w', 'callUID': 'w', 'scriptId': 1}, {'functionName': 'z', 'callUID': 'z', 'scriptId': 1},312            {'functionName': 'y', 'callUID': 'y', 'scriptId': 1},313            {'functionName': 'x', 'callUID': 'x', 'scriptId': 1}314          ]315        }316      },317      'cat': 'disabled-by-default-devtools.timeline',318      'name': 'JSSample',319      'ph': 'I',320      'pid': 17851,321      'tid': 23,322      'ts': 251000,323    },324    {325      'args': {326        'data': {327          'stackTrace': [328            {'functionName': 'w', 'callUID': 'w', 'scriptId': 1}, {'functionName': 'z', 'callUID': 'z', 'scriptId': 1},329            {'functionName': 'y', 'callUID': 'y', 'scriptId': 1},330            {'functionName': 'x', 'callUID': 'x', 'scriptId': 1}331          ]332        }333      },334      'cat': 'disabled-by-default-devtools.timeline',335      'name': 'JSSample',336      'ph': 'I',337      'pid': 17851,338      'tid': 23,339      'ts': 251100,340    },341    {342      'args': {343        'data': {344          'stackTrace': [345            {'functionName': 'w', 'scriptId': 1}, {'functionName': 'y', 'callUID': 'y', 'scriptId': 1},346            {'functionName': 'x', 'callUID': 'x', 'scriptId': 1}347          ]348        }349      },350      'cat': 'disabled-by-default-devtools.timeline',351      'name': 'JSSample',352      'ph': 'I',353      'pid': 17851,354      'tid': 23,355      'ts': 251200,356    },357    {358      'args': {359        'data': {360          'stackTrace': [361            {'functionName': 'w', 'scriptId': 1}, {'functionName': 'y', 'callUID': 'y', 'scriptId': 1},362            {'functionName': 'x', 'callUID': 'x', 'scriptId': 1}363          ]364        }365      },366      'cat': 'disabled-by-default-devtools.timeline',367      'name': 'JSSample',368      'ph': 'I',369      'pid': 17851,370      'tid': 23,371      'ts': 251300,372    },373    {374      'args': {375        'data': {376          'stackTrace': [377            {'functionName': 'y', 'callUID': 'y', 'scriptId': 1},378            {'functionName': 'x', 'callUID': 'x', 'scriptId': 1}379          ]380        }381      },382      'cat': 'disabled-by-default-devtools.timeline',383      'name': 'JSSample',384      'ph': 'I',385      'pid': 17851,386      'tid': 23,387      'ts': 251400,388    },389    {390      'args': {391        'data': {392          'stackTrace': [393            {'functionName': 'recursive_b', 'scriptId': 1}, {'functionName': 'recursive_a', 'scriptId': 1},394            {'functionName': 'recursive_b', 'scriptId': 1}, {'functionName': 'recursive_a', 'scriptId': 1}395          ]396        }397      },398      'cat': 'disabled-by-default-devtools.timeline',399      'name': 'JSSample',400      'ph': 'I',401      'pid': 17851,402      'tid': 23,403      'ts': 253000,404    },405    {406      'args': {407        'data': {408          'stackTrace': [409            {'functionName': 'recursive_a', 'scriptId': 1}, {'functionName': 'recursive_b', 'scriptId': 1},410            {'functionName': 'recursive_a', 'scriptId': 1}411          ]412        }413      },414      'cat': 'disabled-by-default-devtools.timeline',415      'name': 'JSSample',416      'ph': 'I',417      'pid': 17851,418      'tid': 23,419      'ts': 253008,420    },421    {422      'args': {423        'data': {424          'stackTrace':425              [{'functionName': 'recursive_b', 'scriptId': 1}, {'functionName': 'recursive_a', 'scriptId': 1}]426        }427      },428      'cat': 'disabled-by-default-devtools.timeline',429      'name': 'JSSample',430      'ph': 'I',431      'pid': 17851,432      'tid': 23,433      'ts': 253012,434    },435    {436      'args': {'data': {'stackTrace': [{'functionName': 'recursive_a', 'scriptId': 1}]}},437      'cat': 'disabled-by-default-devtools.timeline',438      'name': 'JSSample',439      'ph': 'I',440      'pid': 17851,441      'tid': 23,442      'ts': 253014,443    },444    {445      'args': {'data': {'stackTrace': []}},446      'cat': 'disabled-by-default-devtools.timeline',447      'name': 'JSSample',448      'ph': 'I',449      'pid': 17851,450      'tid': 23,451      'ts': 253015,452    },453    {454      'args': {455        'data': {456          'stackTrace':457              [{'functionName': 'recursive_b', 'scriptId': 1}, {'functionName': 'recursive_a', 'scriptId': 1}]458        }459      },460      'cat': 'disabled-by-default-devtools.timeline',461      'name': 'JSSample',462      'ph': 'I',463      'pid': 17851,464      'tid': 23,465      'ts': 253100,466    },467    {468      'args': {'data': {'stackTrace': [{'functionName': 'recursive_a', 'scriptId': 1}]}},469      'cat': 'disabled-by-default-devtools.timeline',470      'name': 'JSSample',471      'ph': 'I',472      'pid': 17851,473      'tid': 23,474      'ts': 253200,475    },476    {477      'args': {'data': {'stackTrace': []}},478      'cat': 'disabled-by-default-devtools.timeline',479      'name': 'JSSample',480      'ph': 'I',481      'pid': 17851,482      'tid': 23,483      'ts': 253300,484    },485    {486      'args': {},487      'cat': 'disabled-by-default-devtools.timeline',488      'name': 'Program',489      'ph': 'E',490      'pid': 17851,491      'tid': 23,492      'ts': 500000,493      'tts': 5612506494    }495  ];496  var model = PerformanceTestRunner.createPerformanceModelWithEvents(rawTraceEvents);497  var events = TimelineModel.TimelineJSProfileProcessor.generateJSFrameEvents(model.timelineModel().mainThreadEvents());498  events =499      events.mergeOrdered(model.timelineModel().mainThreadEvents(), SDK.TracingModel.Event.orderedCompareStartTime);500  events501      .filter(function(e) {502        return e.duration;503      })504      .forEach(function(e) {505        TestRunner.addResult(506            e.name + ': ' + e.startTime.toFixed(3) + ' / ' + (e.duration.toFixed(3) || 0) + ' ' +507            (e.args.data && e.args.data.functionName || ''));508      });509  TestRunner.completeTest();...Using AI Code Generation
1sinon.assert.called(functionName);2sinon.assert.calledOnce(functionName);3sinon.assert.calledTwice(functionName);4sinon.assert.calledThrice(functionName);5sinon.assert.calledWith(functionName, arg1, arg2);6sinon.assert.calledWithExactly(functionName, arg1, arg2);7sinon.assert.calledWithMatch(functionName, arg1, arg2);8sinon.assert.calledOn(functionName, context);9sinon.assert.alwaysCalledOn(functionName, context);10sinon.assert.calledWithNew(functionName);11sinon.assert.neverCalledWith(functionName, arg1, arg2);12sinon.assert.neverCalledWithMatch(functionName, arg1, arg2);13sinon.assert.alwaysCalledWith(functionName, arg1, arg2);14sinon.assert.alwaysCalledWithExactly(functionName, arg1, arg2);15sinon.assert.alwaysCalledWithMatch(functionName, arg1, arg2);16sinon.assert.threw(functionName, exception);17sinon.assert.alwaysThrew(functionName, exception);18sinon.assert.callOrder(functionName, functionName);19sinon.assert.callCount(functionUsing AI Code Generation
1sinon.stub(object, 'functionName', function() {2    return 'stubbed';3});4sinon.stub(object, 'functionName').returns('stubbed');5sinon.stub(object, 'functionName').callsFake(function() {6    return 'stubbed';7});8sinon.stub(object, 'functionName').yields('stubbed');9sinon.stub(object, 'functionName').yieldsTo('stubbed');10sinon.stub(object, 'functionName').throws('stubbed');11sinon.stub(object, 'functionName').callsArg(0);12sinon.stub(object, 'functionName').callsArgWith(0, 'stubbed');13sinon.stub(object, 'functionName').callsArgOn(0, 'stubbed');14sinon.stub(object, 'functionName').callsArgOnWith(0, 'stubbed');15sinon.stub(object, 'functionName').callsArgAsync(0);16sinon.stub(object, 'functionName').callsArgOnAsync(0);17sinon.stub(object, 'functionName').callsArgOnWithAsync(0, 'stubbed');18sinon.stub(object, 'functionName').callsArgWithAsync(0, 'stubbed');19sinon.stub(object, 'functionName').callsArgAsync(0);Using AI Code Generation
1var stub = sinon.stub(obj, "functionName");2stub.withArgs(1).returns(10);3stub.withArgs(2).returns(20);4stub.withArgs(3).returns(30);5var stub = sinon.stub(obj, "functionName");6stub.withArgs(1).returns(10);7stub.withArgs(2).returns(20);8stub.withArgs(3).returns(30);9var stub = sinon.stub(obj, "functionName");10stub.withArgs(1).returns(10);11stub.withArgs(2).returns(20);12stub.withArgs(3).returns(30);13var stub = sinon.stub(obj, "functionName");14stub.withArgs(1).returns(10);15stub.withArgs(2).returns(20);16stub.withArgs(3).returns(30);17var stub = sinon.stub(obj, "functionName");18stub.withArgs(1).returns(10);19stub.withArgs(2).returns(20);20stub.withArgs(3).returns(30);21var stub = sinon.stub(obj, "functionName");22stub.withArgs(1).returns(10);23stub.withArgs(2).returns(20);24stub.withArgs(3).returns(30);25var stub = sinon.stub(obj, "functionName");26stub.withArgs(1).returns(10);27stub.withArgs(2).returns(20);28stub.withArgs(3).returns(30);29var stub = sinon.stub(obj, "functionName");30stub.withArgs(1).returns(10);31stub.withArgs(2).returns(20);32stub.withArgs(3).returns(30);33var stub = sinon.stub(obj, "functionName");34stub.withArgs(1).returns(10);35stub.withArgs(2).returns(20);36stub.withArgs(3).returns(30);37var stub = sinon.stub(obj, "functionName");38stub.withArgs(1).returns(10);39stub.withArgs(2).returns(20);40stub.withArgs(3).returns(30);Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
