Copy disabled (too large)
Download .txt
Showing preview only (22,970K chars total). Download the full file to get everything.
Repository: DarkFenX/Pyfa
Branch: master
Commit: a46ad2b81b03
Files: 751
Total size: 243.9 MB
Directory structure:
gitextract_rzw9mcuf/
├── .appveyor.yml
├── .codecov.yml
├── .gitattributes
├── .gitignore
├── .mailmap
├── CONTRIBUTING.md
├── ISSUE_TEMPLATE.md
├── LICENSE
├── README.md
├── _development/
│ ├── Pyfa_CodeStyle.xml
│ ├── Pyfa_Inspections.xml
│ ├── __init__.py
│ ├── helpers.py
│ ├── helpers_fits.py
│ ├── helpers_items.py
│ └── helpers_locale.py
├── config.py
├── crowdin.yml
├── db_update.py
├── dist_assets/
│ ├── cacert.pem
│ ├── linux/
│ │ └── AppImageBuilder.yml
│ ├── mac/
│ │ ├── pyfa.icns
│ │ └── pyfa.spec
│ └── win/
│ ├── dist.py
│ ├── pyfa-setup.iss
│ ├── pyfa.spec
│ └── version_resource.py
├── docs/
│ ├── _config.yml
│ ├── callback.html
│ └── index.md
├── eos/
│ ├── __init__.py
│ ├── calc.py
│ ├── capSim.py
│ ├── config.py
│ ├── const.py
│ ├── db/
│ │ ├── __init__.py
│ │ ├── gamedata/
│ │ │ ├── __init__.py
│ │ │ ├── alphaClones.py
│ │ │ ├── attribute.py
│ │ │ ├── category.py
│ │ │ ├── dynamicAttributes.py
│ │ │ ├── effect.py
│ │ │ ├── group.py
│ │ │ ├── implantSet.py
│ │ │ ├── item.py
│ │ │ ├── marketGroup.py
│ │ │ ├── metaData.py
│ │ │ ├── metaGroup.py
│ │ │ ├── queries.py
│ │ │ ├── traits.py
│ │ │ └── unit.py
│ │ ├── migration.py
│ │ ├── migrations/
│ │ │ ├── __init__.py
│ │ │ ├── upgrade1.py
│ │ │ ├── upgrade10.py
│ │ │ ├── upgrade11.py
│ │ │ ├── upgrade12.py
│ │ │ ├── upgrade13.py
│ │ │ ├── upgrade14.py
│ │ │ ├── upgrade15.py
│ │ │ ├── upgrade16.py
│ │ │ ├── upgrade17.py
│ │ │ ├── upgrade18.py
│ │ │ ├── upgrade19.py
│ │ │ ├── upgrade2.py
│ │ │ ├── upgrade20.py
│ │ │ ├── upgrade21.py
│ │ │ ├── upgrade22.py
│ │ │ ├── upgrade23.py
│ │ │ ├── upgrade24.py
│ │ │ ├── upgrade25.py
│ │ │ ├── upgrade26.py
│ │ │ ├── upgrade27.py
│ │ │ ├── upgrade28.py
│ │ │ ├── upgrade29.py
│ │ │ ├── upgrade3.py
│ │ │ ├── upgrade30.py
│ │ │ ├── upgrade31.py
│ │ │ ├── upgrade32.py
│ │ │ ├── upgrade33.py
│ │ │ ├── upgrade34.py
│ │ │ ├── upgrade35.py
│ │ │ ├── upgrade36.py
│ │ │ ├── upgrade37.py
│ │ │ ├── upgrade38.py
│ │ │ ├── upgrade39.py
│ │ │ ├── upgrade4.py
│ │ │ ├── upgrade40.py
│ │ │ ├── upgrade41.py
│ │ │ ├── upgrade42.py
│ │ │ ├── upgrade43.py
│ │ │ ├── upgrade44.py
│ │ │ ├── upgrade45.py
│ │ │ ├── upgrade46.py
│ │ │ ├── upgrade47.py
│ │ │ ├── upgrade48.py
│ │ │ ├── upgrade49.py
│ │ │ ├── upgrade5.py
│ │ │ ├── upgrade6.py
│ │ │ ├── upgrade7.py
│ │ │ ├── upgrade8.py
│ │ │ └── upgrade9.py
│ │ ├── saveddata/
│ │ │ ├── __init__.py
│ │ │ ├── booster.py
│ │ │ ├── cargo.py
│ │ │ ├── character.py
│ │ │ ├── damagePattern.py
│ │ │ ├── databaseRepair.py
│ │ │ ├── drone.py
│ │ │ ├── fighter.py
│ │ │ ├── fit.py
│ │ │ ├── implant.py
│ │ │ ├── implantSet.py
│ │ │ ├── miscData.py
│ │ │ ├── module.py
│ │ │ ├── mutatorDrone.py
│ │ │ ├── mutatorMod.py
│ │ │ ├── override.py
│ │ │ ├── price.py
│ │ │ ├── queries.py
│ │ │ ├── skill.py
│ │ │ ├── targetProfile.py
│ │ │ └── user.py
│ │ └── util.py
│ ├── effectHandlerHelpers.py
│ ├── effects.py
│ ├── eqBase.py
│ ├── events.py
│ ├── gamedata.py
│ ├── lgpl.txt
│ ├── modifiedAttributeDict.py
│ ├── saveddata/
│ │ ├── __init__.py
│ │ ├── booster.py
│ │ ├── boosterSideEffect.py
│ │ ├── cargo.py
│ │ ├── character.py
│ │ ├── citadel.py
│ │ ├── damagePattern.py
│ │ ├── drone.py
│ │ ├── fighter.py
│ │ ├── fighterAbility.py
│ │ ├── fit.py
│ │ ├── implant.py
│ │ ├── implantSet.py
│ │ ├── miscData.py
│ │ ├── mode.py
│ │ ├── module.py
│ │ ├── mutatedMixin.py
│ │ ├── mutator.py
│ │ ├── override.py
│ │ ├── price.py
│ │ ├── ship.py
│ │ ├── ssocharacter.py
│ │ ├── targetProfile.py
│ │ └── user.py
│ └── utils/
│ ├── __init__.py
│ ├── cycles.py
│ ├── default.py
│ ├── float.py
│ ├── pyinst_support.py
│ ├── round.py
│ ├── spoolSupport.py
│ └── stats.py
├── graphs/
│ ├── __init__.py
│ ├── calc.py
│ ├── data/
│ │ ├── __init__.py
│ │ ├── base/
│ │ │ ├── __init__.py
│ │ │ ├── cache.py
│ │ │ ├── defs.py
│ │ │ ├── getter.py
│ │ │ └── graph.py
│ │ ├── fitCapacitor/
│ │ │ ├── __init__.py
│ │ │ ├── getter.py
│ │ │ └── graph.py
│ │ ├── fitDamageStats/
│ │ │ ├── __init__.py
│ │ │ ├── cache/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── projected.py
│ │ │ │ └── time.py
│ │ │ ├── calc/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── application.py
│ │ │ │ └── projected.py
│ │ │ ├── getter.py
│ │ │ └── graph.py
│ │ ├── fitEcmBurstScanresDamps/
│ │ │ ├── __init__.py
│ │ │ ├── getter.py
│ │ │ └── graph.py
│ │ ├── fitEwarStats/
│ │ │ ├── __init__.py
│ │ │ ├── getter.py
│ │ │ └── graph.py
│ │ ├── fitLockTime/
│ │ │ ├── __init__.py
│ │ │ ├── getter.py
│ │ │ └── graph.py
│ │ ├── fitMobility/
│ │ │ ├── __init__.py
│ │ │ ├── getter.py
│ │ │ └── graph.py
│ │ ├── fitRemoteReps/
│ │ │ ├── __init__.py
│ │ │ ├── cache.py
│ │ │ ├── calc.py
│ │ │ ├── getter.py
│ │ │ └── graph.py
│ │ ├── fitShieldRegen/
│ │ │ ├── __init__.py
│ │ │ ├── getter.py
│ │ │ └── graph.py
│ │ └── fitWarpTime/
│ │ ├── __init__.py
│ │ ├── cache.py
│ │ ├── getter.py
│ │ └── graph.py
│ ├── events.py
│ ├── gui/
│ │ ├── __init__.py
│ │ ├── canvasPanel.py
│ │ ├── ctrlPanel.py
│ │ ├── frame.py
│ │ ├── lists.py
│ │ ├── stylePickers.py
│ │ └── vector.py
│ ├── style.py
│ └── wrapper.py
├── gui/
│ ├── __init__.py
│ ├── aboutData.py
│ ├── additionsPane.py
│ ├── app.py
│ ├── attribute_gauge.py
│ ├── auxWindow.py
│ ├── bitmap_loader.py
│ ├── builtinAdditionPanes/
│ │ ├── __init__.py
│ │ ├── boosterView.py
│ │ ├── cargoView.py
│ │ ├── commandView.py
│ │ ├── droneView.py
│ │ ├── fighterView.py
│ │ ├── implantView.py
│ │ ├── notesView.py
│ │ └── projectedView.py
│ ├── builtinContextMenus/
│ │ ├── __init__.py
│ │ ├── additionsExportAll.py
│ │ ├── additionsExportSelection.py
│ │ ├── additionsImport.py
│ │ ├── ammoToDmgPattern.py
│ │ ├── boosterSideEffects.py
│ │ ├── cargoAdd.py
│ │ ├── cargoAddAmmo.py
│ │ ├── cargoFill.py
│ │ ├── commandFitAdd.py
│ │ ├── damagePatternChange.py
│ │ ├── droneAddStack.py
│ │ ├── droneSplitStack.py
│ │ ├── envEffectAdd.py
│ │ ├── factorReload.py
│ │ ├── fighterAbilities.py
│ │ ├── fitAddBrowse.py
│ │ ├── fitAddCurrentlyOpen.py
│ │ ├── fitOpenNewTab.py
│ │ ├── fitPilotSecurity.py
│ │ ├── fitSystemSecurity.py
│ │ ├── graphDmgApplyProjected.py
│ │ ├── graphDmgDroneMode.py
│ │ ├── graphDmgIgnoreResists.py
│ │ ├── graphDroneControlRange.py
│ │ ├── graphFitAmmoPicker.py
│ │ ├── graphLockRange.py
│ │ ├── implantSetApply.py
│ │ ├── implantSetSave.py
│ │ ├── itemAmountChange.py
│ │ ├── itemFill.py
│ │ ├── itemMarketJump.py
│ │ ├── itemMutations.py
│ │ ├── itemProject.py
│ │ ├── itemProjectionRange.py
│ │ ├── itemRemove.py
│ │ ├── itemStats.py
│ │ ├── itemVariationChange.py
│ │ ├── moduleAmmoChange.py
│ │ ├── moduleFill.py
│ │ ├── moduleMutatedExport.py
│ │ ├── moduleRahPattern.py
│ │ ├── moduleSpool.py
│ │ ├── priceOptions.py
│ │ ├── resistMode.py
│ │ ├── shared/
│ │ │ ├── __init__.py
│ │ │ └── patterns.py
│ │ ├── shipJump.py
│ │ ├── shipModeChange.py
│ │ ├── skillAffectors.py
│ │ └── targetProfile/
│ │ ├── __init__.py
│ │ ├── adder.py
│ │ ├── editor.py
│ │ └── switcher.py
│ ├── builtinItemStatsViews/
│ │ ├── __init__.py
│ │ ├── attributeGrouping.py
│ │ ├── attributeSlider.py
│ │ ├── helpers.py
│ │ ├── itemAffectedBy.py
│ │ ├── itemAttributes.py
│ │ ├── itemCompare.py
│ │ ├── itemDependants.py
│ │ ├── itemDescription.py
│ │ ├── itemEffects.py
│ │ ├── itemMutator.py
│ │ ├── itemProperties.py
│ │ ├── itemRequirements.py
│ │ └── itemTraits.py
│ ├── builtinMarketBrowser/
│ │ ├── __init__.py
│ │ ├── events.py
│ │ ├── itemView.py
│ │ ├── marketTree.py
│ │ ├── metaButton.py
│ │ ├── pfSearchBox.py
│ │ └── searchBox.py
│ ├── builtinPreferenceViews/
│ │ ├── __init__.py
│ │ ├── dummyView.py
│ │ ├── pyfaContextMenuPreferences.py
│ │ ├── pyfaDatabasePreferences.py
│ │ ├── pyfaEnginePreferences.py
│ │ ├── pyfaEsiPreferences.py
│ │ ├── pyfaGeneralPreferences.py
│ │ ├── pyfaHTMLExportPreferences.py
│ │ ├── pyfaLoggingPreferences.py
│ │ ├── pyfaMarketPreferences.py
│ │ ├── pyfaNetworkPreferences.py
│ │ ├── pyfaStatViewPreferences.py
│ │ └── pyfaUpdatePreferences.py
│ ├── builtinShipBrowser/
│ │ ├── __init__.py
│ │ ├── categoryItem.py
│ │ ├── events.py
│ │ ├── fitItem.py
│ │ ├── navigationPanel.py
│ │ ├── pfBitmapButton.py
│ │ ├── pfBitmapFrame.py
│ │ ├── pfListPane.py
│ │ ├── pfStaticText.py
│ │ ├── pfWidgetContainer.py
│ │ ├── raceSelector.py
│ │ ├── sfBrowserItem.py
│ │ └── shipItem.py
│ ├── builtinStatsViews/
│ │ ├── __init__.py
│ │ ├── bombingViewFull.py
│ │ ├── capacitorViewFull.py
│ │ ├── firepowerViewFull.py
│ │ ├── miningyieldViewFull.py
│ │ ├── outgoingViewFull.py
│ │ ├── outgoingViewMinimal.py
│ │ ├── priceViewFull.py
│ │ ├── priceViewMinimal.py
│ │ ├── rechargeViewFull.py
│ │ ├── resistancesViewFull.py
│ │ ├── resourcesViewFull.py
│ │ └── targetingMiscViewMinimal.py
│ ├── builtinViewColumns/
│ │ ├── __init__.py
│ │ ├── abilities.py
│ │ ├── ammo.py
│ │ ├── ammoIcon.py
│ │ ├── attributeDisplay.py
│ │ ├── attributeDisplayGraph.py
│ │ ├── baseIcon.py
│ │ ├── baseName.py
│ │ ├── capacitorUse.py
│ │ ├── dampScanRes.py
│ │ ├── droneEhp.py
│ │ ├── droneRegen.py
│ │ ├── graphColor.py
│ │ ├── graphLightness.py
│ │ ├── graphLineStyle.py
│ │ ├── heat.py
│ │ ├── maxRange.py
│ │ ├── misc.py
│ │ ├── price.py
│ │ ├── projectionRange.py
│ │ ├── propertyDisplay.py
│ │ ├── sideEffects.py
│ │ ├── state.py
│ │ └── targetResists.py
│ ├── builtinViews/
│ │ ├── __init__.py
│ │ ├── emptyView.py
│ │ ├── entityEditor.py
│ │ ├── fittingView.py
│ │ └── implantEditor.py
│ ├── cachingImageList.py
│ ├── characterEditor.py
│ ├── characterSelection.py
│ ├── chrome_tabs.py
│ ├── contextMenu.py
│ ├── copySelectDialog.py
│ ├── devTools.py
│ ├── display.py
│ ├── errorDialog.py
│ ├── esiFittings.py
│ ├── fitBrowserLite.py
│ ├── fitCommands/
│ │ ├── __init__.py
│ │ ├── calc/
│ │ │ ├── __init__.py
│ │ │ ├── booster/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add.py
│ │ │ │ ├── remove.py
│ │ │ │ ├── sideEffectToggleState.py
│ │ │ │ └── toggleStates.py
│ │ │ ├── cargo/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add.py
│ │ │ │ ├── changeAmount.py
│ │ │ │ └── remove.py
│ │ │ ├── commandFit/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add.py
│ │ │ │ ├── remove.py
│ │ │ │ └── toggleStates.py
│ │ │ ├── drone/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── localAdd.py
│ │ │ │ ├── localChangeAmount.py
│ │ │ │ ├── localChangeMutation.py
│ │ │ │ ├── localRemove.py
│ │ │ │ ├── localToggleStates.py
│ │ │ │ ├── projectedAdd.py
│ │ │ │ ├── projectedChangeAmount.py
│ │ │ │ ├── projectedChangeProjectionRange.py
│ │ │ │ ├── projectedChangeState.py
│ │ │ │ └── projectedRemove.py
│ │ │ ├── fighter/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── abilityToggleStates.py
│ │ │ │ ├── changeAmount.py
│ │ │ │ ├── localAdd.py
│ │ │ │ ├── localRemove.py
│ │ │ │ ├── localToggleStates.py
│ │ │ │ ├── projectedAdd.py
│ │ │ │ ├── projectedChangeProjectionRange.py
│ │ │ │ ├── projectedChangeState.py
│ │ │ │ └── projectedRemove.py
│ │ │ ├── fitPilotSecurity.py
│ │ │ ├── fitRename.py
│ │ │ ├── fitSystemSecurity.py
│ │ │ ├── implant/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add.py
│ │ │ │ ├── changeLocation.py
│ │ │ │ ├── remove.py
│ │ │ │ └── toggleStates.py
│ │ │ ├── itemRebase.py
│ │ │ ├── module/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── changeCharges.py
│ │ │ │ ├── changeSpool.py
│ │ │ │ ├── localAdd.py
│ │ │ │ ├── localChangeMutation.py
│ │ │ │ ├── localChangeStates.py
│ │ │ │ ├── localClone.py
│ │ │ │ ├── localRemove.py
│ │ │ │ ├── localReplace.py
│ │ │ │ ├── localSwap.py
│ │ │ │ ├── projectedAdd.py
│ │ │ │ ├── projectedChangeProjectionRange.py
│ │ │ │ ├── projectedChangeStates.py
│ │ │ │ └── projectedRemove.py
│ │ │ ├── projectedFit/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add.py
│ │ │ │ ├── changeAmount.py
│ │ │ │ ├── changeProjectionRange.py
│ │ │ │ ├── changeState.py
│ │ │ │ └── remove.py
│ │ │ └── shipModeChange.py
│ │ ├── gui/
│ │ │ ├── __init__.py
│ │ │ ├── booster/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add.py
│ │ │ │ ├── changeMeta.py
│ │ │ │ ├── imprt.py
│ │ │ │ ├── remove.py
│ │ │ │ ├── sideEffectToggleState.py
│ │ │ │ └── toggleStates.py
│ │ │ ├── cargo/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add.py
│ │ │ │ ├── changeAmount.py
│ │ │ │ ├── changeMetas.py
│ │ │ │ ├── imprt.py
│ │ │ │ └── remove.py
│ │ │ ├── commandFit/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add.py
│ │ │ │ ├── remove.py
│ │ │ │ └── toggleStates.py
│ │ │ ├── fitPilotSecurity.py
│ │ │ ├── fitRename.py
│ │ │ ├── fitRestrictionToggle.py
│ │ │ ├── fitSystemSecurity.py
│ │ │ ├── implant/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add.py
│ │ │ │ ├── changeLocation.py
│ │ │ │ ├── changeMeta.py
│ │ │ │ ├── imprt.py
│ │ │ │ ├── remove.py
│ │ │ │ ├── setAdd.py
│ │ │ │ └── toggleStates.py
│ │ │ ├── itemsRebase.py
│ │ │ ├── localDrone/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add.py
│ │ │ │ ├── changeAmount.py
│ │ │ │ ├── changeMetas.py
│ │ │ │ ├── changeMutation.py
│ │ │ │ ├── clone.py
│ │ │ │ ├── imprt.py
│ │ │ │ ├── mutatedConvert.py
│ │ │ │ ├── mutatedImport.py
│ │ │ │ ├── mutatedRevert.py
│ │ │ │ ├── remove.py
│ │ │ │ ├── stackSplit.py
│ │ │ │ ├── stacksMerge.py
│ │ │ │ └── toggleStates.py
│ │ │ ├── localFighter/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── abilityToggleState.py
│ │ │ │ ├── add.py
│ │ │ │ ├── changeAmount.py
│ │ │ │ ├── changeMetas.py
│ │ │ │ ├── imprt.py
│ │ │ │ ├── remove.py
│ │ │ │ └── toggleStates.py
│ │ │ ├── localModule/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add.py
│ │ │ │ ├── changeCharges.py
│ │ │ │ ├── changeMetas.py
│ │ │ │ ├── changeMutation.py
│ │ │ │ ├── changeSpool.py
│ │ │ │ ├── changeStates.py
│ │ │ │ ├── clone.py
│ │ │ │ ├── fillAdd.py
│ │ │ │ ├── fillClone.py
│ │ │ │ ├── mutatedConvert.py
│ │ │ │ ├── mutatedImport.py
│ │ │ │ ├── mutatedRevert.py
│ │ │ │ ├── remove.py
│ │ │ │ ├── replace.py
│ │ │ │ └── swap.py
│ │ │ ├── localModuleCargo/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── cargoToLocalModule.py
│ │ │ │ └── localModuleToCargo.py
│ │ │ ├── projectedChangeProjectionRange.py
│ │ │ ├── projectedChangeStates.py
│ │ │ ├── projectedDrone/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add.py
│ │ │ │ ├── changeAmount.py
│ │ │ │ └── changeMetas.py
│ │ │ ├── projectedFighter/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── abilityToggleState.py
│ │ │ │ ├── add.py
│ │ │ │ ├── changeAmount.py
│ │ │ │ └── changeMetas.py
│ │ │ ├── projectedFit/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add.py
│ │ │ │ └── changeAmount.py
│ │ │ ├── projectedModule/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── add.py
│ │ │ │ ├── changeCharges.py
│ │ │ │ ├── changeMetas.py
│ │ │ │ └── changeSpool.py
│ │ │ ├── projectedRemove.py
│ │ │ └── shipModeChange.py
│ │ └── helpers.py
│ ├── globalEvents.py
│ ├── itemStats.py
│ ├── mainFrame.py
│ ├── mainMenuBar.py
│ ├── marketBrowser.py
│ ├── multiSwitch.py
│ ├── patternEditor.py
│ ├── preferenceDialog.py
│ ├── preferenceView.py
│ ├── propertyEditor.py
│ ├── pyfa_gauge.py
│ ├── setEditor.py
│ ├── shipBrowser.py
│ ├── ssoLogin.py
│ ├── statsPane.py
│ ├── statsView.py
│ ├── targetProfileEditor.py
│ ├── toggle_panel.py
│ ├── updateDialog.py
│ ├── utils/
│ │ ├── __init__.py
│ │ ├── anim.py
│ │ ├── anim_effects.py
│ │ ├── clipboard.py
│ │ ├── color.py
│ │ ├── dark.py
│ │ ├── draw.py
│ │ ├── exportHtml.py
│ │ ├── fonts.py
│ │ ├── gdi.py
│ │ ├── helpers_wxPython.py
│ │ ├── inputs.py
│ │ ├── listFormatter.py
│ │ ├── numberFormatter.py
│ │ ├── progressHelper.py
│ │ ├── sorter.py
│ │ └── staticHelpers.py
│ └── viewColumn.py
├── locale/
│ ├── README.md
│ ├── en_US/
│ │ └── LC_MESSAGES/
│ │ └── lang.po
│ ├── es_ES/
│ │ └── LC_MESSAGES/
│ │ └── lang.po
│ ├── fr_FR/
│ │ └── LC_MESSAGES/
│ │ └── lang.po
│ ├── it_IT/
│ │ └── LC_MESSAGES/
│ │ └── lang.po
│ ├── ja_JP/
│ │ └── LC_MESSAGES/
│ │ └── lang.po
│ ├── ko_KR/
│ │ └── LC_MESSAGES/
│ │ └── lang.po
│ ├── lang.pot
│ ├── ru_RU/
│ │ └── LC_MESSAGES/
│ │ └── lang.po
│ ├── tr_TR/
│ │ └── LC_MESSAGES/
│ │ └── lang.po
│ └── zh_CN/
│ └── LC_MESSAGES/
│ └── lang.po
├── locale_test/
│ └── getTextLocale.py
├── pyfa.py
├── pyfa.spec
├── requirements.txt
├── scripts/
│ ├── __init__.py
│ ├── compile_data.py
│ ├── compile_lang.py
│ ├── conversion.py
│ ├── dump_crowdin_progress.py
│ ├── dump_data.py
│ ├── dump_version.py
│ ├── dynamicattributes.py
│ ├── effectUsedBy.py
│ ├── findNonMarket.py
│ ├── icons_update.py
│ ├── itemDiff.py
│ ├── msgfmt.py
│ ├── osx-package.sh
│ ├── osx-setup.sh
│ ├── osx-translations.sh
│ └── renders_update.py
├── service/
│ ├── __init__.py
│ ├── ammo.py
│ ├── attribute.py
│ ├── character.py
│ ├── const.py
│ ├── conversions/
│ │ ├── __init__.py
│ │ ├── releaseApr2020.py
│ │ ├── releaseApril2016.py
│ │ ├── releaseAug2019.py
│ │ ├── releaseAug2020.py
│ │ ├── releaseAug2022.py
│ │ ├── releaseCarnyx.py
│ │ ├── releaseDec2021.py
│ │ ├── releaseDecember15.py
│ │ ├── releaseEquinox.py
│ │ ├── releaseFeb2016.py
│ │ ├── releaseFeb2018.py
│ │ ├── releaseFeb2020.py
│ │ ├── releaseFeb2023.py
│ │ ├── releaseInvasion.py
│ │ ├── releaseJan2016.py
│ │ ├── releaseJan2020.py
│ │ ├── releaseJul2020.py
│ │ ├── releaseJun2020.py
│ │ ├── releaseMar2016.py
│ │ ├── releaseMar2020.py
│ │ ├── releaseMay2020.py
│ │ ├── releaseNov2016.py
│ │ ├── releaseNov2025.py
│ │ ├── releaseOceanus.py
│ │ ├── releaseOct2020.py
│ │ ├── releaseOct2021.py
│ │ ├── releaseParallax.py
│ │ ├── releaseProteus.py
│ │ ├── releaseSep2020.py
│ │ ├── releaseSep2023.py
│ │ ├── releaseSep2024.py
│ │ ├── releaseSep2025.py
│ │ ├── releaseTiamat.py
│ │ ├── skinnedShips.py
│ │ └── trigDread.py
│ ├── crudeTests.py
│ ├── damagePattern.py
│ ├── esi.py
│ ├── esiAccess.py
│ ├── eveapi.py
│ ├── fit.py
│ ├── implantSet.py
│ ├── jargon/
│ │ ├── __init__.py
│ │ ├── defaults.yaml
│ │ ├── header.yaml
│ │ ├── jargon.py
│ │ ├── loader.py
│ │ └── resources.py
│ ├── market.py
│ ├── marketSources/
│ │ ├── __init__.py
│ │ ├── cevemarket.py
│ │ ├── evemarketdata.py
│ │ ├── evetycoon.py
│ │ └── fuzzwork.py
│ ├── network.py
│ ├── port/
│ │ ├── __init__.py
│ │ ├── dna.py
│ │ ├── efs.py
│ │ ├── eft.py
│ │ ├── esi.py
│ │ ├── multibuy.py
│ │ ├── muta.py
│ │ ├── port.py
│ │ ├── shared.py
│ │ ├── shipstats.py
│ │ └── xml.py
│ ├── precalcImplantSet.py
│ ├── prefetch.py
│ ├── prereqsCheck.py
│ ├── price.py
│ ├── pycrest/
│ │ └── eve.py
│ ├── server.py
│ ├── settings.py
│ ├── targetProfile.py
│ └── update.py
├── staticdata/
│ ├── fsd_built/
│ │ ├── categories.0.json
│ │ ├── dogmaattributes.0.json
│ │ ├── dogmaeffects.0.json
│ │ ├── dogmaunits.0.json
│ │ ├── dynamicitemattributes.0.json
│ │ ├── groups.0.json
│ │ ├── iconids.0.json
│ │ ├── marketgroups.0.json
│ │ ├── metagroups.0.json
│ │ ├── requiredskillsfortypes.0.json
│ │ ├── typedogma.0.json
│ │ ├── typedogma.1.json
│ │ ├── typedogma.2.json
│ │ ├── types.0.json
│ │ ├── types.1.json
│ │ ├── types.2.json
│ │ ├── types.3.json
│ │ ├── types.4.json
│ │ └── types.5.json
│ ├── fsd_lite/
│ │ ├── clonegrades.0.json
│ │ └── dbuffcollections.0.json
│ └── phobos/
│ ├── metadata.0.json
│ └── traits.0.json
├── tests/
│ ├── jeffy_ja-en[99].xml
│ ├── test_locale/
│ │ ├── file_dialog.py
│ │ ├── readme.md
│ │ ├── test_Pyfa/
│ │ │ ├── test_codec_english.py
│ │ │ └── testcodec
│ │ ├── test_os_walk.py
│ │ ├── test_знаф/
│ │ │ ├── test_codec_russian.py
│ │ │ └── testcodec
│ │ ├── test_פטכש/
│ │ │ ├── test_codec_hebrew.py
│ │ │ └── testcodec
│ │ └── test_测试/
│ │ ├── test_codec_chinese_simplified.py
│ │ └── testcodec
│ ├── test_modules/
│ │ ├── test_eos/
│ │ │ ├── test_gamedata.py
│ │ │ ├── test_modifiedAttributeDict.py
│ │ │ ├── test_saveddata/
│ │ │ │ ├── test_booster.py
│ │ │ │ └── test_fit_2.py
│ │ │ └── test_utils/
│ │ │ └── test_stats.py
│ │ ├── test_gui/
│ │ │ └── test_aboutData.py
│ │ └── test_service/
│ │ ├── test_attribute.py
│ │ └── test_fit.py
│ ├── test_placeholder.py
│ └── test_unread_desc.py
├── tox.ini
├── utils/
│ ├── __init__.py
│ ├── cjk.py
│ ├── deprecated.py
│ ├── repr.py
│ ├── stopwatch.py
│ ├── strfunctions.py
│ └── timer.py
└── version.yml
================================================
FILE CONTENTS
================================================
================================================
FILE: .appveyor.yml
================================================
image:
- Ubuntu2204
- Visual Studio 2022
- macos-monterey
for:
-
matrix:
only:
- image: Ubuntu2204
environment:
APPVEYOR_SSH_KEY: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDhb96UEXy8yOy/f+riX/8kKbNx/lOfIZ4pP4Cw3Gj3DmnTwEnxtRtyc+xtaxOsKbt+7+EAXFpCzYX+jHMhtd0QtWB7dbey8DBg31g0f8C5EPquqROibVbhzr/F3f6/d52FFfq6Y/CWaAvLjezvipr+zOOsIFcVusqtXdPJQ/LtUJ0LS5d4lFiw5ELHSxHIpqwGwyb7PbR3ufEFoqbr8eYiCH+vlBob72ArPfo2f3u0sMvpGYmjVVu2jj4FEY2h89sLrGyFdNWBoyumRhkb38+WSAuyPa/Y21+g+S8sRzIlkwbxicGNMtrMIi6zHEIGAgA06Sw2psP807h730PPOVaWjUcU3ojNW8hH3nPizF74pT82+iP7/fFC4PXLP+tBa+8OoHC5yiO7QKUKprMSqVa1qOm8fHbrzglplKJXfzSfUtSE+AQ+HtHhuUWKI+0LBLDrsOJwI5hbsPOAuiZ5I3VfqfAOck6SH9TcmlapVmQEypc7d7oeeUtZSOuIWKXp068= dfx@aw"
APPIMAGE_TOOL: appimage-builder-x86_64.AppImage
DEPLOY_DIR: AppDir/opt/pyfa
# APPVEYOR_SSH_BLOCK: true
cache:
- /home/appveyor/.cache/pip -> requirements.txt
# init:
# - sh: curl -sflL 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-ssh.sh' | bash -e -
install:
- sh: sudo DEBIAN_FRONTEND=noninteractive apt-get -y update --allow-releaseinfo-change
# AppImage dependencies
- sh: sudo DEBIAN_FRONTEND=noninteractive apt-get -y install libfuse2
# Preparation script dependencies
- sh: sudo DEBIAN_FRONTEND=noninteractive apt-get -y install python3-wxgtk4.0 python3-sqlalchemy python3-logbook
before_build:
# Prepare pyfa data
- sh: find locale/ -type f -name "*.po" -exec msgen "{}" -o "{}" \;
- sh: pyenv global system
- sh: python3 -B scripts/compile_lang.py
- sh: python3 -B scripts/dump_crowdin_progress.py
- sh: python3 -B db_update.py
- sh: export PYFA_VERSION="$(python3 -B scripts/dump_version.py)"
- sh: mkdir build
# Download packaging tool
- sh: curl --fail-with-body -o $APPIMAGE_TOOL -L https://github.com/AppImageCrafters/appimage-builder/releases/download/v1.1.0/appimage-builder-1.1.0-x86_64.AppImage
- sh: chmod +x $APPIMAGE_TOOL
build_script:
- sh: mkdir -p AppDir/opt/pyfa
- sh: cp -r eos graphs gui imgs locale service utils eve.db config.py pyfa.py db_update.py README.md LICENSE version.yml AppDir/opt/pyfa/
- sh: mkdir -p AppDir/usr/share/icons/hicolor/64x64/apps/
- sh: cp imgs/gui/pyfa64.png AppDir/usr/share/icons/hicolor/64x64/apps/pyfa.png
- sh: ./$APPIMAGE_TOOL --recipe dist_assets/linux/AppImageBuilder.yml
after_build:
- sh: ls -la
artifacts:
- path: pyfa-$PYFA_VERSION-linux.AppImage
deploy:
tag: $PYFA_VERSION
release: pyfa $PYFA_VERSION
description: 'Release description'
provider: GitHub
auth_token:
secure: M94o0xMtzxrvlKpqMcXU2KfbJdd3aYJ3UxWzePUz/pkT1/Ojiis052CiLsLVyzJg
draft: true
force_update: false
# deploy on tag push only
on:
APPVEYOR_REPO_TAG: true
-
matrix:
only:
- image: Visual Studio 2022
environment:
PYTHON: "C:\\Python311-x64"
# Should be enabled only for build process debugging
# init:
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
cache:
- C:\users\appveyor\appdata\local\pip\cache\ -> requirements.txt
install:
- ps: echo("OS version:")
- ps: "[System.Environment]::OSVersion.Version"
- ps: echo("Filesystem - root:")
- ps: "ls \"C:\\\""
- ps: echo("Filesystem - projects root:")
- ps: "ls \"C:\\projects\\\""
- ps: echo("Filesystem - pyfa root:")
- ps: "ls \"C:\\projects\\$env:APPVEYOR_PROJECT_SLUG\\\""
- ps: echo("Filesystem - installed SDKs:")
- ps: "ls \"C:\\Program Files (x86)\\Windows Kits\\\""
# Prepend newly installed Python to the PATH of this build (this cannot be
# done from inside the powershell script as it would require to restart
# the parent CMD process).
- cmd: "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%"
- cmd: "appveyor DownloadFile https://github.com/mlocati/gettext-iconv-windows/releases/download/v0.20.2-v1.16/gettext0.20.2-iconv1.16-shared-64.zip"
- cmd: "7z x gettext0.20.2-iconv1.16-shared-64.zip -ogettext"
- cmd: "SET PATH=gettext;%PATH%"
- cmd: "python --version"
- cmd: "python -c \"import struct; print(struct.calcsize('P') * 8)\""
# Upgrade to the latest version of pip to avoid it displaying warnings
# about it being out of date.
- cmd: "python -m pip install --upgrade pip"
# Install the build dependencies of the project. If some dependencies contain
# compiled extensions and are not provided as pre-built wheel packages,
# pip will build them from source using the MSVC compiler matching the
# target Python version and architecture
- ps: echo("Install pip requirements:")
- cmd: "python -m pip install -r requirements.txt"
- cmd: "python -m pip install PyInstaller==6.0.0"
before_build:
# directory that will contain the built files
- ps: $env:PYFA_DIST_DIR = "c:\projects\$env:APPVEYOR_PROJECT_SLUG\dist"
- ps: $env:PYFA_VERSION = (python ./scripts/dump_version.py)
- ps: echo("pyfa version $env:PYFA_VERSION")
build_script:
- ps: echo("Build pyfa:")
- ps: Get-ChildItem locale/*.po -Recurse -File| Foreach {msgen $_.fullname -o $_.fullname}
# Build language files
- cmd: "python scripts/compile_lang.py"
# Dump language progress
- cmd: "python scripts/dump_crowdin_progress.py"
# Build gamedata DB
- cmd: "python db_update.py"
# Build command for PyInstaller
- cmd: "python -m PyInstaller --clean -y pyfa.spec"
# Copy over manifest (See pyfa-org/pyfa#1622)
- ps: xcopy /y dist_assets\win\pyfa.exe.manifest $env:PYFA_DIST_DIR\pyfa\
# InnoScript EXE building. This is in a separate script because I don't feel like copying over the logic to AppVeyor script right now...
- cmd: "python dist_assets/win/dist.py"
- ps: dir $env:PYFA_DIST_DIR/
after_build:
- ps: "ls \"./\""
- ps: 7z a "pyfa-$env:PYFA_VERSION-win.zip" -r "$env:PYFA_DIST_DIR\pyfa\*"
artifacts:
- path: pyfa*-win.zip
- path: pyfa*-win.exe
deploy:
tag: $(pyfa_version)
release: pyfa $(pyfa_version)
description: 'Release description'
provider: GitHub
auth_token:
secure: M94o0xMtzxrvlKpqMcXU2KfbJdd3aYJ3UxWzePUz/pkT1/Ojiis052CiLsLVyzJg
draft: true
force_update: false
# deploy on tag push only
on:
APPVEYOR_REPO_TAG: true
-
matrix:
only:
- image: macos-monterey
environment:
APPVEYOR_SSH_KEY: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJDW/+oYNGOiPvwuwAL9tc/LQgg58aosIVpMYfepQZ20V+VZnHpZh8IRDA8Jo5xht19p2PksA+hFgqA0kpKtrSkuiWdE8rATQItfk4gf7yB0yGasJGGQZYazy9k/9XtmYkq2HHOOeEqdxvrICddJQ88MLCLT9lJENSUP/YS/yGcjZFXVxE11pTeIcqlCRU+3eYa1v7BeNvXIKNhZoK5orXWrtuH3cy8jrSns/u70aYfJ6B2jA8CnWnDbuvpeQtEY61SQqlKUsSArNa8NAsXj41wr3Ar9gAG9330w7EMTqlutk8HZO35uHI0q5qinUhaQYufPPrVkb2L/N+ZCfu0fnh appveyor"
cache:
- /Users/appveyor/Library/Caches/pip/ -> requirements.txt
init:
# - sh: curl -sflL 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-ssh.sh' | bash -e -
- sh: source ~/venv3.11/bin/activate
install:
- sh: bash scripts/osx-setup.sh
build_script:
- sh: bash scripts/osx-translations.sh
- sh: python3 scripts/compile_lang.py
- sh: python3 scripts/dump_crowdin_progress.py
- sh: python3 db_update.py
after_build:
- sh: export PYFA_VERSION="$(python3 scripts/dump_version.py)"
- sh: bash scripts/osx-package.sh
# on_finish:
# - sh: export APPVEYOR_SSH_BLOCK=true
# - sh: curl -sflL 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-ssh.sh' | bash -e -
artifacts:
- path: dist/pyfa*-mac.zip
before_deploy:
- sh: export RELEASE_PKG_FILE=$(ls *.deb)
- sh: echo "deploying $RELEASE_PKG_FILE to GitHub releases"
deploy:
tag: $PYFA_VERSION
release: pyfa $PYFA_VERSION
description: 'Release description'
provider: GitHub
auth_token:
secure: M94o0xMtzxrvlKpqMcXU2KfbJdd3aYJ3UxWzePUz/pkT1/Ojiis052CiLsLVyzJg
draft: true
force_update: false
# deploy on tag push only
on:
APPVEYOR_REPO_TAG: true
================================================
FILE: .codecov.yml
================================================
codecov:
notify:
require_ci_to_pass: yes
coverage:
precision: 2
round: down
range: "70...100"
status:
project: yes
patch: yes
changes: no
parsers:
gcov:
branch_detection:
conditional: yes
loop: yes
method: no
macro: no
comment:
layout: "header, diff"
behavior: default
require_changes: no
================================================
FILE: .gitattributes
================================================
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
# *.c text
# *.h text
# Declare files that will always have CRLF line endings on checkout.
# Source files
# ============
*.pxd text eol=crlf
*.py text eol=crlf
*.py3 text eol=crlf
*.pyw text eol=crlf
*.pyx text eol=crlf
pyfa.py text eol=lf
# Denote all files that are truly binary and should not be modified.
# Binary files
# ============
*.db binary
*.p binary
*.pkl binary
*.pyc binary
*.pyd binary
*.pyo binary
# Note: .db, .p, and .pkl files are associated
# with the python modules ``pickle``, ``dbm.*``,
# ``shelve``, ``marshal``, ``anydbm``, & ``bsddb``
# (among others).
# Denote all files that are truly binary and should not be modified.
# Image files
# ============
*.png binary
*.jpg binary
*.icns binary
*.ico binary
================================================
FILE: .gitignore
================================================
#Python specific
*.pyc
#Kwrite/Gedit/Other crapapps making backups
*~
#Patch files
*.patch
#Personal
/saveddata/
#Pyfa file
pyfaFits.html
#Temporary files
*.py__jb_tmp__
# Based on https://github.com/github/gitignore
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg
Pyfa.egg-info/
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/
# Translations
*.mo
# Django stuff:
*.log
local_settings.py
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# IPython Notebook
.ipynb_checkpoints
# pyenv
.python-version
PyfaEnv/
# celery beat schedule file
celerybeat-schedule
# dotenv
.env
# virtualenv
.venv/
venv/
ENV/
# Spyder project settings
.spyderproject
# Rope project settings
.ropeproject
# Eclipse project settings
.project
.pydevproject
.settings
# Pycharm project settings
.idea
eos.iml
gitversion
.version
/.version
*.swp
*.fsdbinary
/locale/progress.json
# vscode settings
.vscode
================================================
FILE: .mailmap
================================================
cncfanatics <diego.duclos@gmail.com> cncfanatics <cncfanatics@titanium.(none)>
blitzmann <holmes.ryan.90@gmail.com>
blitzmann <holmes.ryan.90@gmail.com> blitzmann <ryan.xgamer99@gmail.com>
blitzmann <holmes.ryan.90@gmail.com>
blitzmann <holmes.ryan.90@gmail.com> blitzman <ryan.xgamer99@gmail.com>
blitzmann <holmes.ryan.90@gmail.com> Ryan Holmes <ryan.holmes.90@gmail.com>
blitzmann <holmes.ryan.90@gmail.com>
Corollax <corollax@gmail.com> Corollax <corollax@corollax-laptop.(none)>
Corollax <corollax@gmail.com> Corollax <corollax@corollax-N76VM.(none)>
Mr. Nukealizer <mr.nukealizer@gmail.com> Mr. Nukealizer <MrNukealizer@users.noreply.github.com>
DarkPhoenix <phoenix@mail.ru>
Sakari Orisi <sakari@evefit.org>
Will Wykeham <will@wykeham.net> Will Wykeham <will.wykeham@paconsulting.com>
OISumeko <camerongrout@gmail.com> OISumeko <cameron@sporadic.co.nz>
================================================
FILE: CONTRIBUTING.md
================================================
# Contribution
## Requirements
- Python 3.11 (later versions may not work)
- Git CLI installed
- Python, pip and git are all available as command-line commands (add to the path if needed)
Virtual environment will be created in *PyfaEnv* folder. Project will be cloned and run from the *PyfaDEV* folder. Separate virtual environment will be created so required libraries won't clutter the main python installation.
> Commands and screens were created on Windows 10. Please, update all the paths according to your OS.
## Setting up the project manually
Clone the repository
```
git clone <repo> PyfaDEV
```
Create the virtual environment
```
python -m venv PyfaEnv
```
Activate the virtual environment
```
For cmd.exe: PyfaEnv\scripts\activate.bat
For PowerShell: PyfaEnv\Scripts\Activate.ps1
For bash: source <venv>/Scripts/activate
```
> For other OS check [Python documentation](https://docs.python.org/3/library/venv.html)
Install requirements for the project from *requirements.txt*
```
pip install -r PyfaDEV\requirements.txt
```
> For some Linux distributions, you may need to install separate wxPython bindings, such as `python-matplotlib-wx`
> You may need to [install a C compiler](https://mesonbuild.com/SimpleStart.html#installing-a-compiler-toolchain)
Check that the libs from *requirements.txt* are installed
```
pip list
```
Build translations and database:
```
python PyfaDEV\scripts\compile_lang.py
python PyfaDEV\db_update.py
```
Test that the project is starting properly
```
python PyfaDEV\pyfa.py
```
## Setting up the project with PyCharm/IntelliJ
Install PyCharm / Other IntelliJ product with Python plugin
After launching - select *Check out from Version Control* -> *GIt*

Login to GitHub, paste the repo URL and select the folder to which to clone the project into, press *Clone*.

After process is complete, open *File* -> *Settings* -> *Project* -> *Project Interpreter*.

Press on options and add new virtual environment.

Open project tree view and double-click on the *requirements.txt*. Press *Install requirements*. Install all requirements.

Create new *Run Configuration*. Set correct *Script path* and *Python interpreter*.

Check that the project is starting properly.
## Running tests
Switch to the proper virtual environment
```
For cmd.exe: PyfaEnv\scripts\activate.bat
For PowerShell: PyfaEnv\Scripts\Activate.ps1
For bash: source <venv>/Scripts/activate
```
Install pytest
```
pip install pytest
```
Switch to pyfa directory.
Run tests (any will do)
```
python -m pytest
py.test
```
More information on tests can be found on appropriate [Wiki page](https://github.com/pyfa-org/Pyfa/wiki/Developers:-Writing-Tests-for-Pyfa).
================================================
FILE: ISSUE_TEMPLATE.md
================================================
<!--
Submit a bug report bug report or feature request
Here you can inform pyfa developers of potential bugs or suggest features / improvements to the project. Please check
to make sure that the bug hasn't been reported or feature requested before submitting. If you have general questions
about the project and want to reach out to the developers personally, please check out out our [Slack]
(https://pyfainvite.azurewebsites.net/).
-->
## Bug Report
### Expected behavior:
### Actual behavior:
### Detailed steps to reproduce:
### Fits involved in EFT format (Edit > To Clipboard > EFT):
### Release or development git branch? Please note the release version or commit hash:
### Operating system and version (eg: Windows 10, OS X 10.9, OS X 10.11, Ubuntu 16.10):
### Other relevant information:
================================================
FILE: LICENSE
================================================
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
================================================
FILE: README.md
================================================
# pyfa
[]([https://travis-ci.org/pyfa-org/Pyfa](https://ci.appveyor.com/project/pyfa-org/pyfa))

## What is it?
Pyfa, short for **py**thon **f**itting **a**ssistant, allows you to create, experiment with, and save ship fittings without being in game. Open source and written in Python, it is available on any platform where Python 3 and wxWidgets are available, including Windows, macOS, and Linux.
## Latest Version and Changelogs
The latest version along with release notes can always be found on the project's [releases](https://github.com/pyfa-org/Pyfa/releases) page. Pyfa will notify you if you are running an outdated version.
## Installation
Windows, macOS, and Linux users are supplied self-contained builds of pyfa on the [latest releases](https://github.com/pyfa-org/Pyfa/releases/latest) page.
### Third Party Packages
Please note that these packages are maintained by third-parties and are not evaluated by the pyfa developers.
#### macOS
Apart from the official release, there is also a [Homebrew](https://formulae.brew.sh/cask/pyfa) option for installing pyfa on macOS. Simply fire up in terminal:
```
$ brew install --cask pyfa
```
#### Linux Distro-specific Packages
The following is a list of pyfa packages available for certain distributions.
* Arch: https://aur.archlinux.org/packages/pyfa/
* Gentoo: https://github.com/ZeroPointEnergy/gentoo-pyfa-overlay
## Contribution
If you wish to help with development or you need to run pyfa through a Python interpreter, check out [the instructions](https://github.com/pyfa-org/Pyfa/blob/master/CONTRIBUTING.md).
## Bug Reporting
The preferred method of reporting bugs is through the project's [GitHub Issues interface](https://github.com/pyfa-org/Pyfa/issues). Alternatively, posting a report in the [pyfa thread](https://forums.eveonline.com/t/27156) on the official EVE Online forums is acceptable. Guidelines for bug reporting can be found on [this wiki page](https://github.com/pyfa-org/Pyfa/wiki/Bug-Reporting).
## License
Pyfa is licensed under the GNU GPL v3.0, see LICENSE
## Resources
* [Development repository](https://github.com/pyfa-org/Pyfa)
* [EVE forum thread](https://forums.eveonline.com/t/27156)
* [EVE University guide using pyfa](https://wiki.eveuniversity.org/PYFA)
* [EVE Online website](http://www.eveonline.com/)
## Contacts:
* Kadesh / DarkPhoenix
* GitHub: @DarkFenX
* EVE: Kadesh Priestess
* Email: phoenix@mail.ru
* Sable Blitzmann
* GitHub: @blitzmann
* [TweetFleet Slack](https://www.fuzzwork.co.uk/tweetfleet-slack-invites/): @blitzmann
* [Gitter chat](https://gitter.im/pyfa-org/Pyfa): @blitzmann
* Email: sable.blitzmann@gmail.com
## CCP Copyright Notice
EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf. All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf. EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide. All other trademarks are the property of their respective owners. CCP hf. has granted permission to pyfa to use EVE Online and all associated logos and designs for promotional and information purposes on its website but does not endorse, and is not in any way affiliated with, pyfa. CCP is in no way responsible for the content on or functioning of this program, nor can it be liable for any damage arising from the use of this program.
================================================
FILE: _development/Pyfa_CodeStyle.xml
================================================
<code_scheme name="Pyfa">
<option name="LINE_SEPARATOR" value="
" />
<option name="RIGHT_MARGIN" value="165" />
<Python>
<option name="NEW_LINE_AFTER_COLON" value="true" />
<option name="DICT_NEW_LINE_AFTER_LEFT_BRACE" value="true" />
<option name="DICT_NEW_LINE_BEFORE_RIGHT_BRACE" value="true" />
<option name="USE_CONTINUATION_INDENT_FOR_ARGUMENTS" value="true" />
<option name="OPTIMIZE_IMPORTS_SORT_NAMES_IN_FROM_IMPORTS" value="true" />
<option name="OPTIMIZE_IMPORTS_JOIN_FROM_IMPORTS_WITH_SAME_SOURCE" value="true" />
</Python>
</code_scheme>
================================================
FILE: _development/Pyfa_Inspections.xml
================================================
<profile version="1.0">
<option name="myName" value="Pyfa" />
<inspection_tool class="IgnoreUnusedEntry" enabled="false" level="UNUSED ENTRY" enabled_by_default="false" />
<inspection_tool class="InconsistentLineSeparators" enabled="true" level="ERROR" enabled_by_default="true" />
<inspection_tool class="ProblematicWhitespace" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="PyBehaveInspection" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="PyClassicStyleClassInspection" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="PyCompatibilityInspection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ourVersions">
<value>
<list size="1">
<item index="0" class="java.lang.String" itemvalue="2.7" />
</list>
</value>
</option>
</inspection_tool>
<inspection_tool class="PyMissingTypeHintsInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoredPackages">
<value>
<list size="1">
<item index="0" class="java.lang.String" itemvalue="wxPython" />
</list>
</value>
</option>
</inspection_tool>
<inspection_tool class="PyPep8Inspection" enabled="true" level="TYPO" enabled_by_default="true">
<option name="ignoredErrors">
<list>
<option value="E203" />
<option value="E127" />
<option value="E128" />
<option value="E126" />
</list>
</option>
</inspection_tool>
<inspection_tool class="PyPep8NamingInspection" enabled="true" level="TYPO" enabled_by_default="true">
<option name="ignoredErrors">
<list>
<option value="N802" />
<option value="N806" />
<option value="N803" />
<option value="N814" />
</list>
</option>
</inspection_tool>
<inspection_tool class="PyShadowingBuiltinsInspection" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="PyShadowingNamesInspection" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="PyUnresolvedReferencesInspection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoredIdentifiers">
<list>
<option value="_" />
</list>
</option>
</inspection_tool>
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
<option name="processCode" value="true" />
<option name="processLiterals" value="true" />
<option name="processComments" value="true" />
</inspection_tool>
</profile>
================================================
FILE: _development/__init__.py
================================================
================================================
FILE: _development/helpers.py
================================================
# noinspection PyPackageRequirements
import pytest
import os
import sys
import threading
from sqlalchemy import MetaData, create_engine
from sqlalchemy.orm import sessionmaker
script_dir = os.path.dirname(os.path.abspath(__file__))
# Add root folder to python paths
sys.path.append(os.path.realpath(os.path.join(script_dir, '..', '..')))
sys._called_from_test = True
# noinspection PyUnresolvedReferences,PyUnusedLocal
@pytest.fixture
def DBInMemory_test():
def rollback():
with sd_lock:
saveddata_session.rollback()
print("Creating database in memory")
from os.path import realpath, join, dirname, abspath
debug = False
gamedataCache = True
saveddataCache = True
gamedata_version = ""
gamedata_connectionstring = 'sqlite:///' + realpath(join(dirname(abspath(str(__file__))), "..", "eve.db"))
saveddata_connectionstring = 'sqlite:///:memory:'
class ReadOnlyException(Exception):
pass
if callable(gamedata_connectionstring):
gamedata_engine = create_engine("sqlite://", creator=gamedata_connectionstring, echo=debug)
else:
gamedata_engine = create_engine(gamedata_connectionstring, echo=debug)
gamedata_meta = MetaData()
gamedata_meta.bind = gamedata_engine
gamedata_session = sessionmaker(bind=gamedata_engine, autoflush=False, expire_on_commit=False)()
# This should be moved elsewhere, maybe as an actual query. Current, without try-except, it breaks when making a new
# game db because we haven't reached gamedata_meta.create_all()
try:
gamedata_version = gamedata_session.execute(
"SELECT `field_value` FROM `metadata` WHERE `field_name` LIKE 'client_build'"
).fetchone()[0]
except (KeyboardInterrupt, SystemExit):
raise
except Exception as e:
print("Missing gamedata version.")
gamedata_version = None
if saveddata_connectionstring is not None:
if callable(saveddata_connectionstring):
saveddata_engine = create_engine(creator=saveddata_connectionstring, echo=debug)
else:
saveddata_engine = create_engine(saveddata_connectionstring, echo=debug)
saveddata_meta = MetaData()
saveddata_meta.bind = saveddata_engine
saveddata_session = sessionmaker(bind=saveddata_engine, autoflush=False, expire_on_commit=False)()
else:
saveddata_meta = None
# Lock controlling any changes introduced to session
sd_lock = threading.Lock()
# Import all the definitions for all our database stuff
# noinspection PyPep8
#from eos.db.gamedata import alphaClones, attribute, category, effect, group, icon, item, marketGroup, metaData, metaGroup, queries, traits, unit
# noinspection PyPep8
#from eos.db.saveddata import booster, cargo, character, crest, damagePattern, databaseRepair, drone, fighter, fit, implant, implantSet, miscData, module, override, price, queries, skill, targetProfile, user
# If using in memory saveddata, you'll want to reflect it so the data structure is good.
if saveddata_connectionstring == "sqlite:///:memory:":
saveddata_meta.create_all()
# Output debug info to help us troubleshoot Travis
print(saveddata_engine)
print(gamedata_engine)
helper = {
#'config': eos.config,
'gamedata_session' : gamedata_session,
'saveddata_session' : saveddata_session,
}
return helper
# noinspection PyUnresolvedReferences,PyUnusedLocal
@pytest.fixture
def DBInMemory():
print("Creating database in memory")
import eos.config
import eos
import eos.db
# Output debug info to help us troubleshoot Travis
print(eos.db.saveddata_engine)
print(eos.db.gamedata_engine)
helper = {
'config': eos.config,
'db' : eos.db,
'gamedata_session' : eos.db.gamedata_session,
'saveddata_session' : eos.db.saveddata_session,
}
return helper
@pytest.fixture
def Gamedata():
print("Building Gamedata")
from eos.gamedata import Item
helper = {
'Item': Item,
}
return helper
@pytest.fixture
def Saveddata():
print("Building Saveddata")
from eos.saveddata.ship import Ship
from eos.saveddata.fit import Fit
from eos.saveddata.character import Character
from eos.saveddata.module import Module
from eos.const import FittingModuleState
from eos.saveddata.citadel import Citadel
from eos.saveddata.booster import Booster
helper = {
'Structure': Citadel,
'Ship' : Ship,
'Fit' : Fit,
'Character': Character,
'Module' : Module,
'State' : FittingModuleState,
'Booster' : Booster,
}
return helper
================================================
FILE: _development/helpers_fits.py
================================================
import pytest
# noinspection PyPackageRequirements
# noinspection PyShadowingNames
@pytest.fixture
def RifterFit(DB, Gamedata, Saveddata):
print("Creating Rifter")
item = DB['gamedata_session'].query(Gamedata['Item']).filter(Gamedata['Item'].name == "Rifter").first()
ship = Saveddata['Ship'](item)
# setup fit
fit = Saveddata['Fit'](ship, "My Rifter Fit")
return fit
# noinspection PyShadowingNames
@pytest.fixture
def KeepstarFit(DB, Gamedata, Saveddata):
print("Creating Keepstar")
item = DB['gamedata_session'].query(Gamedata['Item']).filter(Gamedata['Item'].name == "Keepstar").first()
ship = Saveddata['Structure'](item)
# setup fit
fit = Saveddata['Fit'](ship, "Keepstar Fit")
return fit
# noinspection PyShadowingNames
@pytest.fixture
def CurseFit(DB, Gamedata, Saveddata):
print("Creating Curse - With Neuts")
item = DB['gamedata_session'].query(Gamedata['Item']).filter(Gamedata['Item'].name == "Curse").first()
ship = Saveddata['Ship'](item)
# setup fit
fit = Saveddata['Fit'](ship, "Curse - With Neuts")
mod = Saveddata['Module'](DB['db'].getItem("Medium Energy Neutralizer II"))
mod.state = Saveddata['State'].ONLINE
# Add 5 neuts
for _ in range(5):
fit.modules.append(mod)
return fit
# noinspection PyShadowingNames
@pytest.fixture
def HeronFit(DB, Gamedata, Saveddata):
print("Creating Heron - RemoteSebo")
item = DB['gamedata_session'].query(Gamedata['Item']).filter(Gamedata['Item'].name == "Heron").first()
ship = Saveddata['Ship'](item)
# setup fit
fit = Saveddata['Fit'](ship, "Heron - RemoteSebo")
mod = Saveddata['Module'](DB['db'].getItem("Remote Sensor Booster II"))
mod.state = Saveddata['State'].ONLINE
# Add 5 neuts
for _ in range(4):
fit.modules.append(mod)
return fit
================================================
FILE: _development/helpers_items.py
================================================
import pytest
# noinspection PyPackageRequirements
# noinspection PyShadowingNames
@pytest.fixture
def StrongBluePillBooster (DB, Gamedata, Saveddata):
print("Creating Strong Blue Pill Booster")
item = DB['gamedata_session'].query(Gamedata['Item']).filter(Gamedata['Item'].name == "Strong Blue Pill Booster").first()
return Saveddata['Booster'](item)
================================================
FILE: _development/helpers_locale.py
================================================
import os
# https://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx
windows_codecs = {
'cp1252', # Standard Windows
'cp1251', # Russian
'cp037',
'cp424',
'cp437',
'cp500',
'cp720',
'cp737',
'cp775',
'cp850',
'cp852',
'cp855',
'cp856',
'cp857',
'cp858',
'cp860',
'cp861',
'cp862',
'cp863',
'cp864',
'cp865',
'cp866',
'cp869',
'cp874',
'cp875',
'cp932',
'cp949',
'cp950',
'cp1006',
'cp1026',
'cp1140',
'cp1250',
'cp1253',
'cp1254',
'cp1255',
'cp1256',
'cp1257',
'cp1258',
}
linux_codecs = {
'utf_8', # Generic Linux/Mac
}
mac_codecs = [
'utf_8', # Generic Linux/Mac
'mac_cyrillic',
'mac_greek',
'mac_iceland',
'mac_latin2',
'mac_roman',
'mac_turkish',
]
universal_codecs = [
'utf_16', 'utf_32', 'utf_32_be', 'utf_32_le', 'utf_16_be', 'utf_16_le', 'utf_7', 'utf_8_sig',
]
other_codecs = [
'scii', 'big5', 'big5hkscs', 'euc_jp', 'euc_jis_2004', 'euc_jisx0213', 'euc_kr', 'gb2312', 'gbk', 'gb18030', 'hz', 'iso2022_jp', 'iso2022_jp_1',
'iso2022_jp_2', 'iso2022_jp_2004', 'iso2022_jp_3', 'iso2022_jp_ext', 'iso2022_kr', 'latin_1', 'iso8859_2', 'iso8859_3', 'iso8859_4', 'iso8859_5',
'iso8859_6', 'iso8859_7', 'iso8859_8', 'iso8859_9', 'iso8859_10', 'iso8859_11', 'iso8859_13', 'iso8859_14', 'iso8859_15', 'iso8859_16', 'johab', 'koi8_r',
'koi8_u', 'ptcp154', 'shift_jis', 'shift_jis_2004', 'shift_jisx0213'
]
system_names = {
'Windows': windows_codecs,
'Linux': linux_codecs,
'Darwin': mac_codecs,
}
def GetPath(root, file=None, codec=None):
# Replace this with the function we actually use for this
path = os.path.realpath(os.path.abspath(root))
if file:
path = os.path.join(path, file)
if codec:
path = path.decode(codec)
return path
def GetUnicodePath(root, file=None, codec=None):
# Replace this with the function we actually use for this
path = os.path.realpath(os.path.abspath(root))
if file:
path = os.path.join(path, file)
if codec:
path = str(path, codec)
else:
path = str(path)
return path
================================================
FILE: config.py
================================================
import os
import sys
import yaml
import wx
from logbook import CRITICAL, DEBUG, ERROR, FingersCrossedHandler, INFO, Logger, NestedSetup, NullHandler, \
StreamHandler, TimedRotatingFileHandler, WARNING
import hashlib
from eos.const import FittingSlot
from cryptography.fernet import Fernet
from collections import namedtuple
pyfalog = Logger(__name__)
# Load variable overrides specific to distribution type
try:
import configforced
except ImportError:
pyfalog.warning("Failed to import: configforced")
configforced = None
# Turns on debug mode
debug = False
# Defines if our saveddata will be in pyfa root or not
saveInRoot = False
evemonMinVersion = "4081"
minItemSearchLength = 3
minItemSearchLengthCjk = 1
pyfaPath = None
savePath = None
saveDB = None
gameDB = None
imgsZIP = None
logPath = None
loggingLevel = None
logging_setup = None
cipher = None
clientHash = None
experimentalFeatures = None
version = None
language = None
ApiServer = namedtuple('ApiBase', ['name', 'sso', 'esi', 'client_id', 'callback', 'supports_auto_login'])
supported_servers = {
"Tranquility": ApiServer("Tranquility", "login.eveonline.com", "esi.evetech.net", '095d8cd841ac40b581330919b49fe746', 'https://pyfa-org.github.io/Pyfa/callback', True),
# No point having SISI: https://developers.eveonline.com/blog/article/removing-datasource-singularity
# "Singularity": ApiServer("Singularity", "sisilogin.testeveonline.com", "esi.evetech.net", 'b9c3cc79448f449ab17f3aebd018842e', 'https://pyfa-org.github.io/Pyfa/callback'),
"Serenity": ApiServer("Serenity", "login.evepc.163.com", "ali-esi.evepc.163.com", 'bc90aa496a404724a93f41b4f4e97761', 'https://ali-esi.evepc.163.com/ui/oauth2-redirect.html', False)
}
SSO_LOGOFF_SERENITY='https://login.evepc.163.com/account/logoff'
ESI_CACHE = 'esi_cache'
LOGLEVEL_MAP = {
"critical": CRITICAL,
"error": ERROR,
"warning": WARNING,
"info": INFO,
"debug": DEBUG,
}
CATALOG = 'lang'
slotColourMapDark = {
FittingSlot.LOW: wx.Colour(44, 36, 19), # yellow = low slots 24/13
FittingSlot.MED: wx.Colour(28, 39, 51), # blue = mid slots 8.1/9.5
FittingSlot.HIGH: wx.Colour(53, 31, 34), # red = high slots 6.5/11.5
FittingSlot.RIG: '',
FittingSlot.SUBSYSTEM: ''}
errColorDark = wx.Colour(70, 20, 20)
slotColourMap = {
FittingSlot.LOW: wx.Colour(250, 235, 204), # yellow = low slots
FittingSlot.MED: wx.Colour(188, 215, 241), # blue = mid slots
FittingSlot.HIGH: wx.Colour(235, 204, 209), # red = high slots
FittingSlot.RIG: '',
FittingSlot.SUBSYSTEM: ''}
errColor = wx.Colour(204, 51, 51)
def getClientSecret():
return clientHash
def isFrozen():
if hasattr(sys, 'frozen'):
return True
else:
return False
def __createDirs(path):
if not os.path.exists(path):
os.makedirs(path)
def getPyfaRoot():
if hasattr(sys, '_MEIPASS'):
return sys._MEIPASS
base = getattr(sys.modules['__main__'], "__file__", sys.executable) if isFrozen() else __file__
root = os.path.dirname(os.path.realpath(os.path.abspath(base)))
root = root
return root
def getVersion():
return version
def getDefaultSave():
return os.path.expanduser(os.path.join("~", ".pyfa"))
def defPaths(customSavePath=None):
global debug
global pyfaPath
global savePath
global saveDB
global gameDB
global imgsZIP
global saveInRoot
global logPath
global cipher
global clientHash
global version
global experimentalFeatures
global language
pyfalog.debug("Configuring Pyfa")
# The main pyfa directory which contains run.py
# Python 2.X uses ANSI by default, so we need to convert the character encoding
pyfaPath = getattr(configforced, "pyfaPath", pyfaPath)
if pyfaPath is None:
pyfaPath = getPyfaRoot()
# Version data
with open(os.path.join(pyfaPath, "version.yml"), 'r') as file:
data = yaml.load(file, Loader=yaml.SafeLoader)
version = data['version']
# Where we store the saved fits etc, default is the current users home directory
if saveInRoot is True:
savePath = getattr(configforced, "savePath", None)
if savePath is None:
savePath = os.path.join(pyfaPath, "saveddata")
else:
savePath = getattr(configforced, "savePath", None)
if savePath is None:
if customSavePath is None: # customSavePath is not overriden
savePath = getDefaultSave()
else:
savePath = customSavePath
__createDirs(savePath)
secret_file = os.path.join(savePath, ".secret")
if not os.path.exists(secret_file):
with open(secret_file, "wb") as _file:
_file.write(Fernet.generate_key())
with open(secret_file, 'rb') as fp:
key = fp.read()
clientHash = hashlib.sha3_256(key).hexdigest()
cipher = Fernet(key)
# if isFrozen():
# os.environ["REQUESTS_CA_BUNDLE"] = os.path.join(pyfaPath, "cacert.pem")
# os.environ["SSL_CERT_FILE"] = os.path.join(pyfaPath, "cacert.pem")
# The database where we store all the fits etc
saveDB = os.path.join(savePath, "saveddata.db")
# The database where the static EVE data from the datadump is kept.
# This is not the standard sqlite datadump but a modified version created by eos
# maintenance script
gameDB = getattr(configforced, "gameDB", gameDB)
if not gameDB:
gameDB = os.path.join(pyfaPath, "eve.db")
imgsZIP = getattr(configforced, "imgsZIP", imgsZIP)
if not imgsZIP:
imgsZIP = os.path.join(pyfaPath, "imgs.zip")
if debug:
logFile = "pyfa_debug.log"
else:
logFile = "pyfa.log"
logPath = os.path.join(savePath, logFile)
experimentalFeatures = getattr(configforced, "experimentalFeatures", experimentalFeatures)
if experimentalFeatures is None:
experimentalFeatures = False
# DON'T MODIFY ANYTHING BELOW
import eos.config
# Caching modifiers, disable all gamedata caching, its unneeded.
eos.config.gamedataCache = False
# saveddata db location modifier, shouldn't ever need to touch this
eos.config.saveddata_connectionstring = "sqlite:///" + saveDB + "?check_same_thread=False"
eos.config.gamedata_connectionstring = "sqlite:///" + gameDB + "?check_same_thread=False"
# initialize the settings
from service.settings import EOSSettings, LocaleSettings
eos.config.settings = EOSSettings.getInstance().EOSSettings # this is kind of confusing, but whatever
# set langauge, taking the passed argument or falling back to what's saved in the settings
localeSettings = LocaleSettings.getInstance()
language = language or localeSettings.get('locale')
# sets the lang for eos, using the mapped langauge.
eos.config.set_lang(localeSettings.get_eos_locale())
def defLogging():
global debug
global logPath
global loggingLevel
global logging_setup
try:
if debug:
logging_setup = NestedSetup([
# make sure we never bubble up to the stderr handler
# if we run out of setup handling
NullHandler(),
StreamHandler(
sys.stdout,
bubble=False,
level=loggingLevel
),
TimedRotatingFileHandler(
logPath,
level=0,
backup_count=3,
bubble=True,
date_format='%Y-%m-%d',
),
])
else:
logging_setup = NestedSetup([
# make sure we never bubble up to the stderr handler
# if we run out of setup handling
NullHandler(),
FingersCrossedHandler(
TimedRotatingFileHandler(
logPath,
level=0,
backup_count=3,
bubble=False,
date_format='%Y-%m-%d',
),
action_level=ERROR,
buffer_size=1000,
# pull_information=True,
# reset=False,
)
])
except (KeyboardInterrupt, SystemExit):
raise
except:
print("Critical error attempting to setup logging. Falling back to console only.")
logging_setup = NestedSetup([
# make sure we never bubble up to the stderr handler
# if we run out of setup handling
NullHandler(),
StreamHandler(
sys.stdout,
bubble=False
)
])
class LoggerWriter:
def __init__(self, level):
# self.level is really like using log.debug(message)
# at least in my case
self.level = level
def write(self, message):
# if statement reduces the amount of newlines that are
# printed to the logger
if message.strip() != '':
self.level(message.replace("\n", ""))
def flush(self):
# create a flush method so things can be flushed when
# the system wants to. Not sure if simply 'printing'
# sys.stderr is the correct way to do it, but it seemed
# to work properly for me.
self.level(sys.stderr)
================================================
FILE: crowdin.yml
================================================
files:
- source: /locale/*.pot
translation: /locale/%locale_with_underscore%/LC_MESSAGES/lang.po
================================================
FILE: db_update.py
================================================
#!/usr/bin/env python3
#======================================================================
# Copyright (C) 2012 Diego Duclos
#
# This file is part of eos.
#
# eos is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation, either version 3 of
# the License, or (at your option) any later version.
#
# eos is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with eos. If not, see <http://www.gnu.org/licenses/>.
#======================================================================
import functools
import itertools
import json
import os
import re
import sqlite3
import sys
import sqlalchemy.orm
from sqlalchemy import or_, and_
# todo: need to set the EOS language to en, becasuse this assumes it's being run within an English context
# Need to know what that would do if called from pyfa
ROOT_DIR = os.path.realpath(os.path.dirname(__file__))
DB_PATH = os.path.join(ROOT_DIR, 'eve.db')
JSON_DIR = os.path.join(ROOT_DIR, 'staticdata')
if ROOT_DIR not in sys.path:
sys.path.insert(0, ROOT_DIR)
GAMEDATA_SCHEMA_VERSION = 4
def db_needs_update():
"""True if needs, false if it does not, none if we cannot check it."""
try:
with open(os.path.join(JSON_DIR, 'phobos', 'metadata.0.json')) as f:
data_version = next((r['field_value'] for r in json.load(f) if r['field_name'] == 'client_build'))
except (KeyboardInterrupt, SystemExit):
raise
# If we have no source data - return None; should not update in this case
except:
return None
if not os.path.isfile(DB_PATH):
print('Gamedata DB not found')
return True
db_data_version = None
db_schema_version = None
try:
db = sqlite3.connect(DB_PATH)
cursor = db.cursor()
cursor.execute('SELECT field_value FROM metadata WHERE field_name = \'client_build\'')
for row in cursor:
db_data_version = int(row[0])
cursor.execute('SELECT field_value FROM metadata WHERE field_name = \'schema_version\'')
for row in cursor:
db_schema_version = int(row[0])
cursor.close()
db.close()
except (KeyboardInterrupt, SystemExit):
raise
except:
print('Error when fetching gamedata DB metadata')
return True
if data_version != db_data_version:
print('Gamedata DB data version mismatch: needed {}, DB has {}'.format(data_version, db_data_version))
return True
if GAMEDATA_SCHEMA_VERSION != db_schema_version:
print('Gamedata DB schema version mismatch: needed {}, DB has {}'.format(GAMEDATA_SCHEMA_VERSION, db_schema_version))
return True
return False
def update_db():
print('Building gamedata DB...')
if os.path.isfile(DB_PATH):
os.remove(DB_PATH)
import eos.db
import eos.gamedata
import eos.config
# Create the database tables
eos.db.gamedata_meta.create_all()
def _readData(minerName, jsonName, keyIdName=None):
compiled_data = None
for i in itertools.count(0):
try:
with open(os.path.join(JSON_DIR, minerName, '{}.{}.json'.format(jsonName, i)), encoding='utf-8') as f:
rawData = json.load(f)
if i == 0:
compiled_data = {} if type(rawData) == dict else []
if type(rawData) == dict:
compiled_data.update(rawData)
else:
compiled_data.extend(rawData)
except FileNotFoundError:
break
if not keyIdName:
return compiled_data
# IDs in keys, rows in values
data = []
for k, v in compiled_data.items():
row = {}
row.update(v)
row[keyIdName] = int(k)
data.append(row)
return data
def _addRows(data, cls, fieldMap=None):
if fieldMap is None:
fieldMap = {}
for row in data:
instance = cls()
for k, v in row.items():
if isinstance(v, str):
v = v.strip()
setattr(instance, fieldMap.get(k, k), v)
eos.db.gamedata_session.add(instance)
def processEveTypes():
print('processing evetypes')
data = _readData('fsd_built', 'types', keyIdName='typeID')
for row in data:
if (
# Apparently people really want Civilian modules available
(row['typeName_en-us'].startswith('Civilian') and "Shuttle" not in row['typeName_en-us'])
or row['typeName_en-us'] == 'Capsule'
or row['groupID'] == 4033 # destructible effect beacons
or row['typeID'] == 82941 # Metenox service
or row['typeID'] in (87164, 87177) # Trig buff carriers
or re.match(r'AIR .+Booster.*', row['typeName_en-us'])
):
row['published'] = True
# Nearly useless and clutter search results too much
elif (
row['typeName_en-us'].startswith('Limited Synth ')
or row['typeName_en-us'].startswith('Expired ')
or re.match(r'Grand Prix .*Booster', row['typeName_en-us'])
or re.match(r'Mining Blitz .+ Booster Dose .+', row['typeName_en-us'])
or row['typeName_en-us'].endswith(' Filament') and (
"'Needlejack'" not in row['typeName_en-us'] and
"'Devana'" not in row['typeName_en-us'] and
"'Pochven'" not in row['typeName_en-us'] and
"'Extraction'" not in row['typeName_en-us'] and
"'Krai Veles'" not in row['typeName_en-us'] and
"'Krai Perun'" not in row['typeName_en-us'] and
"'Krai Svarog'" not in row['typeName_en-us']
)
):
row['published'] = False
newData = []
for row in data:
if (
row['published'] or
# group Ship Modifiers, for items like tactical t3 ship modes
row['groupID'] == 1306 or
# Micro Bombs (Fighters)
row['typeID'] in (41549, 41548, 41551, 41550) or
# Abyssal weather (environment)
row['groupID'] in (
1882,
1975,
1971,
1983) # the "container" for the abyssal environments
):
newData.append(row)
map = {'typeName_en-us': 'typeName', 'description_en-us': '_description'}
map.update({'description'+v: '_description'+v for (k, v) in eos.config.translation_mapping.items() if k != 'en'})
_addRows(newData, eos.gamedata.Item, fieldMap=map)
return newData
def processEveGroups():
print('processing evegroups')
data = _readData('fsd_built', 'groups', keyIdName='groupID')
map = {'groupName_en-us': 'name'}
map.update({'groupName'+v: 'name'+v for (k, v) in eos.config.translation_mapping.items() if k != 'en'})
_addRows(data, eos.gamedata.Group, fieldMap=map)
return data
def processEveCategories():
print('processing evecategories')
data = _readData('fsd_built', 'categories', keyIdName='categoryID')
map = { 'categoryName_en-us': 'name' }
map.update({'categoryName'+v: 'name'+v for (k, v) in eos.config.translation_mapping.items() if k != 'en'})
_addRows(data, eos.gamedata.Category, fieldMap=map)
def processDogmaAttributes():
print('processing dogmaattributes')
data = _readData('fsd_built', 'dogmaattributes', keyIdName='attributeID')
map = {
'displayName_en-us': 'displayName',
# 'tooltipDescription_en-us': 'tooltipDescription'
}
_addRows(data, eos.gamedata.AttributeInfo, fieldMap=map)
def processDogmaTypeAttributes(eveTypesData):
print('processing dogmatypeattributes')
data = _readData('fsd_built', 'typedogma', keyIdName='typeID')
eveTypeIds = set(r['typeID'] for r in eveTypesData)
newData = []
seenKeys = set()
def checkKey(key):
if key in seenKeys:
return False
seenKeys.add(key)
return True
for typeData in data:
if typeData['typeID'] not in eveTypeIds:
continue
for row in typeData.get('dogmaAttributes', ()):
row['typeID'] = typeData['typeID']
if checkKey((row['typeID'], row['attributeID'])):
newData.append(row)
for row in eveTypesData:
for attrId, attrName in {4: 'mass', 38: 'capacity', 161: 'volume', 162: 'radius'}.items():
if attrName in row and checkKey((row['typeID'], attrId)):
newData.append({'typeID': row['typeID'], 'attributeID': attrId, 'value': row[attrName]})
_addRows(newData, eos.gamedata.Attribute)
return newData
def processDynamicItemAttributes():
print('processing dynamicitemattributes')
data = _readData('fsd_built', 'dynamicitemattributes')
for mutaID, mutaData in data.items():
muta = eos.gamedata.DynamicItem()
muta.typeID = mutaID
muta.resultingTypeID = mutaData['inputOutputMapping'][0]['resultingType']
eos.db.gamedata_session.add(muta)
for x in mutaData['inputOutputMapping'][0]['applicableTypes']:
item = eos.gamedata.DynamicItemItem()
item.typeID = mutaID
item.applicableTypeID = x
eos.db.gamedata_session.add(item)
for attrID, attrData in mutaData['attributeIDs'].items():
attr = eos.gamedata.DynamicItemAttribute()
attr.typeID = mutaID
attr.attributeID = attrID
attr.min = attrData['min']
attr.max = attrData['max']
eos.db.gamedata_session.add(attr)
def processDogmaEffects():
print('processing dogmaeffects')
data = _readData('fsd_built', 'dogmaeffects', keyIdName='effectID')
_addRows(data, eos.gamedata.Effect, fieldMap={'resistanceAttributeID': 'resistanceID'})
def processDogmaTypeEffects(eveTypesData):
print('processing dogmatypeeffects')
data = _readData('fsd_built', 'typedogma', keyIdName='typeID')
eveTypeIds = set(r['typeID'] for r in eveTypesData)
newData = []
for typeData in data:
if typeData['typeID'] not in eveTypeIds:
continue
for row in typeData.get('dogmaEffects', ()):
row['typeID'] = typeData['typeID']
newData.append(row)
_addRows(newData, eos.gamedata.ItemEffect)
return newData
def processDogmaUnits():
print('processing dogmaunits')
data = _readData('fsd_built', 'dogmaunits', keyIdName='unitID')
_addRows(data, eos.gamedata.Unit, fieldMap={
'name': 'unitName',
'displayName_en-us': 'displayName'
})
def processMarketGroups():
print('processing marketgroups')
data = _readData('fsd_built', 'marketgroups', keyIdName='marketGroupID')
map = {
'name_en-us': 'marketGroupName',
'description_en-us': '_description',
}
map.update({'name'+v: 'marketGroupName'+v for (k, v) in eos.config.translation_mapping.items() if k != 'en'})
map.update({'description' + v: '_description' + v for (k, v) in eos.config.translation_mapping.items() if k != 'en'})
_addRows(data, eos.gamedata.MarketGroup, fieldMap=map)
def processMetaGroups():
print('processing metagroups')
data = _readData('fsd_built', 'metagroups', keyIdName='metaGroupID')
map = {'name_en-us': 'metaGroupName'}
map.update({'name' + v: 'metaGroupName' + v for (k, v) in eos.config.translation_mapping.items() if k != 'en'})
_addRows(data, eos.gamedata.MetaGroup, fieldMap=map)
def processCloneGrades():
print('processing clonegrades')
data = _readData('fsd_lite', 'clonegrades')
newData = []
# December, 2017 - CCP decided to use only one set of skill levels for alpha clones. However, this is still
# represented in the data as a skillset per race. To ensure that all skills are the same, we store them in a way
# that we can check to make sure all races have the same skills, as well as skill levels
check = {}
for ID in data:
for skill in data[ID]['skills']:
newData.append({
'alphaCloneID': int(ID),
'alphaCloneName': 'Alpha Clone',
'typeID': skill['typeID'],
'level': skill['level']})
if ID not in check:
check[ID] = {}
check[ID][int(skill['typeID'])] = int(skill['level'])
if not functools.reduce(lambda a, b: a if a == b else False, [v for _, v in check.items()]):
raise Exception('Alpha Clones not all equal')
newData = [x for x in newData if x['alphaCloneID'] == 1]
if len(newData) == 0:
raise Exception('Alpha Clone processing failed')
tmp = []
for row in newData:
if row['alphaCloneID'] not in tmp:
cloneParent = eos.gamedata.AlphaClone()
setattr(cloneParent, 'alphaCloneID', row['alphaCloneID'])
setattr(cloneParent, 'alphaCloneName', row['alphaCloneName'])
eos.db.gamedata_session.add(cloneParent)
tmp.append(row['alphaCloneID'])
_addRows(newData, eos.gamedata.AlphaCloneSkill)
def processTraits():
print('processing traits')
data = _readData('phobos', 'traits')
def convertSection(sectionData):
sectionLines = []
headerText = '<b>{}</b>'.format(sectionData['header'])
sectionLines.append(headerText)
for bonusData in sectionData['bonuses']:
prefix = '{} '.format(bonusData['number']) if 'number' in bonusData else ''
bonusText = '{}{}'.format(prefix, bonusData['text'].replace('\u00B7', '\u2022 '))
sectionLines.append(bonusText)
sectionLine = '<br />\n'.join(sectionLines)
return sectionLine
newData = []
for row in data:
try:
newRow = {
'typeID': row['typeID'],
}
for (k, v) in eos.config.translation_mapping.items():
if v == '':
v = '_en-us'
typeLines = []
traitData = row['traits{}'.format(v)]
for skillData in sorted(traitData.get('skills', ()), key=lambda i: i['header']):
typeLines.append(convertSection(skillData))
if 'role' in traitData:
typeLines.append(convertSection(traitData['role']))
if 'misc' in traitData:
typeLines.append(convertSection(traitData['misc']))
traitLine = '<br />\n<br />\n'.join(typeLines)
newRow['traitText{}'.format(v)] = traitLine
newData.append(newRow)
except:
pass
_addRows(newData, eos.gamedata.Traits, fieldMap={'traitText_en-us': 'traitText'})
def processMetadata():
print('processing metadata')
data = _readData('phobos', 'metadata')
_addRows(data, eos.gamedata.MetaData)
def processReqSkills(eveTypesData):
print('processing requiredskillsfortypes')
def composeReqSkills(raw):
reqSkills = {}
for skillTypeID, skillLevel in raw.items():
reqSkills[int(skillTypeID)] = skillLevel
return reqSkills
eveTypeIds = set(r['typeID'] for r in eveTypesData)
data = _readData('fsd_built', 'requiredskillsfortypes')
reqsByItem = {}
itemsByReq = {}
for typeID, skillreqData in data.items():
typeID = int(typeID)
if typeID not in eveTypeIds:
continue
for skillTypeID, skillLevel in composeReqSkills(skillreqData).items():
reqsByItem.setdefault(typeID, {})[skillTypeID] = skillLevel
itemsByReq.setdefault(skillTypeID, {})[typeID] = skillLevel
for item in eos.db.gamedata_session.query(eos.gamedata.Item).all():
if item.typeID in reqsByItem:
item.reqskills = json.dumps(reqsByItem[item.typeID])
if item.typeID in itemsByReq:
item.requiredfor = json.dumps(itemsByReq[item.typeID])
def processReplacements(eveTypesData, eveGroupsData, dogmaTypeAttributesData, dogmaTypeEffectsData):
print('finding item replacements')
def compareAttrs(attrs1, attrs2):
# Consider items as different if they have no attrs
if len(attrs1) == 0 and len(attrs2) == 0:
return False
if set(attrs1) != set(attrs2):
return False
if all(attrs1[aid] == attrs2[aid] for aid in attrs1):
return True
return False
skillReqAttribs = {
182: 277,
183: 278,
184: 279,
1285: 1286,
1289: 1287,
1290: 1288}
skillReqAttribsFlat = set(skillReqAttribs.keys()).union(skillReqAttribs.values())
# Get data on type groups
# Format: {type ID: group ID}
typesGroups = {}
for row in eveTypesData:
typesGroups[row['typeID']] = row['groupID']
# Get data on item effects
# Format: {type ID: set(effect, IDs)}
typesEffects = {}
for row in dogmaTypeEffectsData:
typesEffects.setdefault(row['typeID'], set()).add(row['effectID'])
# Get data on type attributes
# Format: {type ID: {attribute ID: attribute value}}
typesNormalAttribs = {}
typesSkillAttribs = {}
for row in dogmaTypeAttributesData:
attributeID = row['attributeID']
if attributeID in skillReqAttribsFlat:
typeSkillAttribs = typesSkillAttribs.setdefault(row['typeID'], {})
typeSkillAttribs[row['attributeID']] = row['value']
# Ignore these attributes for comparison purposes
elif attributeID in (
# We do not need mass as it affects final ship stats only when carried by ship itself
# (and we're not going to replace ships), but it's wildly inconsistent for other items,
# which otherwise would be the same
4, # mass
124, # mainColor
162, # radius
422, # techLevel
633, # metaLevel
1692, # metaGroupID
1768 # typeColorScheme
):
continue
else:
typeNormalAttribs = typesNormalAttribs.setdefault(row['typeID'], {})
typeNormalAttribs[row['attributeID']] = row['value']
# Get data on skill requirements
# Format: {type ID: {skill type ID: skill level}}
typesSkillReqs = {}
for typeID, typeAttribs in typesSkillAttribs.items():
typeSkillAttribs = typesSkillAttribs.get(typeID, {})
if not typeSkillAttribs:
continue
typeSkillReqs = typesSkillReqs.setdefault(typeID, {})
for skillreqTypeAttr, skillreqLevelAttr in skillReqAttribs.items():
try:
skillType = int(typeSkillAttribs[skillreqTypeAttr])
skillLevel = int(typeSkillAttribs[skillreqLevelAttr])
except (KeyError, ValueError):
continue
typeSkillReqs[skillType] = skillLevel
# Format: {group ID: category ID}
groupCategories = {}
for row in eveGroupsData:
groupCategories[row['groupID']] = row['categoryID']
# As EVE affects various types mostly depending on their group or skill requirements,
# we're going to group various types up this way
# Format: {(group ID, frozenset(skillreq, type, IDs), frozenset(type, effect, IDs): [type ID, {attribute ID: attribute value}]}
groupedData = {}
for row in eveTypesData:
typeID = row['typeID']
# Ignore items outside of categories we need
if groupCategories[typesGroups[typeID]] not in (
6, # Ship
7, # Module
8, # Charge
18, # Drone
20, # Implant
22, # Deployable
23, # Starbase
32, # Subsystem
35, # Decryptors
65, # Structure
66, # Structure Module
87, # Fighter
):
continue
typeAttribs = typesNormalAttribs.get(typeID, {})
# Ignore items w/o attributes
if not typeAttribs:
continue
# We need only skill types, not levels for keys
typeSkillreqs = frozenset(typesSkillReqs.get(typeID, {}))
typeGroup = typesGroups[typeID]
typeEffects = frozenset(typesEffects.get(typeID, ()))
groupData = groupedData.setdefault((typeGroup, typeSkillreqs, typeEffects), [])
groupData.append((typeID, typeAttribs))
# Format: {type ID: set(type IDs)}
replacements = {}
# Now, go through composed groups and for every item within it
# find items which are the same
for groupData in groupedData.values():
for type1, type2 in itertools.combinations(groupData, 2):
if compareAttrs(type1[1], type2[1]):
replacements.setdefault(type1[0], set()).add(type2[0])
replacements.setdefault(type2[0], set()).add(type1[0])
# Update DB session with data we generated
for item in eos.db.gamedata_session.query(eos.gamedata.Item).all():
itemReplacements = replacements.get(item.typeID)
if itemReplacements is not None:
item.replacements = ','.join('{}'.format(tid) for tid in sorted(itemReplacements))
def processImplantSets(eveTypesData):
print('composing implant sets')
# Includes only implants which can be considered part of sets, not all implants
implant_groups = (300, 1730)
specials = {'Genolution': ('Genolution Core Augmentation', r'CA-\d+')}
implantSets = {}
for row in eveTypesData:
if not row.get('published'):
continue
if row.get('groupID') not in implant_groups:
continue
typeName = row.get('typeName_en-us', '')
# Regular sets matching
m = re.match(r'(?P<grade>(High|Mid|Low)-grade) (?P<set>\w+) (?P<implant>(Alpha|Beta|Gamma|Delta|Epsilon|Omega))', typeName, re.IGNORECASE)
if m:
implantSets.setdefault((m.group('grade'), m.group('set')), set()).add(row['typeID'])
# Special set matching
for setHandle, (setName, implantPattern) in specials.items():
pattern = '(?P<set>{}) (?P<implant>{})'.format(setName, implantPattern)
m = re.match(pattern, typeName)
if m:
implantSets.setdefault((None, setHandle), set()).add(row['typeID'])
break
data = []
for (gradeName, setName), implants in implantSets.items():
if len(implants) < 2:
continue
implants = ','.join('{}'.format(tid) for tid in sorted(implants))
row = {'setName': setName, 'gradeName': gradeName, 'implants': implants}
data.append(row)
_addRows(data, eos.gamedata.ImplantSet)
eveTypesData = processEveTypes()
eveGroupsData = processEveGroups()
processEveCategories()
processDogmaAttributes()
dogmaTypeAttributesData = processDogmaTypeAttributes(eveTypesData)
processDynamicItemAttributes()
processDogmaEffects()
dogmaTypeEffectsData = processDogmaTypeEffects(eveTypesData)
processDogmaUnits()
processMarketGroups()
processMetaGroups()
processCloneGrades()
processTraits()
processMetadata()
eos.db.gamedata_session.flush()
processReqSkills(eveTypesData)
processReplacements(eveTypesData, eveGroupsData, dogmaTypeAttributesData, dogmaTypeEffectsData)
processImplantSets(eveTypesData)
# Add schema version to prevent further updates
metadata_schema_version = eos.gamedata.MetaData()
metadata_schema_version.field_name = 'schema_version'
metadata_schema_version.field_value = GAMEDATA_SCHEMA_VERSION
eos.db.gamedata_session.add(metadata_schema_version)
eos.db.gamedata_session.flush()
# CCP still has 5 subsystems assigned to T3Cs, even though only 4 are available / usable. They probably have some
# old legacy requirement or assumption that makes it difficult for them to change this value in the data. But for
# pyfa, we can do it here as a post-processing step
for attr in eos.db.gamedata_session.query(eos.gamedata.Attribute).filter(eos.gamedata.Attribute.ID == 1367).all():
attr.value = 4.0
for item in eos.db.gamedata_session.query(eos.gamedata.Item).filter(or_(
eos.gamedata.Item.name.like('%abyssal%'),
eos.gamedata.Item.name.like('%mutated%'),
eos.gamedata.Item.name.like('%_PLACEHOLDER%'),
# Drifter weapons are published for some reason
eos.gamedata.Item.name.in_(('Lux Kontos', 'Lux Xiphos', 'Lux Ballistra', 'Lux Kopis'))
)).all():
if 'Asteroid Mining Crystal' in item.name:
continue
if 'Mutated Drone Specialization' in item.name:
continue
item.published = False
for x in [
30 # Apparel
]:
cat = eos.db.gamedata_session.query(eos.gamedata.Category).filter(eos.gamedata.Category.ID == x).first()
print ('Removing Category: {}'.format(cat.name))
eos.db.gamedata_session.delete(cat)
# Unused normally, can be useful for customizing items
def _copyItem(srcName, tgtTypeID, tgtName):
eveType = eos.db.gamedata_session.query(eos.gamedata.Item).filter(eos.gamedata.Item.name == srcName).one()
eos.db.gamedata_session.expunge(eveType)
sqlalchemy.orm.make_transient(eveType)
eveType.ID = tgtTypeID
for suffix in eos.config.translation_mapping.values():
setattr(eveType, f'typeName{suffix}', tgtName)
eos.db.gamedata_session.add(eveType)
eos.db.gamedata_session.flush()
def _hardcodeAttribs(typeID, attrMap):
for attrName, value in attrMap.items():
try:
attr = eos.db.gamedata_session.query(eos.gamedata.Attribute).filter(and_(
eos.gamedata.Attribute.name == attrName, eos.gamedata.Attribute.typeID == typeID)).one()
except sqlalchemy.orm.exc.NoResultFound:
attrInfo = eos.db.gamedata_session.query(eos.gamedata.AttributeInfo).filter(eos.gamedata.AttributeInfo.name == attrName).one()
attr = eos.gamedata.Attribute()
attr.attributeID = attrInfo.ID
attr.typeID = typeID
attr.value = value
eos.db.gamedata_session.add(attr)
else:
attr.value = value
def _hardcodeEffects(typeID, effectMap, clearEffects=True):
item = eos.db.gamedata_session.query(eos.gamedata.Item).filter(eos.gamedata.Item.ID == typeID).one()
if clearEffects:
item.effects.clear()
for effectID, effectName in effectMap.items():
try:
effect = eos.db.gamedata_session.query(eos.gamedata.Effect).filter(eos.gamedata.Effect.ID == effectID).one()
except sqlalchemy.orm.exc.NoResultFound:
effect = eos.gamedata.Effect()
effect.effectID = effectID
effect.effectName = effectName
item.effects[effectName] = effect
def hardcodeSuppressionTackleRange():
beaconTypeID = 79839
attrMap = {
'warfareBuff1ID': 2405,
'warfareBuff1Value': 10}
effectMap = {100000: 'pyfaCustomSuppressionTackleRange'}
_hardcodeAttribs(beaconTypeID, attrMap)
_hardcodeEffects(beaconTypeID, effectMap)
eos.db.gamedata_session.flush()
def hardcodeSovUpgradeBuffs():
typeBuffMap = {
# Gamma
87815: {
'warfareBuff1ID': 2433,
'warfareBuff1Value': 5,
'warfareBuff2ID': 2434,
'warfareBuff2Value': 10,
'warfareBuff3ID': 2441,
'warfareBuff3Value': 5},
# Plasma
87949: {
'warfareBuff1ID': 2442,
'warfareBuff1Value': 5,
'warfareBuff2ID': 2435,
'warfareBuff2Value': 5,
'warfareBuff3ID': 2436,
'warfareBuff3Value': 10},
# Electric
87950: {
'warfareBuff1ID': 2437,
'warfareBuff1Value': -25,
'warfareBuff2ID': 2438,
'warfareBuff2Value': 25},
# Exotic
87951: {
'warfareBuff1ID': 2440,
'warfareBuff1Value': 2,
'warfareBuff2ID': 2439,
'warfareBuff2Value': 25}}
effectMap = {100001: 'pyfaCustomSovUpgradeBuffEffect'}
for typeID, attrMap in typeBuffMap.items():
_hardcodeAttribs(typeID, attrMap)
_hardcodeEffects(typeID, effectMap, clearEffects=False)
eos.db.gamedata_session.flush()
def hardcodeTrigSystemEffects():
typeBuffMap = {
# Final Liminality / Pochven
87164: ('Final Liminality', {
'warfareBuff1ID': 2534,
'warfareBuff1Value': -50,
'warfareBuff2ID': 2535,
'warfareBuff2Value': -30,
'warfareBuff3ID': 2538,
'warfareBuff3Value': 30,
'warfareBuff4ID': 2539,
'warfareBuff4Value': 30}),
# Minor Victory
87177: ('Triglavian Minor Victory', {
'warfareBuff1ID': 2534,
'warfareBuff1Value': -50,
'warfareBuff2ID': 2538,
'warfareBuff2Value': 15,
'warfareBuff3ID': 2539,
'warfareBuff3Value': 15})}
effectMap = {100002: 'pyfaCustomTrigSystemBuffEffect'}
for typeID, (name, attrMap) in typeBuffMap.items():
item = eos.db.gamedata_session.query(eos.gamedata.Item).filter(eos.gamedata.Item.ID == typeID).one()
item.published = True
item.name = name
_hardcodeAttribs(typeID, attrMap)
_hardcodeEffects(typeID, effectMap, clearEffects=True)
eos.db.gamedata_session.flush()
def hardcodeShapash():
shapashTypeID = 1000000
_copyItem(srcName='Utu', tgtTypeID=shapashTypeID, tgtName='Shapash')
attrMap = {
# Fitting
'powerOutput': 50,
'cpuOutput': 225,
'capacitorCapacity': 420,
'rechargeRate': 187500,
# Slots
'hiSlots': 3,
'medSlots': 4,
'lowSlots': 4,
'launcherSlotsLeft': 0,
'turretSlotsLeft': 3,
# Rigs
'rigSlots': 2,
'rigSize': 1,
'upgradeCapacity': 400,
# Shield
'shieldCapacity': 575,
'shieldRechargeRate': 625000,
'shieldEmDamageResonance': 1 - 0.0,
'shieldThermalDamageResonance': 1 - 0.6,
'shieldKineticDamageResonance': 1 - 0.85,
'shieldExplosiveDamageResonance': 1 - 0.5,
# Armor
'armorHP': 1015,
'armorEmDamageResonance': 1 - 0.5,
'armorThermalDamageResonance': 1 - 0.675,
'armorKineticDamageResonance': 1 - 0.8375,
'armorExplosiveDamageResonance': 1 - 0.1,
# Structure
'hp': 1274,
'emDamageResonance': 1 - 0.33,
'thermalDamageResonance': 1 - 0.33,
'kineticDamageResonance': 1 - 0.33,
'explosiveDamageResonance': 1 - 0.33,
'mass': 1215000,
'volume': 29500,
'capacity': 165,
# Navigation
'maxVelocity': 325,
'agility': 3.467,
'warpSpeedMultiplier': 5.5,
# Drones
'droneCapacity': 75,
'droneBandwidth': 25,
# Targeting
'maxTargetRange': 49000,
'maxLockedTargets': 6,
'scanRadarStrength': 0,
'scanLadarStrength': 0,
'scanMagnetometricStrength': 9,
'scanGravimetricStrength': 0,
'signatureRadius': 39,
'scanResolution': 550,
# Misc
'energyWarfareResistance': 0,
'stasisWebifierResistance': 0,
'weaponDisruptionResistance': 0}
effectMap = {
100100: 'pyfaCustomShapashAfArAmount',
100101: 'pyfaCustomShapashAfShtTrackingOptimal',
100102: 'pyfaCustomShapashGfShtDamage',
100103: 'pyfaCustomShapashGfPointRange',
100104: 'pyfaCustomShapashGfPropOverheat',
100105: 'pyfaCustomShapashRolePlateMass',
100106: 'pyfaCustomShapashRoleHeat'}
_hardcodeAttribs(shapashTypeID, attrMap)
_hardcodeEffects(shapashTypeID, effectMap)
def hardcodeCybele():
cybeleTypeID = 1000001
_copyItem(srcName='Adrestia', tgtTypeID=cybeleTypeID, tgtName='Cybele')
attrMap = {
# Fitting
'powerOutput': 1284,
'cpuOutput': 400,
'capacitorCapacity': 2400,
'rechargeRate': 334000,
'hiSlots': 5,
'medSlots': 4,
'lowSlots': 6,
'launcherSlotsLeft': 0,
'turretSlotsLeft': 5,
# Rigs
'rigSlots': 2,
'rigSize': 2,
'upgradeCapacity': 400,
# Shield
'shieldCapacity': 1200,
'shieldRechargeRate': 1250000,
'shieldEmDamageResonance': 1 - 0.0,
'shieldThermalDamageResonance': 1 - 0.5,
'shieldKineticDamageResonance': 1 - 0.9,
'shieldExplosiveDamageResonance': 1 - 0.5,
# Armor
'armorHP': 1900,
'armorEmDamageResonance': 1 - 0.5,
'armorThermalDamageResonance': 1 - 0.69,
'armorKineticDamageResonance': 1 - 0.85,
'armorExplosiveDamageResonance': 1 - 0.1,
# Structure
'hp': 2300,
'emDamageResonance': 1 - 0.33,
'thermalDamageResonance': 1 - 0.33,
'kineticDamageResonance': 1 - 0.33,
'explosiveDamageResonance': 1 - 0.33,
'mass': 11100000,
'volume': 112000,
'capacity': 450,
# Navigation
'maxVelocity': 235,
'agility': 0.457,
'warpSpeedMultiplier': 4.5,
# Drones
'droneCapacity': 100,
'droneBandwidth': 50,
# Targeting
'maxTargetRange': 60000,
'maxLockedTargets': 6,
'scanRadarStrength': 0,
'scanLadarStrength': 0,
'scanMagnetometricStrength': 15,
'scanGravimetricStrength': 0,
'signatureRadius': 115,
'scanResolution': 330,
# Misc
'energyWarfareResistance': 0,
'stasisWebifierResistance': 0,
'weaponDisruptionResistance': 0}
effectMap = {
100200: 'pyfaCustomCybeleHacMhtFalloff',
100201: 'pyfaCustomCybeleHacMhtTracking',
100202: 'pyfaCustomCybeleGcMhtDamage',
100203: 'pyfaCustomCybeleGcArAmount',
100204: 'pyfaCustomCybeleGcPointRange',
100205: 'pyfaCustomCybeleRoleVelocity',
100206: 'pyfaCustomCybeleRolePlateMass'}
_hardcodeAttribs(cybeleTypeID, attrMap)
_hardcodeEffects(cybeleTypeID, effectMap)
hardcodeSuppressionTackleRange()
hardcodeSovUpgradeBuffs()
hardcodeTrigSystemEffects()
eos.db.gamedata_session.commit()
eos.db.gamedata_engine.execute('VACUUM')
print('done')
if __name__ == '__main__':
update_db()
================================================
FILE: dist_assets/cacert.pem
================================================
# Issuer: O=Equifax OU=Equifax Secure Certificate Authority
# Subject: O=Equifax OU=Equifax Secure Certificate Authority
# Label: "Equifax Secure CA"
# Serial: 903804111
# MD5 Fingerprint: 67:cb:9d:c0:13:24:8a:82:9b:b2:17:1e:d1:1b:ec:d4
# SHA1 Fingerprint: d2:32:09:ad:23:d3:14:23:21:74:e4:0d:7f:9d:62:13:97:86:63:3a
# SHA256 Fingerprint: 08:29:7a:40:47:db:a2:36:80:c7:31:db:6e:31:76:53:ca:78:48:e1:be:bd:3a:0b:01:79:a7:07:f9:2c:f1:78
-----BEGIN CERTIFICATE-----
MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV
UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy
dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1
MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx
dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f
BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A
cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC
AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ
MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm
aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw
ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj
IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF
MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA
A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y
7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh
1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4
-----END CERTIFICATE-----
# Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA
# Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA
# Label: "GlobalSign Root CA"
# Serial: 4835703278459707669005204
# MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a
# SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c
# SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99
-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG
A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw
MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT
aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ
jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp
xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp
1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG
snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ
U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8
9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E
BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B
AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz
yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE
38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP
AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad
DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME
HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
-----END CERTIFICATE-----
# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2
# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2
# Label: "GlobalSign Root CA - R2"
# Serial: 4835703278459682885658125
# MD5 Fingerprint: 94:14:77:7e:3e:5e:fd:8f:30:bd:41:b0:cf:e7:d0:30
# SHA1 Fingerprint: 75:e0:ab:b6:13:85:12:27:1c:04:f8:5f:dd:de:38:e4:b7:24:2e:fe
# SHA256 Fingerprint: ca:42:dd:41:74:5f:d0:b8:1e:b9:02:36:2c:f9:d8:bf:71:9d:a1:bd:1b:1e:fc:94:6f:5b:4c:99:f4:2c:1b:9e
-----BEGIN CERTIFICATE-----
MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1
MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL
v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8
eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq
tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd
C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa
zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB
mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH
V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n
bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG
3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs
J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO
291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS
ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd
AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
-----END CERTIFICATE-----
# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only
# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only
# Label: "Verisign Class 3 Public Primary Certification Authority - G3"
# Serial: 206684696279472310254277870180966723415
# MD5 Fingerprint: cd:68:b6:a7:c7:c4:ce:75:e0:1d:4f:57:44:61:92:09
# SHA1 Fingerprint: 13:2d:0d:45:53:4b:69:97:cd:b2:d5:c3:39:e2:55:76:60:9b:5c:c6
# SHA256 Fingerprint: eb:04:cf:5e:b1:f3:9a:fa:76:2f:2b:b1:20:f2:96:cb:a5:20:c1:b9:7d:b1:58:95:65:b8:1c:b9:a1:7b:72:44
-----BEGIN CERTIFICATE-----
MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw
CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl
cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu
LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT
aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD
VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT
aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ
bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu
IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b
N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t
KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu
kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm
CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ
Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu
imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te
2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe
DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p
F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt
TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
-----END CERTIFICATE-----
# Issuer: CN=VeriSign Class 4 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only
# Subject: CN=VeriSign Class 4 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only
# Label: "Verisign Class 4 Public Primary Certification Authority - G3"
# Serial: 314531972711909413743075096039378935511
# MD5 Fingerprint: db:c8:f2:27:2e:b1:ea:6a:29:23:5d:fe:56:3e:33:df
# SHA1 Fingerprint: c8:ec:8c:87:92:69:cb:4b:ab:39:e9:8d:7e:57:67:f3:14:95:73:9d
# SHA256 Fingerprint: e3:89:36:0d:0f:db:ae:b3:d2:50:58:4b:47:30:31:4e:22:2f:39:c1:56:a0:20:14:4e:8d:96:05:61:79:15:06
-----BEGIN CERTIFICATE-----
MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQsw
CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl
cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu
LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT
aWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD
VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT
aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ
bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu
IENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg
LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK3LpRFpxlmr8Y+1
GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaStBO3IFsJ
+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0Gbd
U6LM8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLm
NxdLMEYH5IBtptiWLugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XY
ufTsgsbSPZUd5cBPhMnZo0QoBmrXRazwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/
ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAj/ola09b5KROJ1WrIhVZPMq1
CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXttmhwwjIDLk5Mq
g6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm
fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c
2NU8Qh0XwRJdRTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/
bLvSHgCwIe34QWKCudiyxLtGUPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg==
-----END CERTIFICATE-----
# Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited
# Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited
# Label: "Entrust.net Premium 2048 Secure Server CA"
# Serial: 946069240
# MD5 Fingerprint: ee:29:31:bc:32:7e:9a:e6:e8:b5:f7:51:b4:34:71:90
# SHA1 Fingerprint: 50:30:06:09:1d:97:d4:f5:ae:39:f7:cb:e7:92:7d:7d:65:2d:34:31
# SHA256 Fingerprint: 6d:c4:71:72:e0:1c:bc:b0:bf:62:58:0d:89:5f:e2:b8:ac:9a:d4:f8:73:80:1e:0c:10:b9:c8:37:d2:1e:b1:77
-----BEGIN CERTIFICATE-----
MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML
RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp
bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5
IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3
MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3
LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp
YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG
A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq
K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe
sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX
MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT
XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/
HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH
4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub
j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo
U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf
zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b
u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+
bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er
fF6adulZkMV8gzURZVE=
-----END CERTIFICATE-----
# Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust
# Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust
# Label: "Baltimore CyberTrust Root"
# Serial: 33554617
# MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4
# SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74
# SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb
-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD
VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX
DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y
ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy
VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr
mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr
IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK
mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu
XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy
dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye
jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1
BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3
DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92
9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx
jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0
Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz
ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS
R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
-----END CERTIFICATE-----
# Issuer: CN=AddTrust Class 1 CA Root O=AddTrust AB OU=AddTrust TTP Network
# Subject: CN=AddTrust Class 1 CA Root O=AddTrust AB OU=AddTrust TTP Network
# Label: "AddTrust Low-Value Services Root"
# Serial: 1
# MD5 Fingerprint: 1e:42:95:02:33:92:6b:b9:5f:c0:7f:da:d6:b2:4b:fc
# SHA1 Fingerprint: cc:ab:0e:a0:4c:23:01:d6:69:7b:dd:37:9f:cd:12:eb:24:e3:94:9d
# SHA256 Fingerprint: 8c:72:09:27:9a:c0:4e:27:5e:16:d0:7f:d3:b7:75:e8:01:54:b5:96:80:46:e3:1f:52:dd:25:76:63:24:e9:a7
-----BEGIN CERTIFICATE-----
MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEU
MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3
b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMw
MTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYD
VQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUA
A4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ul
CDtbKRY654eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6n
tGO0/7Gcrjyvd7ZWxbWroulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyl
dI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1Zmne3yzxbrww2ywkEtvrNTVokMsAsJch
PXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJuiGMx1I4S+6+JNM3GOGvDC
+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8wHQYDVR0O
BBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8E
BTADAQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBl
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFk
ZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENB
IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxtZBsfzQ3duQH6lmM0MkhHma6X
7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0PhiVYrqW9yTkkz
43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY
eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJl
pz/+0WatC7xrmYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOA
WiFeIc9TVPC6b4nbqKqVz4vjccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk=
-----END CERTIFICATE-----
# Issuer: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network
# Subject: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network
# Label: "AddTrust External Root"
# Serial: 1
# MD5 Fingerprint: 1d:35:54:04:85:78:b0:3f:42:42:4d:bf:20:73:0a:3f
# SHA1 Fingerprint: 02:fa:f3:e2:91:43:54:68:60:78:57:69:4d:f5:e4:5b:68:85:18:68
# SHA256 Fingerprint: 68:7f:a4:51:38:22:78:ff:f0:c8:b1:1f:8d:43:d5:76:67:1c:6e:b2:bc:ea:b4:13:fb:83:d9:65:d0:6d:2f:f2
-----BEGIN CERTIFICATE-----
MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
-----END CERTIFICATE-----
# Issuer: CN=AddTrust Public CA Root O=AddTrust AB OU=AddTrust TTP Network
# Subject: CN=AddTrust Public CA Root O=AddTrust AB OU=AddTrust TTP Network
# Label: "AddTrust Public Services Root"
# Serial: 1
# MD5 Fingerprint: c1:62:3e:23:c5:82:73:9c:03:59:4b:2b:e9:77:49:7f
# SHA1 Fingerprint: 2a:b6:28:48:5e:78:fb:f3:ad:9e:79:10:dd:6b:df:99:72:2c:96:e5
# SHA256 Fingerprint: 07:91:ca:07:49:b2:07:82:aa:d3:c7:d7:bd:0c:df:c9:48:58:35:84:3e:b2:d7:99:60:09:ce:43:ab:6c:69:27
-----BEGIN CERTIFICATE-----
MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEU
MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3
b3JrMSAwHgYDVQQDExdBZGRUcnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAx
MDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtB
ZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIDAeBgNV
BAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV
6tsfSlbunyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nX
GCwwfQ56HmIexkvA/X1id9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnP
dzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSGAa2Il+tmzV7R/9x98oTaunet3IAIx6eH
1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAwHM+A+WD+eeSI8t0A65RF
62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0GA1UdDgQW
BBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUw
AwEB/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDEL
MAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRU
cnVzdCBUVFAgTmV0d29yazEgMB4GA1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJv
b3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4JNojVhaTdt02KLmuG7jD8WS6
IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL+YPoRNWyQSW/
iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao
GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh
4SINhwBk/ox9Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQm
XiLsks3/QppEIW1cxeMiHV9HEufOX1362KqxMy3ZdvJOOjMMK7MtkAY=
-----END CERTIFICATE-----
# Issuer: CN=AddTrust Qualified CA Root O=AddTrust AB OU=AddTrust TTP Network
# Subject: CN=AddTrust Qualified CA Root O=AddTrust AB OU=AddTrust TTP Network
# Label: "AddTrust Qualified Certificates Root"
# Serial: 1
# MD5 Fingerprint: 27:ec:39:47:cd:da:5a:af:e2:9a:01:65:21:a9:4c:bb
# SHA1 Fingerprint: 4d:23:78:ec:91:95:39:b5:00:7f:75:8f:03:3b:21:1e:c5:4d:8b:cf
# SHA256 Fingerprint: 80:95:21:08:05:db:4b:bc:35:5e:44:28:d8:fd:6e:c2:cd:e3:ab:5f:b9:7a:99:42:98:8e:b8:f4:dc:d0:60:16
-----BEGIN CERTIFICATE-----
MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEU
MBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3
b3JrMSMwIQYDVQQDExpBZGRUcnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1
MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcxCzAJBgNVBAYTAlNFMRQwEgYDVQQK
EwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5ldHdvcmsxIzAh
BgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwq
xBb/4Oxx64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G
87B4pfYOQnrjfxvM0PC3KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i
2O+tCBGaKZnhqkRFmhJePp1tUvznoD1oL/BLcHwTOK28FSXx1s6rosAx1i+f4P8U
WfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GRwVY18BTcZTYJbqukB8c1
0cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HUMIHRMB0G
A1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0T
AQH/BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6Fr
pGkwZzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQL
ExRBZGRUcnVzdCBUVFAgTmV0d29yazEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlm
aWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBABmrder4i2VhlRO6aQTv
hsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxGGuoYQ992zPlm
hpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X
dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3
P6CxB9bpT9zeRXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9Y
iQBCYz95OdBEsIJuQRno3eDBiFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5no
xqE=
-----END CERTIFICATE-----
# Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc.
# Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc.
# Label: "Entrust Root Certification Authority"
# Serial: 1164660820
# MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4
# SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9
# SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c
-----BEGIN CERTIFICATE-----
MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC
VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0
Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW
KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl
cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw
NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw
NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy
ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV
BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo
Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4
4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9
KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI
rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi
94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB
sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi
gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo
kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE
vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t
O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua
AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP
9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/
eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m
0vdXcDazv/wor3ElhVsT/h5/WrQ8
-----END CERTIFICATE-----
# Issuer: O=RSA Security Inc OU=RSA Security 2048 V3
# Subject: O=RSA Security Inc OU=RSA Security 2048 V3
# Label: "RSA Security 2048 v3"
# Serial: 13297492616345471454730593562152402946
# MD5 Fingerprint: 77:0d:19:b1:21:fd:00:42:9c:3e:0c:a5:dd:0b:02:8e
# SHA1 Fingerprint: 25:01:90:19:cf:fb:d9:99:1c:b7:68:25:74:8d:94:5f:30:93:95:42
# SHA256 Fingerprint: af:8b:67:62:a1:e5:28:22:81:61:a9:5d:5c:55:9e:e2:66:27:8f:75:d7:9e:83:01:89:a5:03:50:6a:bd:6b:4c
-----BEGIN CERTIFICATE-----
MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6
MRkwFwYDVQQKExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJp
dHkgMjA0OCBWMzAeFw0wMTAyMjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAX
BgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAbBgNVBAsTFFJTQSBTZWN1cml0eSAy
MDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt49VcdKA3Xtp
eafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7Jylg
/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGl
wSMiuLgbWhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnh
AMFRD0xS+ARaqn1y07iHKrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2
PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP+Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpu
AWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
BjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4EFgQUB8NR
MKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYc
HnmYv/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/
Zb5gEydxiKRz44Rj0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+
f00/FGj1EVDVwfSQpQgdMWD/YIwjVAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVO
rSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395nzIlQnQFgCi/vcEkllgVsRch
6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kApKnXwiJPZ9d3
7CAFYd4=
-----END CERTIFICATE-----
# Issuer: CN=GeoTrust Global CA O=GeoTrust Inc.
# Subject: CN=GeoTrust Global CA O=GeoTrust Inc.
# Label: "GeoTrust Global CA"
# Serial: 144470
# MD5 Fingerprint: f7:75:ab:29:fb:51:4e:b7:77:5e:ff:05:3c:99:8e:f5
# SHA1 Fingerprint: de:28:f4:a4:ff:e5:b9:2f:a3:c5:03:d1:a3:49:a7:f9:96:2a:82:12
# SHA256 Fingerprint: ff:85:6a:2d:25:1d:cd:88:d3:66:56:f4:50:12:67:98:cf:ab:aa:de:40:79:9c:72:2d:e4:d2:b5:db:36:a7:3a
-----BEGIN CERTIFICATE-----
MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
-----END CERTIFICATE-----
# Issuer: CN=GeoTrust Global CA 2 O=GeoTrust Inc.
# Subject: CN=GeoTrust Global CA 2 O=GeoTrust Inc.
# Label: "GeoTrust Global CA 2"
# Serial: 1
# MD5 Fingerprint: 0e:40:a7:6c:de:03:5d:8f:d1:0f:e4:d1:8d:f9:6c:a9
# SHA1 Fingerprint: a9:e9:78:08:14:37:58:88:f2:05:19:b0:6d:2b:0d:2b:60:16:90:7d
# SHA256 Fingerprint: ca:2d:82:a0:86:77:07:2f:8a:b6:76:4f:f0:35:67:6c:fe:3e:5e:32:5e:01:21:72:df:3f:92:09:6d:b7:9b:85
-----BEGIN CERTIFICATE-----
MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEW
MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFs
IENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQG
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3Qg
R2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDvPE1A
PRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/NTL8
Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hL
TytCOb1kLUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL
5mkWRxHCJ1kDs6ZgwiFAVvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7
S4wMcoKK+xfNAGw6EzywhIdLFnopsk/bHdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe
2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE
FHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNHK266ZUap
EBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6td
EPx7srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv
/NgdRN3ggX+d6YvhZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywN
A0ZF66D0f0hExghAzN4bcLUprbqLOzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0
abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkCx1YAzUm5s2x7UwQa4qjJqhIF
I8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqFH4z1Ir+rzoPz
4iIprn2DQKi6bA==
-----END CERTIFICATE-----
# Issuer: CN=GeoTrust Universal CA O=GeoTrust Inc.
# Subject: CN=GeoTrust Universal CA O=GeoTrust Inc.
# Label: "GeoTrust Universal CA"
# Serial: 1
# MD5 Fingerprint: 92:65:58:8b:a2:1a:31:72:73:68:5c:b4:a5:7a:07:48
# SHA1 Fingerprint: e6:21:f3:35:43:79:05:9a:4b:68:30:9d:8a:2f:74:22:15:87:ec:79
# SHA256 Fingerprint: a0:45:9b:9f:63:b2:25:59:f5:fa:5d:4c:6d:b3:f9:f7:2f:f1:93:42:03:35:78:f0:73:bf:1d:1b:46:cb:b9:12
-----BEGIN CERTIFICATE-----
MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW
MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy
c2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE
BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0
IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV
VaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8
cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT
QjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh
F7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v
c7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w
mZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd
VHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX
teGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ
f9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe
Bi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+
nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB
/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY
MBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG
9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX
IwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn
ANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z
uzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN
Pnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja
QI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW
koRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9
ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt
DF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm
bJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw=
-----END CERTIFICATE-----
# Issuer: CN=GeoTrust Universal CA 2 O=GeoTrust Inc.
# Subject: CN=GeoTrust Universal CA 2 O=GeoTrust Inc.
# Label: "GeoTrust Universal CA 2"
# Serial: 1
# MD5 Fingerprint: 34:fc:b8:d0:36:db:9e:14:b3:c2:f2:db:8f:e4:94:c7
# SHA1 Fingerprint: 37:9a:19:7b:41:85:45:35:0c:a6:03:69:f3:3c:2e:af:47:4f:20:79
# SHA256 Fingerprint: a0:23:4f:3b:c8:52:7c:a5:62:8e:ec:81:ad:5d:69:89:5d:a5:68:0d:c9:1d:1c:b8:47:7f:33:f8:78:b9:5b:0b
-----BEGIN CERTIFICATE-----
MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW
MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy
c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD
VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1
c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81
WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG
FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq
XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL
se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb
KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd
IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73
y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt
hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc
QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4
Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV
HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ
KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ
L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr
Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo
ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY
T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz
GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m
1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV
OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH
6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX
QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
-----END CERTIFICATE-----
# Issuer: CN=Visa eCommerce Root O=VISA OU=Visa International Service Association
# Subject: CN=Visa eCommerce Root O=VISA OU=Visa International Service Association
# Label: "Visa eCommerce Root"
# Serial: 25952180776285836048024890241505565794
# MD5 Fingerprint: fc:11:b8:d8:08:93:30:00:6d:23:f9:7e:eb:52:1e:02
# SHA1 Fingerprint: 70:17:9b:86:8c:00:a4:fa:60:91:52:22:3f:9f:3e:32:bd:e0:05:62
# SHA256 Fingerprint: 69:fa:c9:bd:55:fb:0a:c7:8d:53:bb:ee:5c:f1:d5:97:98:9f:d0:aa:ab:20:a2:51:51:bd:f1:73:3e:e7:d1:22
-----BEGIN CERTIFICATE-----
MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBr
MQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRl
cm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv
bW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2WhcNMjIwNjI0MDAxNjEyWjBrMQsw
CQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5h
dGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1l
cmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h
2mCxlCfLF9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4E
lpF7sDPwsRROEW+1QK8bRaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdV
ZqW1LS7YgFmypw23RuwhY/81q6UCzyr0TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq
299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI/k4+oKsGGelT84ATB+0t
vz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzsGHxBvfaL
dXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD
AgEGMB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUF
AAOCAQEAX/FBfXxcCLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcR
zCSs00Rsca4BIGsDoo8Ytyk6feUWYFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3
LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pzzkWKsKZJ/0x9nXGIxHYdkFsd
7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBuYQa7FkKMcPcw
++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt
398znM/jra6O1I7mT1GvFpLgXPYHDw==
-----END CERTIFICATE-----
# Issuer: CN=Certum CA O=Unizeto Sp. z o.o.
# Subject: CN=Certum CA O=Unizeto Sp. z o.o.
# Label: "Certum Root CA"
# Serial: 65568
# MD5 Fingerprint: 2c:8f:9f:66:1d:18:90:b1:47:26:9d:8e:86:82:8c:a9
# SHA1 Fingerprint: 62:52:dc:40:f7:11:43:a2:2f:de:9e:f7:34:8e:06:42:51:b1:81:18
# SHA256 Fingerprint: d8:e0:fe:bc:1d:b2:e3:8d:00:94:0f:37:d2:7d:41:34:4d:99:3e:73:4b:99:d5:65:6d:97:78:d4:d8:14:36:24
-----BEGIN CERTIFICATE-----
MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM
MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD
QTAeFw0wMjA2MTExMDQ2MzlaFw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBM
MRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD
QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6xwS7TT3zNJc4YPk/E
jG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdLkKWo
ePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GI
ULdtlkIJ89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapu
Ob7kky/ZR6By6/qmW6/KUz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUg
AKpoC6EahQGcxEZjgoi2IrHu/qpGWX7PNSzVttpd90gzFFS269lvzs2I1qsb2pY7
HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEA
uI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+GXYkHAQa
TOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTg
xSvgGrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1q
CjqTE5s7FCMTY5w/0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5x
O/fIR/RpbxXyEV6DHpx8Uq79AtoSqFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs
6GAqm4VKQPNriiTsBhYscw==
-----END CERTIFICATE-----
# Issuer: CN=AAA Certificate Services O=Comodo CA Limited
# Subject: CN=AAA Certificate Services O=Comodo CA Limited
# Label: "Comodo AAA Services root"
# Serial: 1
# MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0
# SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49
# SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4
-----BEGIN CERTIFICATE-----
MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj
YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL
MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM
GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua
BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe
3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4
YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR
rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm
ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU
oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v
QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t
b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF
AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q
GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2
G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi
l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3
smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
-----END CERTIFICATE-----
# Issuer: CN=Secure Certificate Services O=Comodo CA Limited
# Subject: CN=Secure Certificate Services O=Comodo CA Limited
# Label: "Comodo Secure Services root"
# Serial: 1
# MD5 Fingerprint: d3:d9:bd:ae:9f:ac:67:24:b3:c8:1b:52:e1:b9:a9:bd
# SHA1 Fingerprint: 4a:65:d5:f4:1d:ef:39:b8:b8:90:4a:4a:d3:64:81:33:cf:c7:a1:d1
# SHA256 Fingerprint: bd:81:ce:3b:4f:65:91:d1:1a:67:b5:fc:7a:47:fd:ef:25:52:1b:f9:aa:4e:18:b9:e3:df:2e:34:a7:80:3b:e8
-----BEGIN CERTIFICATE-----
MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEb
MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRp
ZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVow
fjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAiBgNV
BAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPM
cm3ye5drswfxdySRXyWP9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3S
HpR7LZQdqnXXs5jLrLxkU0C8j6ysNstcrbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996
CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rCoznl2yY4rYsK7hljxxwk
3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3Vp6ea5EQz
6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNV
HQ4EFgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
EwEB/wQFMAMBAf8wgYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2Rv
Y2EuY29tL1NlY3VyZUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRw
Oi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmww
DQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm4J4oqF7Tt/Q0
5qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj
Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtI
gKvcnDe4IRRLDXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJ
aD61JlfutuC23bkpgHl9j6PwpCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDl
izeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1HRR3B7Hzs/Sk=
-----END CERTIFICATE-----
# Issuer: CN=Trusted Certificate Services O=Comodo CA Limited
# Subject: CN=Trusted Certificate Services O=Comodo CA Limited
# Label: "Comodo Trusted Services root"
# Serial: 1
# MD5 Fingerprint: 91:1b:3f:6e:cd:9e:ab:ee:07:fe:1f:71:d2:b3:61:27
# SHA1 Fingerprint: e1:9f:e3:0e:8b:84:60:9e:80:9b:17:0d:72:a8:c5:ba:6e:14:09:bd
# SHA256 Fingerprint: 3f:06:e5:56:81:d4:96:f5:be:16:9e:b5:38:9f:9f:2b:8f:f6:1e:17:08:df:68:81:72:48:49:cd:5d:27:cb:69
-----BEGIN CERTIFICATE-----
MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEb
MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0
aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEwMDAwMDBaFw0yODEyMzEyMzU5NTla
MH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUwIwYD
VQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWW
fnJSoBVC21ndZHoa0Lh73TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMt
TGo87IvDktJTdyR0nAducPy9C1t2ul/y/9c3S0pgePfw+spwtOpZqqPOSC+pw7IL
fhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6juljatEPmsbS9Is6FARW
1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsSivnkBbA7
kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0G
A1UdDgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYD
VR0TAQH/BAUwAwEB/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21v
ZG9jYS5jb20vVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRo
dHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENlcnRpZmljYXRlU2VydmljZXMu
Y3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8NtwuleGFTQQuS9/
HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32
pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxIS
jBc/lDb+XbDABHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+
xqFx7D+gIIxmOom0jtTYsU0lR+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/Atyjcn
dBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O9y5Xt5hwXsjEeLBi
-----END CERTIFICATE-----
# Issuer: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority
# Subject: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority
# Label: "QuoVadis Root CA"
# Serial: 985026699
# MD5 Fingerprint: 27:de:36:fe:72:b7:00:03:00:9d:f4:f0:1e:6c:04:24
# SHA1 Fingerprint: de:3f:40:bd:50:93:d3:9b:6c:60:f6:da:bc:07:62:01:00:89:76:c9
# SHA256 Fingerprint: a4:5e:de:3b:bb:f0:9c:8a:e1:5c:72:ef:c0:72:68:d6:93:a2:1c:99:6f:d5:1e:67:ca:07:94:60:fd:6d:88:73
-----BEGIN CERTIFICATE-----
MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC
TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0
aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0
aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz
MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw
IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR
dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp
li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D
rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ
WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug
F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU
xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC
Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv
dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw
ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl
IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh
c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy
ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI
KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T
KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq
y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p
dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD
VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL
MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk
fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8
7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R
cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y
mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW
xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK
SnQ2+Q==
-----END CERTIFICATE-----
# Issuer: CN=QuoVadis Root CA 2 O=QuoVadis Limited
# Subject: CN=QuoVadis Root CA 2 O=QuoVadis Limited
# Label: "QuoVadis Root CA 2"
# Serial: 1289
# MD5 Fingerprint: 5e:39:7b:dd:f8:ba:ec:82:e9:ac:62:ba:0c:54:00:2b
# SHA1 Fingerprint: ca:3a:fb:cf:12:40:36:4b:44:b2:16:20:88:80:48:39:19:93:7c:f7
# SHA256 Fingerprint: 85:a0:dd:7d:d7:20:ad:b7:ff:05:f8:3d:54:2b:20:9d:c7:ff:45:28:f7:d6:77:b1:83:89:fe:a5:e5:c4:9e:86
-----BEGIN CERTIFICATE-----
MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x
GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv
b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV
BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W
YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa
GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg
Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J
WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB
rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp
+ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1
ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i
Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz
PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og
/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH
oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI
yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud
EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2
A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL
MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT
ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f
BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn
g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl
fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K
WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha
B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc
hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR
TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD
mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z
ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y
4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza
8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u
-----END CERTIFICATE-----
# Issuer: CN=QuoVadis Root CA 3 O=QuoVadis Limited
# Subject: CN=QuoVadis Root CA 3 O=QuoVadis Limited
# Label: "QuoVadis Root CA 3"
# Serial: 1478
# MD5 Fingerprint: 31:85:3c:62:94:97:63:b9:aa:fd:89:4e:af:6f:e0:cf
# SHA1 Fingerprint: 1f:49:14:f7:d8:74:95:1d:dd:ae:02:c0:be:fd:3a:2d:82:75:51:85
# SHA256 Fingerprint: 18:f1:fc:7f:20:5d:f8:ad:dd:eb:7f:e0:07:dd:57:e3:af:37:5a:9c:4d:8d:73:54:6b:f4:f1:fe:d1:e1:8d:35
-----BEGIN CERTIFICATE-----
MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x
GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv
b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV
BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W
YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM
V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB
4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr
H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd
8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv
vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT
mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe
btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc
T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt
WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ
c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A
4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD
VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG
CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0
aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0
aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu
dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw
czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G
A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC
TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg
Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0
7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem
d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd
+LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B
4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN
t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x
DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57
k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s
zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j
Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT
mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK
4SVhM7JZG+Ju1zdXtg2pEto=
-----END CERTIFICATE-----
# Issuer: O=SECOM Trust.net OU=Security Communication RootCA1
# Subject: O=SECOM Trust.net OU=Security Communication RootCA1
# Label: "Security Communication Root CA"
# Serial: 0
# MD5 Fingerprint: f1:bc:63:6a:54:e0:b5:27:f5:cd:e7:1a:e3:4d:6e:4a
# SHA1 Fingerprint: 36:b1:2b:49:f9:81:9e:d7:4c:9e:bc:38:0f:c6:56:8f:5d:ac:b2:f7
# SHA256 Fingerprint: e7:5e:72:ed:9f:56:0e:ec:6e:b4:80:00:73:a4:3f:c3:ad:19:19:5a:39:22:82:01:78:95:97:4a:99:02:6b:6c
-----BEGIN CERTIFICATE-----
MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY
MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t
dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5
WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD
VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8
9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ
DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9
Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N
QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ
xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G
A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T
AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG
kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr
Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5
Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU
JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot
RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw==
-----END CERTIFICATE-----
# Issuer: CN=Sonera Class2 CA O=Sonera
# Subject: CN=Sonera Class2 CA O=Sonera
# Label: "Sonera Class 2 Root CA"
# Serial: 29
# MD5 Fingerprint: a3:ec:75:0f:2e:88:df:fa:48:01:4e:0b:5c:48:6f:fb
# SHA1 Fingerprint: 37:f7:6d:e6:07:7c:90:c5:b1:3e:93:1a:b7:41:10:b4:f2:e4:9a:27
# SHA256 Fingerprint: 79:08:b4:03:14:c1:38:10:0b:51:8d:07:35:80:7f:fb:fc:f8:51:8a:00:95:33:71:05:ba:38:6b:15:3d:d9:27
-----BEGIN CERTIFICATE-----
MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP
MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx
MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV
BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o
Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt
5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s
3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej
vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu
8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw
DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG
MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil
zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/
3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD
FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6
Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2
ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M
-----END CERTIFICATE-----
# Issuer: CN=Staat der Nederlanden Root CA O=Staat der Nederlanden
# Subject: CN=Staat der Nederlanden Root CA O=Staat der Nederlanden
# Label: "Staat der Nederlanden Root CA"
# Serial: 10000010
# MD5 Fingerprint: 60:84:7c:5a:ce:db:0c:d4:cb:a7:e9:fe:02:c6:a9:c0
# SHA1 Fingerprint: 10:1d:fa:3f:d5:0b:cb:bb:9b:b5:60:0c:19:55:a4:1a:f4:73:3a:04
# SHA256 Fingerprint: d4:1d:82:9e:8c:16:59:82:2a:f9:3f:ce:62:bf:fc:de:26:4f:c8:4e:8b:95:0c:5f:f2:75:d0:52:35:46:95:a3
-----BEGIN CERTIFICATE-----
MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJO
TDEeMBwGA1UEChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFh
dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEy
MTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4wHAYDVQQKExVTdGFhdCBkZXIgTmVk
ZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxhbmRlbiBSb290IENB
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFtvszn
ExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw71
9tV2U02PjLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MO
hXeiD+EwR+4A5zN9RGcaC1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+U
tFE5A3+y3qcym7RHjm+0Sq7lr7HcsBthvJly3uSJt3omXdozSVtSnA71iq3DuD3o
BmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn622r+I/q85Ej0ZytqERAh
SQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRVHSAAMDww
OgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMv
cm9vdC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA
7Jbg0zTBLL9s+DANBgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k
/rvuFbQvBgwp8qiSpGEN/KtcCFtREytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzm
eafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbwMVcoEoJz6TMvplW0C5GUR5z6
u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3ynGQI0DvDKcWy
7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR
iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw==
-----END CERTIFICATE-----
# Issuer: CN=UTN - DATACorp SGC O=The USERTRUST Network OU=http://www.usertrust.com
# Subject: CN=UTN - DATACorp SGC O=The USERTRUST Network OU=http://www.usertrust.com
# Label: "UTN DATACorp SGC Root CA"
# Serial: 91374294542884689855167577680241077609
# MD5 Fingerprint: b3:a5:3e:77:21:6d:ac:4a:c0:c9:fb:d5:41:3d:ca:06
# SHA1 Fingerprint: 58:11:9f:0e:12:82:87:ea:50:fd:d9:87:45:6f:4f:78:dc:fa:d6:d4
# SHA256 Fingerprint: 85:fb:2f:91:dd:12:27:5a:01:45:b6:36:53:4f:84:02:4a:d6:8b:69:b8:ee:88:68:4f:f7:11:37:58:05:b3:48
-----BEGIN CERTIFICATE-----
MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCB
kzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZBgNVBAMTElVUTiAtIERBVEFDb3Jw
IFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBaMIGTMQswCQYDVQQG
EwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYD
VQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cu
dXNlcnRydXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjAN
BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6
E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ysraP6LnD43m77VkIVni5c7yPeIbkFdicZ
D0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlowHDyUwDAXlCCpVZvNvlK
4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA9P4yPykq
lXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulW
bfXv33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQAB
o4GrMIGoMAsGA1UdDwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRT
MtGzz3/64PGgXYVOktKeRR20TzA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3Js
LnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dDLmNybDAqBgNVHSUEIzAhBggr
BgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3DQEBBQUAA4IB
AQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft
Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyj
j98C5OBxOvG0I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVH
KWss5nbZqSl9Mt3JNjy9rjXxEZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv
2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwPDPafepE39peC4N1xaf92P2BNPM/3
mfnGV/TJVTl4uix5yaaIK/QI
-----END CERTIFICATE-----
# Issuer: CN=UTN-USERFirst-Hardware O=The USERTRUST Network OU=http://www.usertrust.com
# Subject: CN=UTN-USERFirst-Hardware O=The USERTRUST Network OU=http://www.usertrust.com
# Label: "UTN USERFirst Hardware Root CA"
# Serial: 91374294542884704022267039221184531197
# MD5 Fingerprint: 4c:56:41:e5:0d:bb:2b:e8:ca:a3:ed:18:08:ad:43:39
# SHA1 Fingerprint: 04:83:ed:33:99:ac:36:08:05:87:22:ed:bc:5e:46:00:e3:be:f9:d7
# SHA256 Fingerprint: 6e:a5:47:41:d0:04:66:7e:ed:1b:48:16:63:4a:a3:a7:9e:6e:4b:96:95:0f:82:79:da:fc:8d:9b:d8:81:21:37
-----BEGIN CERTIFICATE-----
MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCB
lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt
SGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgxOTIyWjCBlzELMAkG
A1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEe
MBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8v
d3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdh
cmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn
0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlIwrthdBKWHTxqctU8EGc6Oe0rE81m65UJ
M6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFdtqdt++BxF2uiiPsA3/4a
MXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8i4fDidNd
oI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqI
DsjfPe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9Ksy
oUhbAgMBAAGjgbkwgbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYD
VR0OBBYEFKFyXyYbKJhDlV0HN9WFlp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0
dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LUhhcmR3YXJlLmNy
bDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUFBwMGBggrBgEF
BQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM
//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28Gpgoiskli
CE7/yMgUsogWXecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gE
CJChicsZUN/KHAG8HQQZexB2lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t
3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kniCrVWFCVH/A7HFe7fRQ5YiuayZSS
KqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67nfhmqA==
-----END CERTIFICATE-----
# Issuer: CN=Chambers of Commerce Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org
# Subject: CN=Chambers of Commerce Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org
# Label: "Camerfirma Chambers of Commerce Root"
# Serial: 0
# MD5 Fingerprint: b0:01:ee:14:d9:af:29:18:94:76:8e:f1:69:33:2a:84
# SHA1 Fingerprint: 6e:3a:55:a4:19:0c:19:5c:93:84:3c:c0:db:72:2e:31:30:61:f0:b1
# SHA256 Fingerprint: 0c:25:8a:12:a5:67:4a:ef:25:f2:8b:a7:dc:fa:ec:ee:a3:48:e5:41:e6:f5:cc:4e:e6:3b:71:b3:61:60:6a:c3
-----BEGIN CERTIFICATE-----
MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEn
MCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQL
ExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMg
b2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAxNjEzNDNaFw0zNzA5MzAxNjEzNDRa
MH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZpcm1hIFNBIENJRiBB
ODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3JnMSIw
IAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0B
AQEFAAOCAQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtb
unXF/KGIJPov7coISjlUxFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0d
BmpAPrMMhe5cG3nCYsS4No41XQEMIwRHNaqbYE6gZj3LJgqcQKH0XZi/caulAGgq
7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jWDA+wWFjbw2Y3npuRVDM3
0pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFVd9oKDMyX
roDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIG
A1UdEwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5j
aGFtYmVyc2lnbi5vcmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p
26EpW1eLTXYGduHRooowDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIA
BzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hhbWJlcnNpZ24ub3JnMCcGA1Ud
EgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYDVR0gBFEwTzBN
BgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz
aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEB
AAxBl8IahsAifJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZd
p0AJPaxJRUXcLo0waLIJuvvDL8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi
1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wNUPf6s+xCX6ndbcj0dc97wXImsQEc
XCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/nADydb47kMgkdTXg0
eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1erfu
tGWaIZDgqtCYvDi1czyL+Nw=
-----END CERTIFICATE-----
# Issuer: CN=Global Chambersign Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org
# Subject: CN=Global Chambersign Root O=AC Camerfirma SA CIF A82743287 OU=http://www.chambersign.org
# Label: "Camerfirma Global Chambersign Root"
# Serial: 0
# MD5 Fingerprint: c5:e6:7b:bf:06:d0:4f:43:ed:c4:7a:65:8a:fb:6b:19
# SHA1 Fingerprint: 33:9b:6b:14:50:24:9b:55:7a:01:87:72:84:d9:e0:2f:c3:d2:d8:e9
# SHA256 Fingerprint: ef:3c:b4:17:fc:8e:bf:6f:97:87:6c:9e:4e:ce:39:de:1e:a5:fe:64:91:41:d1:02:8b:7d:11:c0:b2:29:8c:ed
-----BEGIN CERTIFICATE-----
MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEn
MCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQL
ExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENo
YW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYxNDE4WhcNMzcwOTMwMTYxNDE4WjB9
MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgy
NzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEgMB4G
A1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUA
A4IBDQAwggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0
Mi+ITaFgCPS3CU6gSS9J1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/s
QJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8Oby4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpV
eAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl6DJWk0aJqCWKZQbua795
B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c8lCrEqWh
z0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0T
AQH/BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1i
ZXJzaWduLm9yZy9jaGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4w
TcbOX60Qq+UDpfqpFDAOBgNVHQ8BAf8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAH
MCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBjaGFtYmVyc2lnbi5vcmcwKgYD
VR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9yZzBbBgNVHSAE
VDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh
bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0B
AQUFAAOCAQEAPDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUM
bKGKfKX0j//U2K0X1S0E0T9YgOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXi
ryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJPJ7oKXqJ1/6v/2j1pReQvayZzKWG
VwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4IBHNfTIzSJRUTN3c
ecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREest2d/
AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A==
-----END CERTIFICATE-----
# Issuer: CN=NetLock Kozjegyzoi (Class A) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok
# Subject: CN=NetLock Kozjegyzoi (Class A) Tanusitvanykiado O=NetLock Halozatbiztonsagi Kft. OU=Tanusitvanykiadok
# Label: "NetLock Notary (Class A) Root"
# Serial: 259
# MD5 Fingerprint: 86:38:6d:5e:49:63:6c:85:5c:db:6d:dc:94:b7:d0:f7
# SHA1 Fingerprint: ac:ed:5f:65:53:fd:25:ce:01:5f:1f:7a:48:3b:6a:74:9f:61:78:c6
# SHA256 Fingerprint: 7f:12:cd:5f:7e:5e:29:0e:c7:d8:51:79:d5:b7:2c:20:a5:be:75:08:ff:db:5b:f8:1a:b9:68:4a:7f:c9:f6:67
-----BEGIN CERTIFICATE-----
MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhV
MRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMe
TmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0
dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFzcyBB
KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oXDTE5MDIxOTIzMTQ0
N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQHEwhC
dWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQu
MRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBL
b3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG
9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSMD7tM9DceqQWC2ObhbHDqeLVu0ThEDaiD
zl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZz+qMkjvN9wfcZnSX9EUi
3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC/tmwqcm8
WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LY
Oph7tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2Esi
NCubMvJIH5+hCoR64sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCC
ApswDgYDVR0PAQH/BAQDAgAGMBIGA1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4
QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZRUxFTSEgRXplbiB0
YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRhdGFz
aSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu
IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtm
ZWxlbG9zc2VnLWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMg
ZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVs
amFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJhc2EgbWVndGFsYWxoYXRv
IGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBzOi8vd3d3
Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6
ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1
YW5jZSBhbmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3Qg
dG8gdGhlIE5ldExvY2sgQ1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRs
b2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBjcHNAbmV0bG9jay5uZXQuMA0G
CSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5ayZrU3/b39/zcT0mwBQO
xmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjPytoUMaFP
0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQ
QeJBCWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxk
f1qbFFgBJ34TUMdrKuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK
8CtmdWOMovsEPoMOmzbwGOQmIMOM8CgHrTwXZoi1/baI
-----END CERTIFICATE-----
# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com
# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com
# Label: "XRamp Global CA Root"
# Serial: 107108908803651509692980124233745014957
# MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1
# SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6
# SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2
-----BEGIN CERTIFICATE-----
MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB
gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk
MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY
UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx
NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3
dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy
dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB
dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6
38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP
KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q
DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4
qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa
JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi
PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P
BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs
jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0
eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD
ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR
vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt
qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa
IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy
i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ
O+7ETPTsJ3xCwnR8gooJybQDJbw=
-----END CERTIFICATE-----
# Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority
# Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority
# Label: "Go Daddy Class 2 CA"
# Serial: 0
# MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67
# SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4
# SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4
-----BEGIN CERTIFICATE-----
MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
ReYNnyicsbkqWletNw+vHX/bvZ8=
-----END CERTIFICATE-----
# Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority
# Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority
# Label: "Starfield Class 2 CA"
# Serial: 0
# MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24
# SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a
# SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58
-----BEGIN CERTIFICATE-----
MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl
MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp
U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw
NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE
ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp
ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3
DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf
8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN
+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0
X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa
K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA
1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G
A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR
zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0
YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD
bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w
DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3
L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D
eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl
xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp
VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY
WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q=
-----END CERTIFICATE-----
# Issuer: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing
# Subject: CN=StartCom Certification Authority O=StartCom Ltd. OU=Secure Digital Certificate Signing
# Label: "StartCom Certification Authority"
# Serial: 1
# MD5 Fingerprint: 22:4d:8f:8a:fc:f7:35:c2:bb:57:34:90:7b:8b:22:16
# SHA1 Fingerprint: 3e:2b:f7:f2:03:1b:96:f3:8c:e6:c4:d8:a8:5d:3e:2d:58:47:6a:0f
# SHA256 Fingerprint: c7:66:a9:be:f2:d4:07:1c:86:3a:31:aa:49:20:e8:13:b2:d1:98:60:8c:b7:b7:cf:e2:11:43:b8:36:df:09:ea
-----BEGIN CERTIFICATE-----
MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEW
MBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg
Q2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNh
dGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0NjM2WhcNMzYwOTE3MTk0NjM2WjB9
MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMi
U2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3Rh
cnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUA
A4ICDwAwggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZk
pMyONvg45iPwbm2xPN1yo4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rf
OQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/C
Ji/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/deMotHweXMAEtcnn6RtYT
Kqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt2PZE4XNi
HzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMM
Av+Z6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w
+2OqqGwaVLRcJXrJosmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+
Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3
Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVcUjyJthkqcwEKDwOzEmDyei+B
26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT37uMdBNSSwID
AQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE
FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9j
ZXJ0LnN0YXJ0Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3Js
LnN0YXJ0Y29tLm9yZy9zZnNjYS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFM
BgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0
Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5zdGFy
dGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3Rh
cnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlh
YmlsaXR5LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2Yg
dGhlIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFp
bGFibGUgYXQgaHR0cDovL2NlcnQuc3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJ
YIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBGcmVlIFNT
TCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAgEAFmyZ
9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8
jhvh3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUW
FjgKXlf2Ysd6AgXmvB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJz
ewT4F+irsfMuXGRuczE6Eri8sxHkfY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1
ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3fsNrarnDy0RLrHiQi+fHLB5L
EUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZEoalHmdkrQYu
L6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq
yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuC
O3NJo2pXh5Tl1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6V
um0ABj6y6koQOdjQK/W/7HW/lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkySh
NOsF/5oirpt9P/FlUQqmMGqz9IgcgA38corog14=
-----END CERTIFICATE-----
# Issuer: O=Government Root Certification Authority
# Subject: O=Government Root Certification Authority
# Label: "Taiwan GRCA"
# Serial: 42023070807708724159991140556527066870
# MD5 Fingerprint: 37:85:44:53:32:45:1f:20:f0:f3:95:e1:25:c4:43:4e
# SHA1 Fingerprint: f4:8b:11:bf:de:ab:be:94:54:20:71:e6:41:de:6b:be:88:2b:40:b9
# SHA256 Fingerprint: 76:00:29:5e:ef:e8:5b:9e:1f:d6:24:db:76:06:2a:aa:ae:59:81:8a:54:d2:77:4c:d4:c0:b2:c0:11:31:e1:b3
-----BEGIN CERTIFICATE-----
MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/
MQswCQYDVQQGEwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmlj
YXRpb24gQXV0aG9yaXR5MB4XDTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1ow
PzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dvdmVybm1lbnQgUm9vdCBDZXJ0aWZp
Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qNw8XR
IePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1q
gQdW8or5BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKy
yhwOeYHWtXBiCAEuTk8O1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAts
F/tnyMKtsc2AtJfcdgEWFelq16TheEfOhtX7MfP6Mb40qij7cEwdScevLJ1tZqa2
jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wovJ5pGfaENda1UhhXcSTvx
ls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7Q3hub/FC
VGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHK
YS1tB6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoH
EgKXTiCQ8P8NHuJBO9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThN
Xo+EHWbNxWCWtFJaBYmOlXqYwZE8lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1Ud
DgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNVHRMEBTADAQH/MDkGBGcqBwAE
MTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg209yewDL7MTqK
UWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ
TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyf
qzvS/3WXy6TjZwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaK
ZEk9GhiHkASfQlK3T8v+R0F2Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFE
JPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlUD7gsL0u8qV1bYH+Mh6XgUmMqvtg7
hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6QzDxARvBMB1uUO07+1
EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+HbkZ6Mm
nD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WX
udpVBrkk7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44Vbnz
ssQwmSNOXfJIoRIM3BKQCZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDe
LMDDav7v3Aun+kbfYNucpllQdSNpc5Oy+fwC00fmcc4QAu4njIT/rEUNE1yDMuAl
pYYsfPQS
-----END CERTIFICATE-----
# Issuer: CN=Swisscom Root CA 1 O=Swisscom OU=Digital Certificate Services
# Subject: CN=Swisscom Root CA 1 O=Swisscom OU=Digital Certificate Services
# Label: "Swisscom Root CA 1"
# Serial: 122348795730808398873664200247279986742
# MD5 Fingerprint: f8:38:7c:77:88:df:2c:16:68:2e:c2:e2:52:4b:b8:f9
# SHA1 Fingerprint: 5f:3a:fc:0a:8b:64:f6:86:67:34:74:df:7e:a9:a2:fe:f9:fa:7a:51
# SHA256 Fingerprint: 21:db:20:12:36:60:bb:2e:d4:18:20:5d:a1:1e:e7:a8:5a:65:e2:bc:6e:55:b5:af:7e:78:99:c8:a2:66:d9:2e
-----BEGIN CERTIFICATE-----
MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBk
MQswCQYDVQQGEwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0
YWwgQ2VydGlmaWNhdGUgU2VydmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3Qg
Q0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4MTgyMjA2MjBaMGQxCzAJBgNVBAYT
AmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGlnaXRhbCBDZXJ0aWZp
Y2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIICIjAN
BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9
m2BtRsiMMW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdih
FvkcxC7mlSpnzNApbjyFNDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/
TilftKaNXXsLmREDA/7n29uj/x2lzZAeAR81sH8A25Bvxn570e56eqeqDFdvpG3F
EzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkCb6dJtDZd0KTeByy2dbco
kdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn7uHbHaBu
HYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNF
vJbNcA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo
19AOeCMgkckkKmUpWyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjC
L3UcPX7ape8eYIVpQtPM+GP+HkM5haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJW
bjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNYMUJDLXT5xp6mig/p/r+D5kNX
JLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0hBBYw
FDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j
BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzc
K6FptWfUjNP9MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzf
ky9NfEBWMXrrpA9gzXrzvsMnjgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7Ik
Vh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQMbFamIp1TpBcahQq4FJHgmDmHtqB
sfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4HVtA4oJVwIHaM190e
3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtlvrsR
ls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ip
mXeascClOS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HH
b6D0jqTsNFFbjCYDcKF31QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksf
rK/7DZBaZmBwXarNeNQk7shBoJMBkpxqnvy5JMWzFYJ+vq6VK+uxwNrjAWALXmms
hFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCyx/yP2FS1k2Kdzs9Z+z0Y
zirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIuf
gitextract_rzw9mcuf/ ├── .appveyor.yml ├── .codecov.yml ├── .gitattributes ├── .gitignore ├── .mailmap ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE.md ├── LICENSE ├── README.md ├── _development/ │ ├── Pyfa_CodeStyle.xml │ ├── Pyfa_Inspections.xml │ ├── __init__.py │ ├── helpers.py │ ├── helpers_fits.py │ ├── helpers_items.py │ └── helpers_locale.py ├── config.py ├── crowdin.yml ├── db_update.py ├── dist_assets/ │ ├── cacert.pem │ ├── linux/ │ │ └── AppImageBuilder.yml │ ├── mac/ │ │ ├── pyfa.icns │ │ └── pyfa.spec │ └── win/ │ ├── dist.py │ ├── pyfa-setup.iss │ ├── pyfa.spec │ └── version_resource.py ├── docs/ │ ├── _config.yml │ ├── callback.html │ └── index.md ├── eos/ │ ├── __init__.py │ ├── calc.py │ ├── capSim.py │ ├── config.py │ ├── const.py │ ├── db/ │ │ ├── __init__.py │ │ ├── gamedata/ │ │ │ ├── __init__.py │ │ │ ├── alphaClones.py │ │ │ ├── attribute.py │ │ │ ├── category.py │ │ │ ├── dynamicAttributes.py │ │ │ ├── effect.py │ │ │ ├── group.py │ │ │ ├── implantSet.py │ │ │ ├── item.py │ │ │ ├── marketGroup.py │ │ │ ├── metaData.py │ │ │ ├── metaGroup.py │ │ │ ├── queries.py │ │ │ ├── traits.py │ │ │ └── unit.py │ │ ├── migration.py │ │ ├── migrations/ │ │ │ ├── __init__.py │ │ │ ├── upgrade1.py │ │ │ ├── upgrade10.py │ │ │ ├── upgrade11.py │ │ │ ├── upgrade12.py │ │ │ ├── upgrade13.py │ │ │ ├── upgrade14.py │ │ │ ├── upgrade15.py │ │ │ ├── upgrade16.py │ │ │ ├── upgrade17.py │ │ │ ├── upgrade18.py │ │ │ ├── upgrade19.py │ │ │ ├── upgrade2.py │ │ │ ├── upgrade20.py │ │ │ ├── upgrade21.py │ │ │ ├── upgrade22.py │ │ │ ├── upgrade23.py │ │ │ ├── upgrade24.py │ │ │ ├── upgrade25.py │ │ │ ├── upgrade26.py │ │ │ ├── upgrade27.py │ │ │ ├── upgrade28.py │ │ │ ├── upgrade29.py │ │ │ ├── upgrade3.py │ │ │ ├── upgrade30.py │ │ │ ├── upgrade31.py │ │ │ ├── upgrade32.py │ │ │ ├── upgrade33.py │ │ │ ├── upgrade34.py │ │ │ ├── upgrade35.py │ │ │ ├── upgrade36.py │ │ │ ├── upgrade37.py │ │ │ ├── upgrade38.py │ │ │ ├── upgrade39.py │ │ │ ├── upgrade4.py │ │ │ ├── upgrade40.py │ │ │ ├── upgrade41.py │ │ │ ├── upgrade42.py │ │ │ ├── upgrade43.py │ │ │ ├── upgrade44.py │ │ │ ├── upgrade45.py │ │ │ ├── upgrade46.py │ │ │ ├── upgrade47.py │ │ │ ├── upgrade48.py │ │ │ ├── upgrade49.py │ │ │ ├── upgrade5.py │ │ │ ├── upgrade6.py │ │ │ ├── upgrade7.py │ │ │ ├── upgrade8.py │ │ │ └── upgrade9.py │ │ ├── saveddata/ │ │ │ ├── __init__.py │ │ │ ├── booster.py │ │ │ ├── cargo.py │ │ │ ├── character.py │ │ │ ├── damagePattern.py │ │ │ ├── databaseRepair.py │ │ │ ├── drone.py │ │ │ ├── fighter.py │ │ │ ├── fit.py │ │ │ ├── implant.py │ │ │ ├── implantSet.py │ │ │ ├── miscData.py │ │ │ ├── module.py │ │ │ ├── mutatorDrone.py │ │ │ ├── mutatorMod.py │ │ │ ├── override.py │ │ │ ├── price.py │ │ │ ├── queries.py │ │ │ ├── skill.py │ │ │ ├── targetProfile.py │ │ │ └── user.py │ │ └── util.py │ ├── effectHandlerHelpers.py │ ├── effects.py │ ├── eqBase.py │ ├── events.py │ ├── gamedata.py │ ├── lgpl.txt │ ├── modifiedAttributeDict.py │ ├── saveddata/ │ │ ├── __init__.py │ │ ├── booster.py │ │ ├── boosterSideEffect.py │ │ ├── cargo.py │ │ ├── character.py │ │ ├── citadel.py │ │ ├── damagePattern.py │ │ ├── drone.py │ │ ├── fighter.py │ │ ├── fighterAbility.py │ │ ├── fit.py │ │ ├── implant.py │ │ ├── implantSet.py │ │ ├── miscData.py │ │ ├── mode.py │ │ ├── module.py │ │ ├── mutatedMixin.py │ │ ├── mutator.py │ │ ├── override.py │ │ ├── price.py │ │ ├── ship.py │ │ ├── ssocharacter.py │ │ ├── targetProfile.py │ │ └── user.py │ └── utils/ │ ├── __init__.py │ ├── cycles.py │ ├── default.py │ ├── float.py │ ├── pyinst_support.py │ ├── round.py │ ├── spoolSupport.py │ └── stats.py ├── graphs/ │ ├── __init__.py │ ├── calc.py │ ├── data/ │ │ ├── __init__.py │ │ ├── base/ │ │ │ ├── __init__.py │ │ │ ├── cache.py │ │ │ ├── defs.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ ├── fitCapacitor/ │ │ │ ├── __init__.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ ├── fitDamageStats/ │ │ │ ├── __init__.py │ │ │ ├── cache/ │ │ │ │ ├── __init__.py │ │ │ │ ├── projected.py │ │ │ │ └── time.py │ │ │ ├── calc/ │ │ │ │ ├── __init__.py │ │ │ │ ├── application.py │ │ │ │ └── projected.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ ├── fitEcmBurstScanresDamps/ │ │ │ ├── __init__.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ ├── fitEwarStats/ │ │ │ ├── __init__.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ ├── fitLockTime/ │ │ │ ├── __init__.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ ├── fitMobility/ │ │ │ ├── __init__.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ ├── fitRemoteReps/ │ │ │ ├── __init__.py │ │ │ ├── cache.py │ │ │ ├── calc.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ ├── fitShieldRegen/ │ │ │ ├── __init__.py │ │ │ ├── getter.py │ │ │ └── graph.py │ │ └── fitWarpTime/ │ │ ├── __init__.py │ │ ├── cache.py │ │ ├── getter.py │ │ └── graph.py │ ├── events.py │ ├── gui/ │ │ ├── __init__.py │ │ ├── canvasPanel.py │ │ ├── ctrlPanel.py │ │ ├── frame.py │ │ ├── lists.py │ │ ├── stylePickers.py │ │ └── vector.py │ ├── style.py │ └── wrapper.py ├── gui/ │ ├── __init__.py │ ├── aboutData.py │ ├── additionsPane.py │ ├── app.py │ ├── attribute_gauge.py │ ├── auxWindow.py │ ├── bitmap_loader.py │ ├── builtinAdditionPanes/ │ │ ├── __init__.py │ │ ├── boosterView.py │ │ ├── cargoView.py │ │ ├── commandView.py │ │ ├── droneView.py │ │ ├── fighterView.py │ │ ├── implantView.py │ │ ├── notesView.py │ │ └── projectedView.py │ ├── builtinContextMenus/ │ │ ├── __init__.py │ │ ├── additionsExportAll.py │ │ ├── additionsExportSelection.py │ │ ├── additionsImport.py │ │ ├── ammoToDmgPattern.py │ │ ├── boosterSideEffects.py │ │ ├── cargoAdd.py │ │ ├── cargoAddAmmo.py │ │ ├── cargoFill.py │ │ ├── commandFitAdd.py │ │ ├── damagePatternChange.py │ │ ├── droneAddStack.py │ │ ├── droneSplitStack.py │ │ ├── envEffectAdd.py │ │ ├── factorReload.py │ │ ├── fighterAbilities.py │ │ ├── fitAddBrowse.py │ │ ├── fitAddCurrentlyOpen.py │ │ ├── fitOpenNewTab.py │ │ ├── fitPilotSecurity.py │ │ ├── fitSystemSecurity.py │ │ ├── graphDmgApplyProjected.py │ │ ├── graphDmgDroneMode.py │ │ ├── graphDmgIgnoreResists.py │ │ ├── graphDroneControlRange.py │ │ ├── graphFitAmmoPicker.py │ │ ├── graphLockRange.py │ │ ├── implantSetApply.py │ │ ├── implantSetSave.py │ │ ├── itemAmountChange.py │ │ ├── itemFill.py │ │ ├── itemMarketJump.py │ │ ├── itemMutations.py │ │ ├── itemProject.py │ │ ├── itemProjectionRange.py │ │ ├── itemRemove.py │ │ ├── itemStats.py │ │ ├── itemVariationChange.py │ │ ├── moduleAmmoChange.py │ │ ├── moduleFill.py │ │ ├── moduleMutatedExport.py │ │ ├── moduleRahPattern.py │ │ ├── moduleSpool.py │ │ ├── priceOptions.py │ │ ├── resistMode.py │ │ ├── shared/ │ │ │ ├── __init__.py │ │ │ └── patterns.py │ │ ├── shipJump.py │ │ ├── shipModeChange.py │ │ ├── skillAffectors.py │ │ └── targetProfile/ │ │ ├── __init__.py │ │ ├── adder.py │ │ ├── editor.py │ │ └── switcher.py │ ├── builtinItemStatsViews/ │ │ ├── __init__.py │ │ ├── attributeGrouping.py │ │ ├── attributeSlider.py │ │ ├── helpers.py │ │ ├── itemAffectedBy.py │ │ ├── itemAttributes.py │ │ ├── itemCompare.py │ │ ├── itemDependants.py │ │ ├── itemDescription.py │ │ ├── itemEffects.py │ │ ├── itemMutator.py │ │ ├── itemProperties.py │ │ ├── itemRequirements.py │ │ └── itemTraits.py │ ├── builtinMarketBrowser/ │ │ ├── __init__.py │ │ ├── events.py │ │ ├── itemView.py │ │ ├── marketTree.py │ │ ├── metaButton.py │ │ ├── pfSearchBox.py │ │ └── searchBox.py │ ├── builtinPreferenceViews/ │ │ ├── __init__.py │ │ ├── dummyView.py │ │ ├── pyfaContextMenuPreferences.py │ │ ├── pyfaDatabasePreferences.py │ │ ├── pyfaEnginePreferences.py │ │ ├── pyfaEsiPreferences.py │ │ ├── pyfaGeneralPreferences.py │ │ ├── pyfaHTMLExportPreferences.py │ │ ├── pyfaLoggingPreferences.py │ │ ├── pyfaMarketPreferences.py │ │ ├── pyfaNetworkPreferences.py │ │ ├── pyfaStatViewPreferences.py │ │ └── pyfaUpdatePreferences.py │ ├── builtinShipBrowser/ │ │ ├── __init__.py │ │ ├── categoryItem.py │ │ ├── events.py │ │ ├── fitItem.py │ │ ├── navigationPanel.py │ │ ├── pfBitmapButton.py │ │ ├── pfBitmapFrame.py │ │ ├── pfListPane.py │ │ ├── pfStaticText.py │ │ ├── pfWidgetContainer.py │ │ ├── raceSelector.py │ │ ├── sfBrowserItem.py │ │ └── shipItem.py │ ├── builtinStatsViews/ │ │ ├── __init__.py │ │ ├── bombingViewFull.py │ │ ├── capacitorViewFull.py │ │ ├── firepowerViewFull.py │ │ ├── miningyieldViewFull.py │ │ ├── outgoingViewFull.py │ │ ├── outgoingViewMinimal.py │ │ ├── priceViewFull.py │ │ ├── priceViewMinimal.py │ │ ├── rechargeViewFull.py │ │ ├── resistancesViewFull.py │ │ ├── resourcesViewFull.py │ │ └── targetingMiscViewMinimal.py │ ├── builtinViewColumns/ │ │ ├── __init__.py │ │ ├── abilities.py │ │ ├── ammo.py │ │ ├── ammoIcon.py │ │ ├── attributeDisplay.py │ │ ├── attributeDisplayGraph.py │ │ ├── baseIcon.py │ │ ├── baseName.py │ │ ├── capacitorUse.py │ │ ├── dampScanRes.py │ │ ├── droneEhp.py │ │ ├── droneRegen.py │ │ ├── graphColor.py │ │ ├── graphLightness.py │ │ ├── graphLineStyle.py │ │ ├── heat.py │ │ ├── maxRange.py │ │ ├── misc.py │ │ ├── price.py │ │ ├── projectionRange.py │ │ ├── propertyDisplay.py │ │ ├── sideEffects.py │ │ ├── state.py │ │ └── targetResists.py │ ├── builtinViews/ │ │ ├── __init__.py │ │ ├── emptyView.py │ │ ├── entityEditor.py │ │ ├── fittingView.py │ │ └── implantEditor.py │ ├── cachingImageList.py │ ├── characterEditor.py │ ├── characterSelection.py │ ├── chrome_tabs.py │ ├── contextMenu.py │ ├── copySelectDialog.py │ ├── devTools.py │ ├── display.py │ ├── errorDialog.py │ ├── esiFittings.py │ ├── fitBrowserLite.py │ ├── fitCommands/ │ │ ├── __init__.py │ │ ├── calc/ │ │ │ ├── __init__.py │ │ │ ├── booster/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── remove.py │ │ │ │ ├── sideEffectToggleState.py │ │ │ │ └── toggleStates.py │ │ │ ├── cargo/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeAmount.py │ │ │ │ └── remove.py │ │ │ ├── commandFit/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── remove.py │ │ │ │ └── toggleStates.py │ │ │ ├── drone/ │ │ │ │ ├── __init__.py │ │ │ │ ├── localAdd.py │ │ │ │ ├── localChangeAmount.py │ │ │ │ ├── localChangeMutation.py │ │ │ │ ├── localRemove.py │ │ │ │ ├── localToggleStates.py │ │ │ │ ├── projectedAdd.py │ │ │ │ ├── projectedChangeAmount.py │ │ │ │ ├── projectedChangeProjectionRange.py │ │ │ │ ├── projectedChangeState.py │ │ │ │ └── projectedRemove.py │ │ │ ├── fighter/ │ │ │ │ ├── __init__.py │ │ │ │ ├── abilityToggleStates.py │ │ │ │ ├── changeAmount.py │ │ │ │ ├── localAdd.py │ │ │ │ ├── localRemove.py │ │ │ │ ├── localToggleStates.py │ │ │ │ ├── projectedAdd.py │ │ │ │ ├── projectedChangeProjectionRange.py │ │ │ │ ├── projectedChangeState.py │ │ │ │ └── projectedRemove.py │ │ │ ├── fitPilotSecurity.py │ │ │ ├── fitRename.py │ │ │ ├── fitSystemSecurity.py │ │ │ ├── implant/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeLocation.py │ │ │ │ ├── remove.py │ │ │ │ └── toggleStates.py │ │ │ ├── itemRebase.py │ │ │ ├── module/ │ │ │ │ ├── __init__.py │ │ │ │ ├── changeCharges.py │ │ │ │ ├── changeSpool.py │ │ │ │ ├── localAdd.py │ │ │ │ ├── localChangeMutation.py │ │ │ │ ├── localChangeStates.py │ │ │ │ ├── localClone.py │ │ │ │ ├── localRemove.py │ │ │ │ ├── localReplace.py │ │ │ │ ├── localSwap.py │ │ │ │ ├── projectedAdd.py │ │ │ │ ├── projectedChangeProjectionRange.py │ │ │ │ ├── projectedChangeStates.py │ │ │ │ └── projectedRemove.py │ │ │ ├── projectedFit/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeAmount.py │ │ │ │ ├── changeProjectionRange.py │ │ │ │ ├── changeState.py │ │ │ │ └── remove.py │ │ │ └── shipModeChange.py │ │ ├── gui/ │ │ │ ├── __init__.py │ │ │ ├── booster/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeMeta.py │ │ │ │ ├── imprt.py │ │ │ │ ├── remove.py │ │ │ │ ├── sideEffectToggleState.py │ │ │ │ └── toggleStates.py │ │ │ ├── cargo/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeAmount.py │ │ │ │ ├── changeMetas.py │ │ │ │ ├── imprt.py │ │ │ │ └── remove.py │ │ │ ├── commandFit/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── remove.py │ │ │ │ └── toggleStates.py │ │ │ ├── fitPilotSecurity.py │ │ │ ├── fitRename.py │ │ │ ├── fitRestrictionToggle.py │ │ │ ├── fitSystemSecurity.py │ │ │ ├── implant/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeLocation.py │ │ │ │ ├── changeMeta.py │ │ │ │ ├── imprt.py │ │ │ │ ├── remove.py │ │ │ │ ├── setAdd.py │ │ │ │ └── toggleStates.py │ │ │ ├── itemsRebase.py │ │ │ ├── localDrone/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeAmount.py │ │ │ │ ├── changeMetas.py │ │ │ │ ├── changeMutation.py │ │ │ │ ├── clone.py │ │ │ │ ├── imprt.py │ │ │ │ ├── mutatedConvert.py │ │ │ │ ├── mutatedImport.py │ │ │ │ ├── mutatedRevert.py │ │ │ │ ├── remove.py │ │ │ │ ├── stackSplit.py │ │ │ │ ├── stacksMerge.py │ │ │ │ └── toggleStates.py │ │ │ ├── localFighter/ │ │ │ │ ├── __init__.py │ │ │ │ ├── abilityToggleState.py │ │ │ │ ├── add.py │ │ │ │ ├── changeAmount.py │ │ │ │ ├── changeMetas.py │ │ │ │ ├── imprt.py │ │ │ │ ├── remove.py │ │ │ │ └── toggleStates.py │ │ │ ├── localModule/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeCharges.py │ │ │ │ ├── changeMetas.py │ │ │ │ ├── changeMutation.py │ │ │ │ ├── changeSpool.py │ │ │ │ ├── changeStates.py │ │ │ │ ├── clone.py │ │ │ │ ├── fillAdd.py │ │ │ │ ├── fillClone.py │ │ │ │ ├── mutatedConvert.py │ │ │ │ ├── mutatedImport.py │ │ │ │ ├── mutatedRevert.py │ │ │ │ ├── remove.py │ │ │ │ ├── replace.py │ │ │ │ └── swap.py │ │ │ ├── localModuleCargo/ │ │ │ │ ├── __init__.py │ │ │ │ ├── cargoToLocalModule.py │ │ │ │ └── localModuleToCargo.py │ │ │ ├── projectedChangeProjectionRange.py │ │ │ ├── projectedChangeStates.py │ │ │ ├── projectedDrone/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeAmount.py │ │ │ │ └── changeMetas.py │ │ │ ├── projectedFighter/ │ │ │ │ ├── __init__.py │ │ │ │ ├── abilityToggleState.py │ │ │ │ ├── add.py │ │ │ │ ├── changeAmount.py │ │ │ │ └── changeMetas.py │ │ │ ├── projectedFit/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ └── changeAmount.py │ │ │ ├── projectedModule/ │ │ │ │ ├── __init__.py │ │ │ │ ├── add.py │ │ │ │ ├── changeCharges.py │ │ │ │ ├── changeMetas.py │ │ │ │ └── changeSpool.py │ │ │ ├── projectedRemove.py │ │ │ └── shipModeChange.py │ │ └── helpers.py │ ├── globalEvents.py │ ├── itemStats.py │ ├── mainFrame.py │ ├── mainMenuBar.py │ ├── marketBrowser.py │ ├── multiSwitch.py │ ├── patternEditor.py │ ├── preferenceDialog.py │ ├── preferenceView.py │ ├── propertyEditor.py │ ├── pyfa_gauge.py │ ├── setEditor.py │ ├── shipBrowser.py │ ├── ssoLogin.py │ ├── statsPane.py │ ├── statsView.py │ ├── targetProfileEditor.py │ ├── toggle_panel.py │ ├── updateDialog.py │ ├── utils/ │ │ ├── __init__.py │ │ ├── anim.py │ │ ├── anim_effects.py │ │ ├── clipboard.py │ │ ├── color.py │ │ ├── dark.py │ │ ├── draw.py │ │ ├── exportHtml.py │ │ ├── fonts.py │ │ ├── gdi.py │ │ ├── helpers_wxPython.py │ │ ├── inputs.py │ │ ├── listFormatter.py │ │ ├── numberFormatter.py │ │ ├── progressHelper.py │ │ ├── sorter.py │ │ └── staticHelpers.py │ └── viewColumn.py ├── locale/ │ ├── README.md │ ├── en_US/ │ │ └── LC_MESSAGES/ │ │ └── lang.po │ ├── es_ES/ │ │ └── LC_MESSAGES/ │ │ └── lang.po │ ├── fr_FR/ │ │ └── LC_MESSAGES/ │ │ └── lang.po │ ├── it_IT/ │ │ └── LC_MESSAGES/ │ │ └── lang.po │ ├── ja_JP/ │ │ └── LC_MESSAGES/ │ │ └── lang.po │ ├── ko_KR/ │ │ └── LC_MESSAGES/ │ │ └── lang.po │ ├── lang.pot │ ├── ru_RU/ │ │ └── LC_MESSAGES/ │ │ └── lang.po │ ├── tr_TR/ │ │ └── LC_MESSAGES/ │ │ └── lang.po │ └── zh_CN/ │ └── LC_MESSAGES/ │ └── lang.po ├── locale_test/ │ └── getTextLocale.py ├── pyfa.py ├── pyfa.spec ├── requirements.txt ├── scripts/ │ ├── __init__.py │ ├── compile_data.py │ ├── compile_lang.py │ ├── conversion.py │ ├── dump_crowdin_progress.py │ ├── dump_data.py │ ├── dump_version.py │ ├── dynamicattributes.py │ ├── effectUsedBy.py │ ├── findNonMarket.py │ ├── icons_update.py │ ├── itemDiff.py │ ├── msgfmt.py │ ├── osx-package.sh │ ├── osx-setup.sh │ ├── osx-translations.sh │ └── renders_update.py ├── service/ │ ├── __init__.py │ ├── ammo.py │ ├── attribute.py │ ├── character.py │ ├── const.py │ ├── conversions/ │ │ ├── __init__.py │ │ ├── releaseApr2020.py │ │ ├── releaseApril2016.py │ │ ├── releaseAug2019.py │ │ ├── releaseAug2020.py │ │ ├── releaseAug2022.py │ │ ├── releaseCarnyx.py │ │ ├── releaseDec2021.py │ │ ├── releaseDecember15.py │ │ ├── releaseEquinox.py │ │ ├── releaseFeb2016.py │ │ ├── releaseFeb2018.py │ │ ├── releaseFeb2020.py │ │ ├── releaseFeb2023.py │ │ ├── releaseInvasion.py │ │ ├── releaseJan2016.py │ │ ├── releaseJan2020.py │ │ ├── releaseJul2020.py │ │ ├── releaseJun2020.py │ │ ├── releaseMar2016.py │ │ ├── releaseMar2020.py │ │ ├── releaseMay2020.py │ │ ├── releaseNov2016.py │ │ ├── releaseNov2025.py │ │ ├── releaseOceanus.py │ │ ├── releaseOct2020.py │ │ ├── releaseOct2021.py │ │ ├── releaseParallax.py │ │ ├── releaseProteus.py │ │ ├── releaseSep2020.py │ │ ├── releaseSep2023.py │ │ ├── releaseSep2024.py │ │ ├── releaseSep2025.py │ │ ├── releaseTiamat.py │ │ ├── skinnedShips.py │ │ └── trigDread.py │ ├── crudeTests.py │ ├── damagePattern.py │ ├── esi.py │ ├── esiAccess.py │ ├── eveapi.py │ ├── fit.py │ ├── implantSet.py │ ├── jargon/ │ │ ├── __init__.py │ │ ├── defaults.yaml │ │ ├── header.yaml │ │ ├── jargon.py │ │ ├── loader.py │ │ └── resources.py │ ├── market.py │ ├── marketSources/ │ │ ├── __init__.py │ │ ├── cevemarket.py │ │ ├── evemarketdata.py │ │ ├── evetycoon.py │ │ └── fuzzwork.py │ ├── network.py │ ├── port/ │ │ ├── __init__.py │ │ ├── dna.py │ │ ├── efs.py │ │ ├── eft.py │ │ ├── esi.py │ │ ├── multibuy.py │ │ ├── muta.py │ │ ├── port.py │ │ ├── shared.py │ │ ├── shipstats.py │ │ └── xml.py │ ├── precalcImplantSet.py │ ├── prefetch.py │ ├── prereqsCheck.py │ ├── price.py │ ├── pycrest/ │ │ └── eve.py │ ├── server.py │ ├── settings.py │ ├── targetProfile.py │ └── update.py ├── staticdata/ │ ├── fsd_built/ │ │ ├── categories.0.json │ │ ├── dogmaattributes.0.json │ │ ├── dogmaeffects.0.json │ │ ├── dogmaunits.0.json │ │ ├── dynamicitemattributes.0.json │ │ ├── groups.0.json │ │ ├── iconids.0.json │ │ ├── marketgroups.0.json │ │ ├── metagroups.0.json │ │ ├── requiredskillsfortypes.0.json │ │ ├── typedogma.0.json │ │ ├── typedogma.1.json │ │ ├── typedogma.2.json │ │ ├── types.0.json │ │ ├── types.1.json │ │ ├── types.2.json │ │ ├── types.3.json │ │ ├── types.4.json │ │ └── types.5.json │ ├── fsd_lite/ │ │ ├── clonegrades.0.json │ │ └── dbuffcollections.0.json │ └── phobos/ │ ├── metadata.0.json │ └── traits.0.json ├── tests/ │ ├── jeffy_ja-en[99].xml │ ├── test_locale/ │ │ ├── file_dialog.py │ │ ├── readme.md │ │ ├── test_Pyfa/ │ │ │ ├── test_codec_english.py │ │ │ └── testcodec │ │ ├── test_os_walk.py │ │ ├── test_знаф/ │ │ │ ├── test_codec_russian.py │ │ │ └── testcodec │ │ ├── test_פטכש/ │ │ │ ├── test_codec_hebrew.py │ │ │ └── testcodec │ │ └── test_测试/ │ │ ├── test_codec_chinese_simplified.py │ │ └── testcodec │ ├── test_modules/ │ │ ├── test_eos/ │ │ │ ├── test_gamedata.py │ │ │ ├── test_modifiedAttributeDict.py │ │ │ ├── test_saveddata/ │ │ │ │ ├── test_booster.py │ │ │ │ └── test_fit_2.py │ │ │ └── test_utils/ │ │ │ └── test_stats.py │ │ ├── test_gui/ │ │ │ └── test_aboutData.py │ │ └── test_service/ │ │ ├── test_attribute.py │ │ └── test_fit.py │ ├── test_placeholder.py │ └── test_unread_desc.py ├── tox.ini ├── utils/ │ ├── __init__.py │ ├── cjk.py │ ├── deprecated.py │ ├── repr.py │ ├── stopwatch.py │ ├── strfunctions.py │ └── timer.py └── version.yml
Showing preview only (731K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (9545 symbols across 532 files)
FILE: _development/helpers.py
function DBInMemory_test (line 18) | def DBInMemory_test():
function DBInMemory (line 96) | def DBInMemory():
function Gamedata (line 118) | def Gamedata():
function Saveddata (line 129) | def Saveddata():
FILE: _development/helpers_fits.py
function RifterFit (line 8) | def RifterFit(DB, Gamedata, Saveddata):
function KeepstarFit (line 20) | def KeepstarFit(DB, Gamedata, Saveddata):
function CurseFit (line 32) | def CurseFit(DB, Gamedata, Saveddata):
function HeronFit (line 51) | def HeronFit(DB, Gamedata, Saveddata):
FILE: _development/helpers_items.py
function StrongBluePillBooster (line 8) | def StrongBluePillBooster (DB, Gamedata, Saveddata):
FILE: _development/helpers_locale.py
function GetPath (line 77) | def GetPath(root, file=None, codec=None):
function GetUnicodePath (line 89) | def GetUnicodePath(root, file=None, codec=None):
FILE: config.py
function getClientSecret (line 86) | def getClientSecret():
function isFrozen (line 90) | def isFrozen():
function __createDirs (line 97) | def __createDirs(path):
function getPyfaRoot (line 102) | def getPyfaRoot():
function getVersion (line 111) | def getVersion():
function getDefaultSave (line 115) | def getDefaultSave():
function defPaths (line 119) | def defPaths(customSavePath=None):
function defLogging (line 222) | def defLogging():
class LoggerWriter (line 281) | class LoggerWriter:
method __init__ (line 282) | def __init__(self, level):
method write (line 287) | def write(self, message):
method flush (line 293) | def flush(self):
FILE: db_update.py
function db_needs_update (line 44) | def db_needs_update():
function update_db (line 84) | def update_db():
FILE: eos/calc.py
function calculateMultiplier (line 27) | def calculateMultiplier(multipliers):
function calculateRangeFactor (line 53) | def calculateRangeFactor(srcOptimalRange, srcFalloffRange, distance, res...
function calculateLockTime (line 68) | def calculateLockTime(srcScanRes, tgtSigRadius):
FILE: eos/capSim.py
function lcm (line 9) | def lcm(a, b):
class CapSimulator (line 16) | class CapSimulator:
method __init__ (line 19) | def __init__(self):
method scale_activation (line 53) | def scale_activation(self, duration, capNeed):
method init (line 70) | def init(self, modules):
method reset (line 76) | def reset(self):
method run (line 136) | def run(self):
FILE: eos/config.py
function set_lang (line 30) | def set_lang(i18n_lang):
FILE: eos/const.py
class FittingSlot (line 24) | class FittingSlot(IntEnum):
class ImplantLocation (line 52) | class ImplantLocation(IntEnum):
class CalcType (line 61) | class CalcType(IntEnum):
class FittingModuleState (line 71) | class FittingModuleState(IntEnum):
class FittingHardpoint (line 82) | class FittingHardpoint(IntEnum):
class SpoolType (line 92) | class SpoolType(IntEnum):
class FitSystemSecurity (line 102) | class FitSystemSecurity(IntEnum):
class Operator (line 110) | class Operator(IntEnum):
FILE: eos/db/__init__.py
class ReadOnlyException (line 37) | class ReadOnlyException(Exception):
function re_fn (line 41) | def re_fn(expr, item):
function create_functions (line 60) | def create_functions(dbapi_connection, connection_record):
function get_gamedata_session (line 72) | def get_gamedata_session():
function rollback (line 136) | def rollback():
FILE: eos/db/gamedata/queries.py
function cachedQuery (line 34) | def cachedQuery(amount, *keywords):
function cachedQuery (line 57) | def cachedQuery(amount, *keywords):
function sqlizeNormalString (line 67) | def sqlizeNormalString(line):
function getItem (line 79) | def getItem(lookfor, eager=None):
function getItems (line 102) | def getItems(itemIDs, eager=None):
function getMutaplasmid (line 112) | def getMutaplasmid(lookfor, eager=None):
function getItemWithBaseItemAttribute (line 120) | def getItemWithBaseItemAttribute(lookfor, baseItemID, eager=None):
function getItems (line 143) | def getItems(lookfor, eager=None):
function getAlphaClone (line 172) | def getAlphaClone(lookfor, eager=None):
function getAlphaCloneList (line 183) | def getAlphaCloneList(eager=None):
function getGroup (line 193) | def getGroup(lookfor, eager=None):
function getCategory (line 220) | def getCategory(lookfor, eager=None):
function getMetaGroup (line 250) | def getMetaGroup(lookfor, eager=None):
function getMetaGroups (line 276) | def getMetaGroups():
function getMarketGroup (line 281) | def getMarketGroup(lookfor, eager=None):
function getMarketTreeNodeIds (line 293) | def getMarketTreeNodeIds(rootNodeIds):
function getItemsByCategory (line 303) | def getItemsByCategory(filter, where=None, eager=None):
function searchItems (line 317) | def searchItems(nameLike, where=None, join=None, eager=None):
function searchItemsRegex (line 339) | def searchItemsRegex(tokens, where=None, join=None, eager=None):
function searchSkills (line 360) | def searchSkills(nameLike, where=None, eager=None):
function getVariations (line 376) | def getVariations(itemids, groupIDs=None, where=None, eager=None):
function getAttributeInfo (line 401) | def getAttributeInfo(attr, eager=None):
function getMetaData (line 416) | def getMetaData(field):
function directAttributeRequest (line 425) | def directAttributeRequest(itemIDs, attrIDs):
function getAbyssalTypes (line 441) | def getAbyssalTypes():
function getDynamicItem (line 446) | def getDynamicItem(itemID, eager=None):
function getAllImplantSets (line 461) | def getAllImplantSets():
FILE: eos/db/migration.py
function getVersion (line 11) | def getVersion(db):
function getAppVersion (line 16) | def getAppVersion():
function update (line 20) | def update(saveddata_engine):
FILE: eos/db/migrations/upgrade1.py
function upgrade (line 86) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade10.py
function upgrade (line 10) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade11.py
function upgrade (line 109) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade12.py
function upgrade (line 333) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade13.py
function upgrade (line 10) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade14.py
function upgrade (line 10) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade15.py
function upgrade (line 8) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade16.py
function upgrade (line 10) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade17.py
function upgrade (line 8) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade18.py
function upgrade (line 61) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade19.py
function upgrade (line 8) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade2.py
function upgrade (line 10) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade20.py
function upgrade (line 10) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade21.py
function upgrade (line 9) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade22.py
function upgrade (line 9) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade23.py
function upgrade (line 9) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade24.py
function upgrade (line 9) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade25.py
function upgrade (line 4205) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade26.py
function upgrade (line 8) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade27.py
function upgrade (line 8) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade28.py
function upgrade (line 9) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade29.py
function upgrade (line 9) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade3.py
function upgrade (line 10) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade30.py
function upgrade (line 11) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade31.py
function upgrade (line 11) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade32.py
function upgrade (line 11) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade33.py
function upgrade (line 24) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade34.py
function upgrade (line 9) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade35.py
function upgrade (line 156) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade36.py
function upgrade (line 77) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade37.py
function upgrade (line 37) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade38.py
function upgrade (line 35) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade39.py
function upgrade (line 27) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade4.py
function upgrade (line 134) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade40.py
function upgrade (line 13) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade41.py
function upgrade (line 41) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade42.py
function upgrade (line 41) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade43.py
function upgrade (line 17) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade44.py
function upgrade (line 16) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade45.py
function upgrade (line 10) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade46.py
function upgrade (line 57) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade47.py
function upgrade (line 26) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade48.py
function upgrade (line 11) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade49.py
function upgrade (line 11) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade5.py
function upgrade (line 8) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade6.py
function upgrade (line 8) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade7.py
function upgrade (line 18) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade8.py
function upgrade (line 78) | def upgrade(saveddata_engine):
FILE: eos/db/migrations/upgrade9.py
function upgrade (line 20) | def upgrade(saveddata_engine):
FILE: eos/db/saveddata/databaseRepair.py
class DatabaseCleanup (line 26) | class DatabaseCleanup:
method __init__ (line 27) | def __init__(self):
method ExecuteSQLQuery (line 31) | def ExecuteSQLQuery(saveddata_engine, query):
method OrphanedCharacterSkills (line 40) | def OrphanedCharacterSkills(saveddata_engine):
method OrphanedFitDamagePatterns (line 59) | def OrphanedFitDamagePatterns(saveddata_engine):
method OrphanedFitCharacterIDs (line 94) | def OrphanedFitCharacterIDs(saveddata_engine):
method NullDamagePatternNames (line 127) | def NullDamagePatternNames(saveddata_engine):
method NullTargetResistNames (line 146) | def NullTargetResistNames(saveddata_engine):
method OrphanedFitIDItemID (line 165) | def OrphanedFitIDItemID(saveddata_engine):
method NullDamageTargetPatternValues (line 202) | def NullDamageTargetPatternValues(saveddata_engine):
method DuplicateSelectedAmmoName (line 224) | def DuplicateSelectedAmmoName(saveddata_engine):
FILE: eos/db/saveddata/fit.py
class ProjectedFit (line 89) | class ProjectedFit:
method __init__ (line 91) | def __init__(self, sourceID, source_fit, amount=1, active=True):
method init (line 98) | def init(self):
method amount (line 108) | def amount(self):
method amount (line 112) | def amount(self, amount):
method __repr__ (line 115) | def __repr__(self):
class CommandFit (line 121) | class CommandFit:
method __init__ (line 122) | def __init__(self, boosterID, booster_fit, active=True):
method init (line 128) | def init(self):
method __repr__ (line 135) | def __repr__(self):
FILE: eos/db/saveddata/queries.py
function cachedQuery (line 50) | def cachedQuery(type, amount, *keywords):
function removeCachedEntry (line 109) | def removeCachedEntry(type, ID):
function cachedQuery (line 129) | def cachedQuery(amount, *keywords):
function removeCachedEntry (line 138) | def removeCachedEntry(*args, **kwargs):
function sqlizeString (line 142) | def sqlizeString(line):
function getUser (line 151) | def getUser(lookfor, eager=None):
function getCharacter (line 170) | def getCharacter(lookfor, eager=None):
function getCharacterList (line 189) | def getCharacterList(eager=None):
function getCharactersForUser (line 196) | def getCharactersForUser(lookfor, eager=None):
function getFit (line 207) | def getFit(lookfor, eager=None):
function getFitsWithShip (line 227) | def getFitsWithShip(shipID, ownerID=None, where=None, eager=None):
function getRecentFits (line 249) | def getRecentFits(ownerID=None, where=None, eager=None):
function getFitsWithModules (line 266) | def getFitsWithModules(typeIDs, eager=None):
function countAllFits (line 281) | def countAllFits():
function countFitGroupedByShip (line 287) | def countFitGroupedByShip():
function countFitsWithShip (line 293) | def countFitsWithShip(lookfor, ownerID=None, where=None, eager=None):
function getFitList (line 321) | def getFitList(eager=None):
function getFitListLite (line 329) | def getFitListLite():
function getPrice (line 341) | def getPrice(typeID):
function clearPrices (line 350) | def clearPrices():
function getMiscData (line 357) | def getMiscData(field):
function getDamagePatternList (line 366) | def getDamagePatternList(eager=None):
function clearDamagePatterns (line 373) | def clearDamagePatterns():
function getTargetProfileList (line 380) | def getTargetProfileList(eager=None):
function clearTargetProfiles (line 387) | def clearTargetProfiles():
function getImplantSetList (line 394) | def getImplantSetList(eager=None):
function getDamagePattern (line 402) | def getDamagePattern(lookfor, eager=None):
function getTargetProfile (line 423) | def getTargetProfile(lookfor, eager=None):
function getImplantSet (line 444) | def getImplantSet(lookfor, eager=None):
function searchFits (line 463) | def searchFits(nameLike, where=None, eager=None):
function getProjectedFits (line 478) | def getProjectedFits(fitID):
function getSsoCharacters (line 488) | def getSsoCharacters(clientHash, eager=None):
function getSsoCharacter (line 496) | def getSsoCharacter(lookfor, clientHash, server=None, eager=None):
function getOverrides (line 516) | def getOverrides(itemID, eager=None):
function clearOverrides (line 523) | def clearOverrides():
function getAllOverrides (line 530) | def getAllOverrides(eager=None):
function removeInvalid (line 534) | def removeInvalid(fits):
function add (line 545) | def add(stuff):
function save (line 550) | def save(stuff):
function remove (line 555) | def remove(stuff):
function commit (line 562) | def commit():
function flush (line 574) | def flush():
FILE: eos/db/util.py
function processEager (line 37) | def processEager(eager):
function _replacements (line 51) | def _replacements(eagerString):
function processWhere (line 62) | def processWhere(clause, where):
FILE: eos/effectHandlerHelpers.py
class HandledList (line 29) | class HandledList(list):
method filteredItemPreAssign (line 30) | def filteredItemPreAssign(self, filter, *args, **kwargs):
method filteredItemIncrease (line 38) | def filteredItemIncrease(self, filter, *args, **kwargs):
method filteredItemMultiply (line 46) | def filteredItemMultiply(self, filter, *args, **kwargs):
method filteredItemBoost (line 54) | def filteredItemBoost(self, filter, *args, **kwargs):
method filteredItemForce (line 62) | def filteredItemForce(self, filter, *args, **kwargs):
method filteredChargePreAssign (line 70) | def filteredChargePreAssign(self, filter, *args, **kwargs):
method filteredChargeIncrease (line 78) | def filteredChargeIncrease(self, filter, *args, **kwargs):
method filteredChargeMultiply (line 86) | def filteredChargeMultiply(self, filter, *args, **kwargs):
method filteredChargeBoost (line 94) | def filteredChargeBoost(self, filter, *args, **kwargs):
method filteredChargeForce (line 102) | def filteredChargeForce(self, filter, *args, **kwargs):
method remove (line 110) | def remove(self, thing):
method sort (line 115) | def sort(self, *args, **kwargs):
class HandledModuleList (line 121) | class HandledModuleList(HandledList):
method append (line 123) | def append(self, mod):
method appendIgnoreEmpty (line 141) | def appendIgnoreEmpty(self, mod):
method replace (line 147) | def replace(self, idx, mod):
method replaceRackPosition (line 156) | def replaceRackPosition(self, rackPosition, mod):
method insert (line 180) | def insert(self, idx, mod):
method remove (line 190) | def remove(self, mod):
method free (line 197) | def free(self, idx):
method __toDummy (line 200) | def __toDummy(self, index):
method __toModule (line 208) | def __toModule(self, index, mod):
class HandledDroneCargoList (line 215) | class HandledDroneCargoList(HandledList):
method find (line 217) | def find(self, item):
method findFirst (line 222) | def findFirst(self, item):
method append (line 226) | def append(self, thing):
method insert (line 231) | def insert(self, idx, thing):
class HandledImplantList (line 237) | class HandledImplantList(HandledList):
method append (line 239) | def append(self, implant):
method insert (line 250) | def insert(self, idx, implant):
method makeRoom (line 261) | def makeRoom(self, implant):
method __slotCheck (line 274) | def __slotCheck(self, implant):
class HandledBoosterList (line 278) | class HandledBoosterList(HandledList):
method append (line 280) | def append(self, booster):
method insert (line 291) | def insert(self, idx, booster):
method makeRoom (line 302) | def makeRoom(self, booster):
method __slotCheck (line 315) | def __slotCheck(self, booster):
class HandledSsoCharacterList (line 319) | class HandledSsoCharacterList(list):
method append (line 321) | def append(self, character):
class HandledProjectedModList (line 330) | class HandledProjectedModList(HandledList):
method append (line 332) | def append(self, proj):
method insert (line 345) | def insert(self, idx, proj):
method currentSystemEffect (line 359) | def currentSystemEffect(self):
method makeRoom (line 362) | def makeRoom(self, proj):
class HandledProjectedDroneList (line 378) | class HandledProjectedDroneList(HandledDroneCargoList):
method append (line 380) | def append(self, proj):
method insert (line 388) | def insert(self, idx, proj):
class HandledItem (line 397) | class HandledItem:
method preAssignItemAttr (line 398) | def preAssignItemAttr(self, *args, **kwargs):
method increaseItemAttr (line 401) | def increaseItemAttr(self, *args, **kwargs):
method multiplyItemAttr (line 404) | def multiplyItemAttr(self, *args, **kwargs):
method boostItemAttr (line 407) | def boostItemAttr(self, *args, **kwargs):
method forceItemAttr (line 410) | def forceItemAttr(self, *args, **kwargs):
class HandledCharge (line 414) | class HandledCharge:
method preAssignChargeAttr (line 415) | def preAssignChargeAttr(self, *args, **kwargs):
method increaseChargeAttr (line 418) | def increaseChargeAttr(self, *args, **kwargs):
method multiplyChargeAttr (line 421) | def multiplyChargeAttr(self, *args, **kwargs):
method boostChargeAttr (line 424) | def boostChargeAttr(self, *args, **kwargs):
method forceChargeAttr (line 427) | def forceChargeAttr(self, *args, **kwargs):
FILE: eos/effects.py
class BaseEffect (line 27) | class BaseEffect:
method handler (line 32) | def handler(fit, module, context, projectionRange, **kwargs):
class DummyEffect (line 36) | class DummyEffect(BaseEffect):
class Effect100000 (line 40) | class Effect100000(BaseEffect):
method handler (line 52) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect100001 (line 59) | class Effect100001(BaseEffect):
method handler (line 71) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect100002 (line 78) | class Effect100002(BaseEffect):
method handler (line 91) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4 (line 98) | class Effect4(BaseEffect):
method handler (line 110) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect10 (line 116) | class Effect10(BaseEffect):
method handler (line 134) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect17 (line 139) | class Effect17(BaseEffect):
method handler (line 151) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect21 (line 159) | class Effect21(BaseEffect):
method handler (line 171) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect25 (line 175) | class Effect25(BaseEffect):
method handler (line 186) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect26 (line 190) | class Effect26(BaseEffect):
method handler (line 202) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect27 (line 208) | class Effect27(BaseEffect):
method handler (line 220) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect34 (line 229) | class Effect34(BaseEffect):
method handler (line 242) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect38 (line 251) | class Effect38(BaseEffect):
class Effect39 (line 263) | class Effect39(BaseEffect):
method handler (line 274) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect46 (line 284) | class Effect46(BaseEffect):
class Effect47 (line 295) | class Effect47(BaseEffect):
class Effect48 (line 306) | class Effect48(BaseEffect):
method handler (line 317) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect50 (line 329) | class Effect50(BaseEffect):
method handler (line 344) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect51 (line 348) | class Effect51(BaseEffect):
method handler (line 364) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect54 (line 368) | class Effect54(BaseEffect):
class Effect55 (line 379) | class Effect55(BaseEffect):
class Effect56 (line 390) | class Effect56(BaseEffect):
method handler (line 405) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect57 (line 411) | class Effect57(BaseEffect):
method handler (line 425) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect58 (line 431) | class Effect58(BaseEffect):
method handler (line 446) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect59 (line 452) | class Effect59(BaseEffect):
method handler (line 465) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect60 (line 469) | class Effect60(BaseEffect):
method handler (line 481) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect61 (line 485) | class Effect61(BaseEffect):
method handler (line 496) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect63 (line 500) | class Effect63(BaseEffect):
method handler (line 512) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect67 (line 516) | class Effect67(BaseEffect):
method handler (line 530) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect89 (line 535) | class Effect89(BaseEffect):
method handler (line 546) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect91 (line 552) | class Effect91(BaseEffect):
method handler (line 563) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect92 (line 569) | class Effect92(BaseEffect):
method handler (line 580) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect93 (line 586) | class Effect93(BaseEffect):
method handler (line 597) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect95 (line 603) | class Effect95(BaseEffect):
method handler (line 614) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect96 (line 620) | class Effect96(BaseEffect):
method handler (line 631) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect101 (line 637) | class Effect101(BaseEffect):
method handler (line 652) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect118 (line 674) | class Effect118(BaseEffect):
method handler (line 685) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect157 (line 689) | class Effect157(BaseEffect):
method handler (line 703) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect159 (line 709) | class Effect159(BaseEffect):
method handler (line 723) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect160 (line 729) | class Effect160(BaseEffect):
method handler (line 743) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect161 (line 749) | class Effect161(BaseEffect):
method handler (line 763) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect162 (line 769) | class Effect162(BaseEffect):
method handler (line 784) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect172 (line 790) | class Effect172(BaseEffect):
method handler (line 804) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect173 (line 810) | class Effect173(BaseEffect):
method handler (line 824) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect174 (line 830) | class Effect174(BaseEffect):
method handler (line 844) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect212 (line 850) | class Effect212(BaseEffect):
method handler (line 863) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect214 (line 869) | class Effect214(BaseEffect):
method handler (line 880) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect223 (line 885) | class Effect223(BaseEffect):
method handler (line 897) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect227 (line 901) | class Effect227(BaseEffect):
method handler (line 912) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect230 (line 917) | class Effect230(BaseEffect):
method handler (line 932) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect235 (line 938) | class Effect235(BaseEffect):
method handler (line 949) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect242 (line 953) | class Effect242(BaseEffect):
method handler (line 966) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect244 (line 971) | class Effect244(BaseEffect):
method handler (line 985) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect271 (line 991) | class Effect271(BaseEffect):
method handler (line 1007) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect272 (line 1012) | class Effect272(BaseEffect):
method handler (line 1027) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect273 (line 1034) | class Effect273(BaseEffect):
method handler (line 1047) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect277 (line 1053) | class Effect277(BaseEffect):
method handler (line 1064) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect279 (line 1068) | class Effect279(BaseEffect):
method handler (line 1080) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect287 (line 1087) | class Effect287(BaseEffect):
method handler (line 1099) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect290 (line 1105) | class Effect290(BaseEffect):
method handler (line 1119) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect298 (line 1125) | class Effect298(BaseEffect):
method handler (line 1139) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect315 (line 1145) | class Effect315(BaseEffect):
method handler (line 1156) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect391 (line 1161) | class Effect391(BaseEffect):
method handler (line 1179) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect392 (line 1185) | class Effect392(BaseEffect):
method handler (line 1202) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect394 (line 1207) | class Effect394(BaseEffect):
method handler (line 1231) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect395 (line 1239) | class Effect395(BaseEffect):
method handler (line 1266) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect396 (line 1273) | class Effect396(BaseEffect):
method handler (line 1286) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect397 (line 1292) | class Effect397(BaseEffect):
method handler (line 1308) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect408 (line 1313) | class Effect408(BaseEffect):
method handler (line 1327) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect414 (line 1333) | class Effect414(BaseEffect):
method handler (line 1347) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect446 (line 1353) | class Effect446(BaseEffect):
method handler (line 1373) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect485 (line 1378) | class Effect485(BaseEffect):
method handler (line 1400) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect486 (line 1405) | class Effect486(BaseEffect):
method handler (line 1419) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect490 (line 1424) | class Effect490(BaseEffect):
method handler (line 1440) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect494 (line 1445) | class Effect494(BaseEffect):
method handler (line 1457) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect504 (line 1463) | class Effect504(BaseEffect):
method handler (line 1476) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect506 (line 1482) | class Effect506(BaseEffect):
method handler (line 1494) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect507 (line 1499) | class Effect507(BaseEffect):
method handler (line 1513) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect508 (line 1518) | class Effect508(BaseEffect):
method handler (line 1533) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect511 (line 1538) | class Effect511(BaseEffect):
method handler (line 1555) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect512 (line 1561) | class Effect512(BaseEffect):
method handler (line 1577) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect514 (line 1583) | class Effect514(BaseEffect):
method handler (line 1596) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect516 (line 1602) | class Effect516(BaseEffect):
method handler (line 1615) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect521 (line 1621) | class Effect521(BaseEffect):
method handler (line 1632) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect527 (line 1638) | class Effect527(BaseEffect):
method handler (line 1651) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect529 (line 1656) | class Effect529(BaseEffect):
method handler (line 1668) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect536 (line 1673) | class Effect536(BaseEffect):
method handler (line 1685) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect542 (line 1689) | class Effect542(BaseEffect):
method handler (line 1701) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect549 (line 1706) | class Effect549(BaseEffect):
method handler (line 1719) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect550 (line 1725) | class Effect550(BaseEffect):
method handler (line 1740) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect553 (line 1746) | class Effect553(BaseEffect):
method handler (line 1757) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect562 (line 1763) | class Effect562(BaseEffect):
method handler (line 1782) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect581 (line 1788) | class Effect581(BaseEffect):
method handler (line 1800) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect582 (line 1806) | class Effect582(BaseEffect):
method handler (line 1817) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect584 (line 1822) | class Effect584(BaseEffect):
method handler (line 1836) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect587 (line 1841) | class Effect587(BaseEffect):
method handler (line 1852) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect588 (line 1857) | class Effect588(BaseEffect):
method handler (line 1868) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect589 (line 1873) | class Effect589(BaseEffect):
method handler (line 1884) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect590 (line 1889) | class Effect590(BaseEffect):
method handler (line 1901) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect596 (line 1907) | class Effect596(BaseEffect):
method handler (line 1918) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect598 (line 1922) | class Effect598(BaseEffect):
method handler (line 1937) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect599 (line 1941) | class Effect599(BaseEffect):
method handler (line 1957) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect600 (line 1961) | class Effect600(BaseEffect):
method handler (line 1979) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect602 (line 1983) | class Effect602(BaseEffect):
method handler (line 1999) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect604 (line 2004) | class Effect604(BaseEffect):
method handler (line 2017) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect607 (line 2022) | class Effect607(BaseEffect):
method handler (line 2034) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect623 (line 2043) | class Effect623(BaseEffect):
method handler (line 2055) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect627 (line 2062) | class Effect627(BaseEffect):
method handler (line 2073) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect657 (line 2077) | class Effect657(BaseEffect):
method handler (line 2090) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect660 (line 2096) | class Effect660(BaseEffect):
method handler (line 2109) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect661 (line 2114) | class Effect661(BaseEffect):
method handler (line 2127) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect662 (line 2132) | class Effect662(BaseEffect):
method handler (line 2145) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect668 (line 2150) | class Effect668(BaseEffect):
method handler (line 2163) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect675 (line 2168) | class Effect675(BaseEffect):
method handler (line 2179) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect677 (line 2184) | class Effect677(BaseEffect):
method handler (line 2196) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect699 (line 2202) | class Effect699(BaseEffect):
method handler (line 2219) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect706 (line 2226) | class Effect706(BaseEffect):
method handler (line 2237) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect726 (line 2241) | class Effect726(BaseEffect):
method handler (line 2254) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect727 (line 2264) | class Effect727(BaseEffect):
method handler (line 2276) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect728 (line 2280) | class Effect728(BaseEffect):
method handler (line 2292) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect729 (line 2296) | class Effect729(BaseEffect):
method handler (line 2311) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect730 (line 2321) | class Effect730(BaseEffect):
method handler (line 2333) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect732 (line 2337) | class Effect732(BaseEffect):
method handler (line 2349) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect736 (line 2353) | class Effect736(BaseEffect):
method handler (line 2364) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect744 (line 2368) | class Effect744(BaseEffect):
method handler (line 2380) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect754 (line 2386) | class Effect754(BaseEffect):
method handler (line 2397) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect757 (line 2402) | class Effect757(BaseEffect):
method handler (line 2416) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect760 (line 2421) | class Effect760(BaseEffect):
method handler (line 2433) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect763 (line 2438) | class Effect763(BaseEffect):
method handler (line 2449) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect784 (line 2458) | class Effect784(BaseEffect):
method handler (line 2474) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect804 (line 2482) | class Effect804(BaseEffect):
method handler (line 2493) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect836 (line 2501) | class Effect836(BaseEffect):
method handler (line 2512) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect848 (line 2516) | class Effect848(BaseEffect):
method handler (line 2527) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect854 (line 2533) | class Effect854(BaseEffect):
method handler (line 2544) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect856 (line 2550) | class Effect856(BaseEffect):
method handler (line 2569) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect882 (line 2575) | class Effect882(BaseEffect):
method handler (line 2587) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect887 (line 2592) | class Effect887(BaseEffect):
method handler (line 2604) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect889 (line 2609) | class Effect889(BaseEffect):
method handler (line 2620) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect891 (line 2626) | class Effect891(BaseEffect):
method handler (line 2637) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect892 (line 2649) | class Effect892(BaseEffect):
method handler (line 2660) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect896 (line 2672) | class Effect896(BaseEffect):
method handler (line 2684) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect898 (line 2689) | class Effect898(BaseEffect):
method handler (line 2701) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect899 (line 2707) | class Effect899(BaseEffect):
method handler (line 2721) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect907 (line 2727) | class Effect907(BaseEffect):
method handler (line 2738) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect909 (line 2744) | class Effect909(BaseEffect):
method handler (line 2755) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect912 (line 2760) | class Effect912(BaseEffect):
method handler (line 2772) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect918 (line 2778) | class Effect918(BaseEffect):
method handler (line 2789) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect919 (line 2794) | class Effect919(BaseEffect):
method handler (line 2807) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect958 (line 2813) | class Effect958(BaseEffect):
method handler (line 2824) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect959 (line 2829) | class Effect959(BaseEffect):
method handler (line 2840) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect960 (line 2845) | class Effect960(BaseEffect):
method handler (line 2856) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect961 (line 2861) | class Effect961(BaseEffect):
method handler (line 2872) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect968 (line 2877) | class Effect968(BaseEffect):
method handler (line 2890) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect980 (line 2896) | class Effect980(BaseEffect):
method handler (line 2908) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect989 (line 2913) | class Effect989(BaseEffect):
method handler (line 2926) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect991 (line 2932) | class Effect991(BaseEffect):
method handler (line 2943) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect996 (line 2949) | class Effect996(BaseEffect):
method handler (line 2960) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect998 (line 2966) | class Effect998(BaseEffect):
method handler (line 2977) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect999 (line 2983) | class Effect999(BaseEffect):
method handler (line 2994) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1001 (line 3000) | class Effect1001(BaseEffect):
method handler (line 3011) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1003 (line 3016) | class Effect1003(BaseEffect):
method handler (line 3027) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1004 (line 3032) | class Effect1004(BaseEffect):
method handler (line 3043) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1005 (line 3048) | class Effect1005(BaseEffect):
method handler (line 3059) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1006 (line 3064) | class Effect1006(BaseEffect):
method handler (line 3075) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1007 (line 3080) | class Effect1007(BaseEffect):
method handler (line 3091) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1008 (line 3096) | class Effect1008(BaseEffect):
method handler (line 3107) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1009 (line 3112) | class Effect1009(BaseEffect):
method handler (line 3123) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1010 (line 3128) | class Effect1010(BaseEffect):
method handler (line 3139) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1011 (line 3144) | class Effect1011(BaseEffect):
method handler (line 3155) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1012 (line 3160) | class Effect1012(BaseEffect):
method handler (line 3171) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1013 (line 3176) | class Effect1013(BaseEffect):
method handler (line 3187) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1014 (line 3192) | class Effect1014(BaseEffect):
method handler (line 3203) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1015 (line 3208) | class Effect1015(BaseEffect):
method handler (line 3219) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1016 (line 3224) | class Effect1016(BaseEffect):
method handler (line 3235) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1017 (line 3240) | class Effect1017(BaseEffect):
method handler (line 3251) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1018 (line 3256) | class Effect1018(BaseEffect):
method handler (line 3267) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1019 (line 3272) | class Effect1019(BaseEffect):
method handler (line 3283) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1020 (line 3288) | class Effect1020(BaseEffect):
method handler (line 3299) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1021 (line 3304) | class Effect1021(BaseEffect):
method handler (line 3315) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1024 (line 3321) | class Effect1024(BaseEffect):
method handler (line 3333) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1030 (line 3345) | class Effect1030(BaseEffect):
method handler (line 3358) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1033 (line 3365) | class Effect1033(BaseEffect):
method handler (line 3376) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1034 (line 3381) | class Effect1034(BaseEffect):
method handler (line 3393) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1035 (line 3398) | class Effect1035(BaseEffect):
method handler (line 3409) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1036 (line 3414) | class Effect1036(BaseEffect):
method handler (line 3426) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1046 (line 3431) | class Effect1046(BaseEffect):
method handler (line 3442) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1047 (line 3447) | class Effect1047(BaseEffect):
method handler (line 3458) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1048 (line 3463) | class Effect1048(BaseEffect):
method handler (line 3475) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1049 (line 3480) | class Effect1049(BaseEffect):
method handler (line 3491) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1058 (line 3496) | class Effect1058(BaseEffect):
method handler (line 3507) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1060 (line 3513) | class Effect1060(BaseEffect):
method handler (line 3524) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1061 (line 3530) | class Effect1061(BaseEffect):
method handler (line 3542) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1062 (line 3548) | class Effect1062(BaseEffect):
method handler (line 3559) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1080 (line 3565) | class Effect1080(BaseEffect):
method handler (line 3576) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1084 (line 3582) | class Effect1084(BaseEffect):
method handler (line 3593) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1087 (line 3598) | class Effect1087(BaseEffect):
method handler (line 3609) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1099 (line 3615) | class Effect1099(BaseEffect):
method handler (line 3628) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1176 (line 3634) | class Effect1176(BaseEffect):
method handler (line 3646) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1179 (line 3652) | class Effect1179(BaseEffect):
method handler (line 3663) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1181 (line 3669) | class Effect1181(BaseEffect):
method handler (line 3680) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1182 (line 3686) | class Effect1182(BaseEffect):
method handler (line 3697) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1183 (line 3703) | class Effect1183(BaseEffect):
method handler (line 3715) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1184 (line 3721) | class Effect1184(BaseEffect):
method handler (line 3733) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1185 (line 3739) | class Effect1185(BaseEffect):
method handler (line 3753) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect1190 (line 3757) | class Effect1190(BaseEffect):
method handler (line 3773) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1200 (line 3779) | class Effect1200(BaseEffect):
method handler (line 3791) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect1212 (line 3806) | class Effect1212(BaseEffect):
method handler (line 3818) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect1215 (line 3822) | class Effect1215(BaseEffect):
method handler (line 3835) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1218 (line 3841) | class Effect1218(BaseEffect):
method handler (line 3855) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1219 (line 3860) | class Effect1219(BaseEffect):
method handler (line 3871) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1220 (line 3877) | class Effect1220(BaseEffect):
method handler (line 3890) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1221 (line 3896) | class Effect1221(BaseEffect):
method handler (line 3907) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1222 (line 3913) | class Effect1222(BaseEffect):
method handler (line 3924) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1228 (line 3930) | class Effect1228(BaseEffect):
method handler (line 3942) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1230 (line 3947) | class Effect1230(BaseEffect):
method handler (line 3962) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1232 (line 3969) | class Effect1232(BaseEffect):
method handler (line 3981) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1233 (line 3986) | class Effect1233(BaseEffect):
method handler (line 3998) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1234 (line 4003) | class Effect1234(BaseEffect):
method handler (line 4015) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1239 (line 4020) | class Effect1239(BaseEffect):
method handler (line 4031) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1240 (line 4036) | class Effect1240(BaseEffect):
method handler (line 4047) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1255 (line 4052) | class Effect1255(BaseEffect):
method handler (line 4064) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect1256 (line 4069) | class Effect1256(BaseEffect):
method handler (line 4080) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect1261 (line 4085) | class Effect1261(BaseEffect):
method handler (line 4097) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect1264 (line 4102) | class Effect1264(BaseEffect):
method handler (line 4113) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1268 (line 4119) | class Effect1268(BaseEffect):
method handler (line 4130) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1281 (line 4136) | class Effect1281(BaseEffect):
method handler (line 4149) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1318 (line 4156) | class Effect1318(BaseEffect):
method handler (line 4168) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1360 (line 4178) | class Effect1360(BaseEffect):
method handler (line 4190) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1361 (line 4196) | class Effect1361(BaseEffect):
method handler (line 4208) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1370 (line 4214) | class Effect1370(BaseEffect):
method handler (line 4226) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1372 (line 4232) | class Effect1372(BaseEffect):
method handler (line 4245) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1395 (line 4251) | class Effect1395(BaseEffect):
method handler (line 4263) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1397 (line 4268) | class Effect1397(BaseEffect):
method handler (line 4280) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect1409 (line 4285) | class Effect1409(BaseEffect):
method handler (line 4302) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1410 (line 4308) | class Effect1410(BaseEffect):
method handler (line 4320) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1412 (line 4326) | class Effect1412(BaseEffect):
method handler (line 4337) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1434 (line 4342) | class Effect1434(BaseEffect):
method handler (line 4353) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1441 (line 4361) | class Effect1441(BaseEffect):
method handler (line 4372) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1442 (line 4378) | class Effect1442(BaseEffect):
method handler (line 4389) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1443 (line 4394) | class Effect1443(BaseEffect):
method handler (line 4407) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1445 (line 4413) | class Effect1445(BaseEffect):
method handler (line 4426) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1446 (line 4434) | class Effect1446(BaseEffect):
method handler (line 4447) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1448 (line 4455) | class Effect1448(BaseEffect):
method handler (line 4468) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1449 (line 4476) | class Effect1449(BaseEffect):
method handler (line 4488) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1450 (line 4495) | class Effect1450(BaseEffect):
method handler (line 4507) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1451 (line 4513) | class Effect1451(BaseEffect):
method handler (line 4525) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1452 (line 4531) | class Effect1452(BaseEffect):
method handler (line 4546) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1453 (line 4553) | class Effect1453(BaseEffect):
method handler (line 4565) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1472 (line 4571) | class Effect1472(BaseEffect):
method handler (line 4585) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1500 (line 4593) | class Effect1500(BaseEffect):
method handler (line 4605) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1550 (line 4611) | class Effect1550(BaseEffect):
method handler (line 4622) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1551 (line 4629) | class Effect1551(BaseEffect):
method handler (line 4641) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1577 (line 4647) | class Effect1577(BaseEffect):
method handler (line 4659) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect1579 (line 4665) | class Effect1579(BaseEffect):
method handler (line 4678) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect1581 (line 4683) | class Effect1581(BaseEffect):
method handler (line 4694) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1585 (line 4698) | class Effect1585(BaseEffect):
method handler (line 4709) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1586 (line 4714) | class Effect1586(BaseEffect):
method handler (line 4725) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1587 (line 4730) | class Effect1587(BaseEffect):
method handler (line 4741) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1588 (line 4746) | class Effect1588(BaseEffect):
method handler (line 4758) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1590 (line 4764) | class Effect1590(BaseEffect):
method handler (line 4779) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1592 (line 4787) | class Effect1592(BaseEffect):
method handler (line 4799) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1593 (line 4805) | class Effect1593(BaseEffect):
method handler (line 4817) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1594 (line 4823) | class Effect1594(BaseEffect):
method handler (line 4835) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1595 (line 4841) | class Effect1595(BaseEffect):
method handler (line 4855) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1596 (line 4861) | class Effect1596(BaseEffect):
method handler (line 4875) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1597 (line 4881) | class Effect1597(BaseEffect):
method handler (line 4895) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1615 (line 4901) | class Effect1615(BaseEffect):
method handler (line 4912) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1616 (line 4918) | class Effect1616(BaseEffect):
method handler (line 4929) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1617 (line 4934) | class Effect1617(BaseEffect):
method handler (line 4951) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1634 (line 4956) | class Effect1634(BaseEffect):
method handler (line 4968) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1635 (line 4974) | class Effect1635(BaseEffect):
method handler (line 4987) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1638 (line 4994) | class Effect1638(BaseEffect):
method handler (line 5005) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1643 (line 5013) | class Effect1643(BaseEffect):
method handler (line 5024) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1644 (line 5037) | class Effect1644(BaseEffect):
method handler (line 5048) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1645 (line 5061) | class Effect1645(BaseEffect):
method handler (line 5072) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1646 (line 5085) | class Effect1646(BaseEffect):
method handler (line 5096) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1650 (line 5109) | class Effect1650(BaseEffect):
method handler (line 5120) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1657 (line 5126) | class Effect1657(BaseEffect):
method handler (line 5140) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1668 (line 5146) | class Effect1668(BaseEffect):
method handler (line 5157) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1669 (line 5161) | class Effect1669(BaseEffect):
method handler (line 5172) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1670 (line 5176) | class Effect1670(BaseEffect):
method handler (line 5187) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1671 (line 5191) | class Effect1671(BaseEffect):
method handler (line 5202) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1672 (line 5206) | class Effect1672(BaseEffect):
method handler (line 5217) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1673 (line 5221) | class Effect1673(BaseEffect):
method handler (line 5232) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1674 (line 5236) | class Effect1674(BaseEffect):
method handler (line 5247) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1675 (line 5251) | class Effect1675(BaseEffect):
method handler (line 5262) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1720 (line 5266) | class Effect1720(BaseEffect):
method handler (line 5278) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect1722 (line 5285) | class Effect1722(BaseEffect):
method handler (line 5296) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1730 (line 5301) | class Effect1730(BaseEffect):
method handler (line 5312) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1738 (line 5317) | class Effect1738(BaseEffect):
class Effect1763 (line 5328) | class Effect1763(BaseEffect):
method handler (line 5343) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1764 (line 5349) | class Effect1764(BaseEffect):
method handler (line 5363) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect1773 (line 5371) | class Effect1773(BaseEffect):
method handler (line 5383) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1804 (line 5388) | class Effect1804(BaseEffect):
method handler (line 5401) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1805 (line 5405) | class Effect1805(BaseEffect):
method handler (line 5418) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1806 (line 5423) | class Effect1806(BaseEffect):
method handler (line 5436) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1807 (line 5441) | class Effect1807(BaseEffect):
method handler (line 5454) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1812 (line 5459) | class Effect1812(BaseEffect):
method handler (line 5470) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1813 (line 5475) | class Effect1813(BaseEffect):
method handler (line 5486) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1814 (line 5491) | class Effect1814(BaseEffect):
method handler (line 5502) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1815 (line 5507) | class Effect1815(BaseEffect):
method handler (line 5518) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1816 (line 5523) | class Effect1816(BaseEffect):
method handler (line 5536) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1817 (line 5541) | class Effect1817(BaseEffect):
method handler (line 5554) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1819 (line 5559) | class Effect1819(BaseEffect):
method handler (line 5572) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1820 (line 5577) | class Effect1820(BaseEffect):
method handler (line 5590) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1848 (line 5595) | class Effect1848(BaseEffect):
method handler (line 5607) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1851 (line 5620) | class Effect1851(BaseEffect):
method handler (line 5633) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect1862 (line 5638) | class Effect1862(BaseEffect):
method handler (line 5650) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1863 (line 5656) | class Effect1863(BaseEffect):
method handler (line 5668) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1864 (line 5674) | class Effect1864(BaseEffect):
method handler (line 5686) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1882 (line 5692) | class Effect1882(BaseEffect):
method handler (line 5704) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect1885 (line 5709) | class Effect1885(BaseEffect):
method handler (line 5721) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1886 (line 5736) | class Effect1886(BaseEffect):
method handler (line 5748) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1910 (line 5763) | class Effect1910(BaseEffect):
method handler (line 5775) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1911 (line 5781) | class Effect1911(BaseEffect):
method handler (line 5794) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1912 (line 5800) | class Effect1912(BaseEffect):
method handler (line 5813) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1913 (line 5819) | class Effect1913(BaseEffect):
method handler (line 5832) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1914 (line 5838) | class Effect1914(BaseEffect):
method handler (line 5851) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1921 (line 5857) | class Effect1921(BaseEffect):
method handler (line 5871) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1922 (line 5877) | class Effect1922(BaseEffect):
method handler (line 5890) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect1959 (line 5896) | class Effect1959(BaseEffect):
method handler (line 5907) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect1964 (line 5911) | class Effect1964(BaseEffect):
method handler (line 5922) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1969 (line 5927) | class Effect1969(BaseEffect):
method handler (line 5938) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect1996 (line 5943) | class Effect1996(BaseEffect):
method handler (line 5955) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2000 (line 5961) | class Effect2000(BaseEffect):
method handler (line 5972) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2008 (line 5977) | class Effect2008(BaseEffect):
method handler (line 5989) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2013 (line 5994) | class Effect2013(BaseEffect):
method handler (line 6008) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2014 (line 6016) | class Effect2014(BaseEffect):
method handler (line 6027) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2015 (line 6036) | class Effect2015(BaseEffect):
method handler (line 6047) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2016 (line 6052) | class Effect2016(BaseEffect):
method handler (line 6063) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2017 (line 6068) | class Effect2017(BaseEffect):
method handler (line 6079) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2019 (line 6085) | class Effect2019(BaseEffect):
method handler (line 6098) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2020 (line 6106) | class Effect2020(BaseEffect):
method handler (line 6119) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2029 (line 6127) | class Effect2029(BaseEffect):
method handler (line 6139) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2041 (line 6143) | class Effect2041(BaseEffect):
method handler (line 6155) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2052 (line 6162) | class Effect2052(BaseEffect):
method handler (line 6173) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2053 (line 6180) | class Effect2053(BaseEffect):
method handler (line 6191) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2054 (line 6196) | class Effect2054(BaseEffect):
method handler (line 6207) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2055 (line 6213) | class Effect2055(BaseEffect):
method handler (line 6224) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2056 (line 6230) | class Effect2056(BaseEffect):
method handler (line 6241) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2105 (line 6247) | class Effect2105(BaseEffect):
method handler (line 6258) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2106 (line 6263) | class Effect2106(BaseEffect):
method handler (line 6274) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2107 (line 6280) | class Effect2107(BaseEffect):
method handler (line 6291) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2108 (line 6297) | class Effect2108(BaseEffect):
method handler (line 6308) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2109 (line 6314) | class Effect2109(BaseEffect):
method handler (line 6325) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2110 (line 6330) | class Effect2110(BaseEffect):
method handler (line 6341) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2111 (line 6347) | class Effect2111(BaseEffect):
method handler (line 6358) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2112 (line 6364) | class Effect2112(BaseEffect):
method handler (line 6375) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2130 (line 6381) | class Effect2130(BaseEffect):
method handler (line 6393) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2131 (line 6398) | class Effect2131(BaseEffect):
method handler (line 6411) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2132 (line 6416) | class Effect2132(BaseEffect):
method handler (line 6427) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2133 (line 6432) | class Effect2133(BaseEffect):
method handler (line 6444) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2134 (line 6449) | class Effect2134(BaseEffect):
method handler (line 6463) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2135 (line 6470) | class Effect2135(BaseEffect):
method handler (line 6485) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect2143 (line 6492) | class Effect2143(BaseEffect):
method handler (line 6503) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2152 (line 6509) | class Effect2152(BaseEffect):
method handler (line 6521) | def handler(fit, mod, context, projectionRange, **kwargs):
class Effect2155 (line 6526) | class Effect2155(BaseEffect):
method handler (line 6537) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2156 (line 6543) | class Effect2156(BaseEffect):
method handler (line 6554) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2157 (line 6560) | class Effect2157(BaseEffect):
method handler (line 6571) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2160 (line 6577) | class Effect2160(BaseEffect):
method handler (line 6588) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2179 (line 6594) | class Effect2179(BaseEffect):
method handler (line 6607) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2181 (line 6614) | class Effect2181(BaseEffect):
method handler (line 6625) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2186 (line 6632) | class Effect2186(BaseEffect):
method handler (line 6644) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2187 (line 6651) | class Effect2187(BaseEffect):
method handler (line 6663) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2188 (line 6669) | class Effect2188(BaseEffect):
method handler (line 6682) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2189 (line 6688) | class Effect2189(BaseEffect):
method handler (line 6699) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2201 (line 6705) | class Effect2201(BaseEffect):
method handler (line 6716) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2215 (line 6722) | class Effect2215(BaseEffect):
method handler (line 6738) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2232 (line 6743) | class Effect2232(BaseEffect):
method handler (line 6754) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2249 (line 6761) | class Effect2249(BaseEffect):
method handler (line 6772) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2250 (line 6778) | class Effect2250(BaseEffect):
method handler (line 6789) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2251 (line 6795) | class Effect2251(BaseEffect):
method handler (line 6809) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect2252 (line 6816) | class Effect2252(BaseEffect):
method handler (line 6840) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2253 (line 6846) | class Effect2253(BaseEffect):
method handler (line 6864) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2255 (line 6870) | class Effect2255(BaseEffect):
class Effect2296 (line 6882) | class Effect2296(BaseEffect):
method handler (line 6894) | def handler(fit, booster, context, projectionRange, **kwargs):
class Effect2297 (line 6905) | class Effect2297(BaseEffect):
method handler (line 6917) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2298 (line 6928) | class Effect2298(BaseEffect):
method handler (line 6944) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect2302 (line 6952) | class Effect2302(BaseEffect):
method handler (line 6963) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2305 (line 6973) | class Effect2305(BaseEffect):
method handler (line 6985) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2354 (line 6991) | class Effect2354(BaseEffect):
method handler (line 7003) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2355 (line 7009) | class Effect2355(BaseEffect):
method handler (line 7020) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2356 (line 7026) | class Effect2356(BaseEffect):
method handler (line 7037) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2402 (line 7042) | class Effect2402(BaseEffect):
method handler (line 7054) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2422 (line 7062) | class Effect2422(BaseEffect):
method handler (line 7075) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect2432 (line 7079) | class Effect2432(BaseEffect):
method handler (line 7098) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2444 (line 7103) | class Effect2444(BaseEffect):
method handler (line 7115) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2445 (line 7120) | class Effect2445(BaseEffect):
method handler (line 7131) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2456 (line 7136) | class Effect2456(BaseEffect):
method handler (line 7148) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2465 (line 7155) | class Effect2465(BaseEffect):
method handler (line 7167) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2479 (line 7173) | class Effect2479(BaseEffect):
method handler (line 7185) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2485 (line 7190) | class Effect2485(BaseEffect):
method handler (line 7207) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect2488 (line 7211) | class Effect2488(BaseEffect):
method handler (line 7222) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect2489 (line 7226) | class Effect2489(BaseEffect):
method handler (line 7237) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2490 (line 7243) | class Effect2490(BaseEffect):
method handler (line 7254) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2491 (line 7260) | class Effect2491(BaseEffect):
method handler (line 7272) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2492 (line 7278) | class Effect2492(BaseEffect):
method handler (line 7291) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2503 (line 7297) | class Effect2503(BaseEffect):
method handler (line 7310) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2504 (line 7316) | class Effect2504(BaseEffect):
method handler (line 7331) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2561 (line 7337) | class Effect2561(BaseEffect):
method handler (line 7348) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2589 (line 7354) | class Effect2589(BaseEffect):
method handler (line 7366) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2602 (line 7374) | class Effect2602(BaseEffect):
method handler (line 7387) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2603 (line 7392) | class Effect2603(BaseEffect):
method handler (line 7405) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2604 (line 7410) | class Effect2604(BaseEffect):
method handler (line 7423) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2605 (line 7428) | class Effect2605(BaseEffect):
method handler (line 7441) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2611 (line 7446) | class Effect2611(BaseEffect):
method handler (line 7457) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2644 (line 7463) | class Effect2644(BaseEffect):
method handler (line 7474) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2645 (line 7479) | class Effect2645(BaseEffect):
method handler (line 7491) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2646 (line 7496) | class Effect2646(BaseEffect):
method handler (line 7508) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2647 (line 7513) | class Effect2647(BaseEffect):
method handler (line 7525) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2648 (line 7531) | class Effect2648(BaseEffect):
method handler (line 7543) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2649 (line 7549) | class Effect2649(BaseEffect):
method handler (line 7561) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2670 (line 7567) | class Effect2670(BaseEffect):
method handler (line 7578) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2688 (line 7591) | class Effect2688(BaseEffect):
method handler (line 7602) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2689 (line 7607) | class Effect2689(BaseEffect):
method handler (line 7618) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2690 (line 7623) | class Effect2690(BaseEffect):
method handler (line 7634) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2691 (line 7639) | class Effect2691(BaseEffect):
method handler (line 7650) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2693 (line 7655) | class Effect2693(BaseEffect):
method handler (line 7667) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2694 (line 7674) | class Effect2694(BaseEffect):
method handler (line 7687) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2695 (line 7694) | class Effect2695(BaseEffect):
method handler (line 7706) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2696 (line 7713) | class Effect2696(BaseEffect):
method handler (line 7725) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2697 (line 7732) | class Effect2697(BaseEffect):
method handler (line 7745) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2698 (line 7752) | class Effect2698(BaseEffect):
method handler (line 7764) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2706 (line 7771) | class Effect2706(BaseEffect):
method handler (line 7782) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2707 (line 7787) | class Effect2707(BaseEffect):
method handler (line 7798) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2708 (line 7803) | class Effect2708(BaseEffect):
method handler (line 7814) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2712 (line 7819) | class Effect2712(BaseEffect):
method handler (line 7830) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2713 (line 7834) | class Effect2713(BaseEffect):
method handler (line 7845) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2714 (line 7849) | class Effect2714(BaseEffect):
method handler (line 7860) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2716 (line 7865) | class Effect2716(BaseEffect):
method handler (line 7877) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2717 (line 7882) | class Effect2717(BaseEffect):
method handler (line 7894) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2718 (line 7899) | class Effect2718(BaseEffect):
method handler (line 7912) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2726 (line 7916) | class Effect2726(BaseEffect):
class Effect2727 (line 7927) | class Effect2727(BaseEffect):
method handler (line 7938) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2734 (line 7943) | class Effect2734(BaseEffect):
method handler (line 7955) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2735 (line 7963) | class Effect2735(BaseEffect):
method handler (line 7980) | def handler(cls, fit, booster, context, projectionRange, **kwargs):
class Effect2736 (line 7984) | class Effect2736(BaseEffect):
method handler (line 8000) | def handler(cls, fit, booster, context, projectionRange, **kwargs):
class Effect2737 (line 8005) | class Effect2737(BaseEffect):
method handler (line 8022) | def handler(cls, fit, booster, context, projectionRange, **kwargs):
class Effect2739 (line 8026) | class Effect2739(BaseEffect):
method handler (line 8042) | def handler(cls, fit, booster, context, projectionRange, **kwargs):
class Effect2741 (line 8047) | class Effect2741(BaseEffect):
method handler (line 8062) | def handler(cls, fit, booster, context, projectionRange, **kwargs):
class Effect2745 (line 8067) | class Effect2745(BaseEffect):
method handler (line 8082) | def handler(cls, fit, booster, context, projectionRange, **kwargs):
class Effect2746 (line 8086) | class Effect2746(BaseEffect):
method handler (line 8101) | def handler(cls, fit, booster, context, projectionRange, **kwargs):
class Effect2747 (line 8105) | class Effect2747(BaseEffect):
method handler (line 8120) | def handler(cls, fit, booster, context, projectionRange, **kwargs):
class Effect2748 (line 8125) | class Effect2748(BaseEffect):
method handler (line 8140) | def handler(cls, fit, booster, context, projectionRange, **kwargs):
class Effect2749 (line 8145) | class Effect2749(BaseEffect):
method handler (line 8159) | def handler(cls, fit, booster, context, projectionRange, **kwargs):
class Effect2756 (line 8164) | class Effect2756(BaseEffect):
method handler (line 8175) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2757 (line 8182) | class Effect2757(BaseEffect):
class Effect2760 (line 8193) | class Effect2760(BaseEffect):
method handler (line 8207) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2763 (line 8215) | class Effect2763(BaseEffect):
method handler (line 8228) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2766 (line 8238) | class Effect2766(BaseEffect):
method handler (line 8251) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2776 (line 8259) | class Effect2776(BaseEffect):
method handler (line 8272) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2778 (line 8280) | class Effect2778(BaseEffect):
method handler (line 8293) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2791 (line 8301) | class Effect2791(BaseEffect):
method handler (line 8315) | def handler(cls, fit, booster, context, projectionRange, **kwargs):
class Effect2792 (line 8320) | class Effect2792(BaseEffect):
method handler (line 8331) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2794 (line 8338) | class Effect2794(BaseEffect):
method handler (line 8350) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2795 (line 8356) | class Effect2795(BaseEffect):
method handler (line 8367) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2796 (line 8374) | class Effect2796(BaseEffect):
method handler (line 8385) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2797 (line 8390) | class Effect2797(BaseEffect):
method handler (line 8401) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2798 (line 8407) | class Effect2798(BaseEffect):
method handler (line 8419) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2799 (line 8426) | class Effect2799(BaseEffect):
method handler (line 8437) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2801 (line 8443) | class Effect2801(BaseEffect):
method handler (line 8454) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2802 (line 8460) | class Effect2802(BaseEffect):
method handler (line 8473) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2803 (line 8480) | class Effect2803(BaseEffect):
method handler (line 8493) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2804 (line 8500) | class Effect2804(BaseEffect):
method handler (line 8511) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2805 (line 8517) | class Effect2805(BaseEffect):
method handler (line 8530) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2809 (line 8536) | class Effect2809(BaseEffect):
method handler (line 8548) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2812 (line 8554) | class Effect2812(BaseEffect):
method handler (line 8565) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect2837 (line 8571) | class Effect2837(BaseEffect):
method handler (line 8582) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2847 (line 8586) | class Effect2847(BaseEffect):
method handler (line 8602) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2848 (line 8608) | class Effect2848(BaseEffect):
method handler (line 8621) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2849 (line 8627) | class Effect2849(BaseEffect):
method handler (line 8642) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2850 (line 8648) | class Effect2850(BaseEffect):
method handler (line 8659) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2851 (line 8664) | class Effect2851(BaseEffect):
method handler (line 8678) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2853 (line 8687) | class Effect2853(BaseEffect):
method handler (line 8698) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2857 (line 8703) | class Effect2857(BaseEffect):
method handler (line 8714) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2858 (line 8718) | class Effect2858(BaseEffect):
method handler (line 8729) | def handler(fit, mod, context, projectionRange, **kwargs):
class Effect2865 (line 8735) | class Effect2865(BaseEffect):
method handler (line 8748) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2866 (line 8753) | class Effect2866(BaseEffect):
method handler (line 8765) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2867 (line 8771) | class Effect2867(BaseEffect):
method handler (line 8782) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect2868 (line 8788) | class Effect2868(BaseEffect):
method handler (line 8799) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect2872 (line 8805) | class Effect2872(BaseEffect):
method handler (line 8816) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2881 (line 8821) | class Effect2881(BaseEffect):
method handler (line 8834) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect2882 (line 8839) | class Effect2882(BaseEffect):
method handler (line 8852) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2883 (line 8857) | class Effect2883(BaseEffect):
method handler (line 8870) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2884 (line 8875) | class Effect2884(BaseEffect):
method handler (line 8888) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2885 (line 8893) | class Effect2885(BaseEffect):
method handler (line 8907) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect2887 (line 8912) | class Effect2887(BaseEffect):
method handler (line 8925) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect2888 (line 8930) | class Effect2888(BaseEffect):
method handler (line 8943) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2889 (line 8948) | class Effect2889(BaseEffect):
method handler (line 8961) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2890 (line 8966) | class Effect2890(BaseEffect):
method handler (line 8979) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2891 (line 8984) | class Effect2891(BaseEffect):
method handler (line 8996) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect2892 (line 9001) | class Effect2892(BaseEffect):
method handler (line 9013) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2893 (line 9018) | class Effect2893(BaseEffect):
method handler (line 9030) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2894 (line 9035) | class Effect2894(BaseEffect):
method handler (line 9047) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2899 (line 9052) | class Effect2899(BaseEffect):
method handler (line 9065) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect2900 (line 9070) | class Effect2900(BaseEffect):
method handler (line 9083) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2901 (line 9088) | class Effect2901(BaseEffect):
method handler (line 9101) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2902 (line 9106) | class Effect2902(BaseEffect):
method handler (line 9119) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2903 (line 9124) | class Effect2903(BaseEffect):
method handler (line 9137) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect2904 (line 9142) | class Effect2904(BaseEffect):
method handler (line 9155) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2905 (line 9160) | class Effect2905(BaseEffect):
method handler (line 9173) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2906 (line 9178) | class Effect2906(BaseEffect):
method handler (line 9191) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2907 (line 9196) | class Effect2907(BaseEffect):
method handler (line 9209) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect2908 (line 9214) | class Effect2908(BaseEffect):
method handler (line 9227) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2909 (line 9232) | class Effect2909(BaseEffect):
method handler (line 9245) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2910 (line 9250) | class Effect2910(BaseEffect):
method handler (line 9263) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect2911 (line 9268) | class Effect2911(BaseEffect):
method handler (line 9279) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect2967 (line 9284) | class Effect2967(BaseEffect):
method handler (line 9295) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2979 (line 9301) | class Effect2979(BaseEffect):
method handler (line 9312) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2980 (line 9317) | class Effect2980(BaseEffect):
method handler (line 9328) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect2982 (line 9333) | class Effect2982(BaseEffect):
method handler (line 9344) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect3001 (line 9372) | class Effect3001(BaseEffect):
method handler (line 9385) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3002 (line 9390) | class Effect3002(BaseEffect):
method handler (line 9409) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3024 (line 9413) | class Effect3024(BaseEffect):
method handler (line 9425) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3025 (line 9431) | class Effect3025(BaseEffect):
method handler (line 9446) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3026 (line 9450) | class Effect3026(BaseEffect):
method handler (line 9461) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3027 (line 9467) | class Effect3027(BaseEffect):
method handler (line 9479) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3028 (line 9485) | class Effect3028(BaseEffect):
method handler (line 9496) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3029 (line 9502) | class Effect3029(BaseEffect):
method handler (line 9515) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3030 (line 9519) | class Effect3030(BaseEffect):
method handler (line 9532) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3031 (line 9536) | class Effect3031(BaseEffect):
method handler (line 9549) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3032 (line 9553) | class Effect3032(BaseEffect):
method handler (line 9566) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3035 (line 9570) | class Effect3035(BaseEffect):
method handler (line 9582) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3036 (line 9588) | class Effect3036(BaseEffect):
method handler (line 9599) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect3046 (line 9604) | class Effect3046(BaseEffect):
method handler (line 9615) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3047 (line 9619) | class Effect3047(BaseEffect):
method handler (line 9630) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3061 (line 9634) | class Effect3061(BaseEffect):
method handler (line 9645) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3169 (line 9650) | class Effect3169(BaseEffect):
method handler (line 9661) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect3172 (line 9666) | class Effect3172(BaseEffect):
method handler (line 9679) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3173 (line 9686) | class Effect3173(BaseEffect):
method handler (line 9699) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3174 (line 9706) | class Effect3174(BaseEffect):
method handler (line 9719) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3175 (line 9724) | class Effect3175(BaseEffect):
method handler (line 9735) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3182 (line 9740) | class Effect3182(BaseEffect):
method handler (line 9752) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3196 (line 9759) | class Effect3196(BaseEffect):
method handler (line 9770) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect3200 (line 9777) | class Effect3200(BaseEffect):
method handler (line 9791) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3201 (line 9797) | class Effect3201(BaseEffect):
method handler (line 9811) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3212 (line 9816) | class Effect3212(BaseEffect):
method handler (line 9827) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect3234 (line 9833) | class Effect3234(BaseEffect):
method handler (line 9844) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3235 (line 9850) | class Effect3235(BaseEffect):
method handler (line 9861) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3236 (line 9867) | class Effect3236(BaseEffect):
method handler (line 9878) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3237 (line 9884) | class Effect3237(BaseEffect):
method handler (line 9895) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3241 (line 9901) | class Effect3241(BaseEffect):
method handler (line 9912) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3242 (line 9917) | class Effect3242(BaseEffect):
method handler (line 9928) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3243 (line 9933) | class Effect3243(BaseEffect):
method handler (line 9944) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3244 (line 9949) | class Effect3244(BaseEffect):
method handler (line 9960) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3264 (line 9965) | class Effect3264(BaseEffect):
method handler (line 9976) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect3267 (line 9982) | class Effect3267(BaseEffect):
method handler (line 9993) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3297 (line 9999) | class Effect3297(BaseEffect):
method handler (line 10010) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3298 (line 10016) | class Effect3298(BaseEffect):
method handler (line 10028) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3299 (line 10034) | class Effect3299(BaseEffect):
method handler (line 10047) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3313 (line 10053) | class Effect3313(BaseEffect):
method handler (line 10064) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect3331 (line 10068) | class Effect3331(BaseEffect):
method handler (line 10079) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3335 (line 10083) | class Effect3335(BaseEffect):
method handler (line 10094) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3336 (line 10098) | class Effect3336(BaseEffect):
method handler (line 10109) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3339 (line 10114) | class Effect3339(BaseEffect):
method handler (line 10125) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3340 (line 10130) | class Effect3340(BaseEffect):
method handler (line 10141) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3343 (line 10146) | class Effect3343(BaseEffect):
method handler (line 10157) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3355 (line 10163) | class Effect3355(BaseEffect):
method handler (line 10174) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3356 (line 10180) | class Effect3356(BaseEffect):
method handler (line 10191) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3366 (line 10197) | class Effect3366(BaseEffect):
method handler (line 10210) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3367 (line 10215) | class Effect3367(BaseEffect):
method handler (line 10227) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3369 (line 10233) | class Effect3369(BaseEffect):
method handler (line 10244) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3370 (line 10250) | class Effect3370(BaseEffect):
method handler (line 10261) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3371 (line 10267) | class Effect3371(BaseEffect):
method handler (line 10279) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3374 (line 10285) | class Effect3374(BaseEffect):
method handler (line 10296) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3379 (line 10301) | class Effect3379(BaseEffect):
method handler (line 10314) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect3380 (line 10319) | class Effect3380(BaseEffect):
method handler (line 10331) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3392 (line 10355) | class Effect3392(BaseEffect):
method handler (line 10366) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3415 (line 10371) | class Effect3415(BaseEffect):
method handler (line 10382) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3416 (line 10387) | class Effect3416(BaseEffect):
method handler (line 10398) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3417 (line 10403) | class Effect3417(BaseEffect):
method handler (line 10414) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3424 (line 10419) | class Effect3424(BaseEffect):
method handler (line 10430) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3425 (line 10435) | class Effect3425(BaseEffect):
method handler (line 10446) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3427 (line 10451) | class Effect3427(BaseEffect):
method handler (line 10462) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3439 (line 10467) | class Effect3439(BaseEffect):
method handler (line 10478) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3447 (line 10484) | class Effect3447(BaseEffect):
method handler (line 10497) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3466 (line 10502) | class Effect3466(BaseEffect):
method handler (line 10513) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3467 (line 10518) | class Effect3467(BaseEffect):
method handler (line 10529) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3468 (line 10534) | class Effect3468(BaseEffect):
method handler (line 10545) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3473 (line 10551) | class Effect3473(BaseEffect):
method handler (line 10562) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3478 (line 10567) | class Effect3478(BaseEffect):
method handler (line 10579) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3480 (line 10584) | class Effect3480(BaseEffect):
method handler (line 10595) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3483 (line 10600) | class Effect3483(BaseEffect):
method handler (line 10615) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3484 (line 10620) | class Effect3484(BaseEffect):
method handler (line 10632) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3487 (line 10637) | class Effect3487(BaseEffect):
method handler (line 10654) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3489 (line 10659) | class Effect3489(BaseEffect):
method handler (line 10671) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3493 (line 10676) | class Effect3493(BaseEffect):
method handler (line 10687) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3495 (line 10692) | class Effect3495(BaseEffect):
method handler (line 10707) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3496 (line 10713) | class Effect3496(BaseEffect):
method handler (line 10725) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect3498 (line 10730) | class Effect3498(BaseEffect):
method handler (line 10742) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect3499 (line 10747) | class Effect3499(BaseEffect):
method handler (line 10759) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect3513 (line 10765) | class Effect3513(BaseEffect):
method handler (line 10777) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect3514 (line 10782) | class Effect3514(BaseEffect):
method handler (line 10793) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3519 (line 10798) | class Effect3519(BaseEffect):
method handler (line 10809) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect3520 (line 10814) | class Effect3520(BaseEffect):
method handler (line 10825) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect3526 (line 10830) | class Effect3526(BaseEffect):
method handler (line 10843) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect3532 (line 10850) | class Effect3532(BaseEffect):
method handler (line 10861) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect3561 (line 10866) | class Effect3561(BaseEffect):
method handler (line 10878) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect3568 (line 10885) | class Effect3568(BaseEffect):
method handler (line 10896) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3569 (line 10902) | class Effect3569(BaseEffect):
method handler (line 10913) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3570 (line 10919) | class Effect3570(BaseEffect):
method handler (line 10930) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3571 (line 10936) | class Effect3571(BaseEffect):
method handler (line 10947) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3586 (line 10953) | class Effect3586(BaseEffect):
method handler (line 10965) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect3587 (line 10974) | class Effect3587(BaseEffect):
method handler (line 10985) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3588 (line 10991) | class Effect3588(BaseEffect):
method handler (line 11004) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3589 (line 11010) | class Effect3589(BaseEffect):
method handler (line 11023) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3590 (line 11029) | class Effect3590(BaseEffect):
method handler (line 11040) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3591 (line 11046) | class Effect3591(BaseEffect):
method handler (line 11058) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect3592 (line 11065) | class Effect3592(BaseEffect):
method handler (line 11076) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3593 (line 11080) | class Effect3593(BaseEffect):
method handler (line 11091) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3597 (line 11096) | class Effect3597(BaseEffect):
method handler (line 11108) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3598 (line 11112) | class Effect3598(BaseEffect):
method handler (line 11124) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3599 (line 11128) | class Effect3599(BaseEffect):
method handler (line 11140) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3600 (line 11144) | class Effect3600(BaseEffect):
method handler (line 11156) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3601 (line 11160) | class Effect3601(BaseEffect):
method handler (line 11171) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3602 (line 11176) | class Effect3602(BaseEffect):
method handler (line 11187) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3617 (line 11191) | class Effect3617(BaseEffect):
method handler (line 11203) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3648 (line 11207) | class Effect3648(BaseEffect):
method handler (line 11219) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3649 (line 11223) | class Effect3649(BaseEffect):
method handler (line 11234) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3650 (line 11240) | class Effect3650(BaseEffect):
method handler (line 11252) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect3651 (line 11257) | class Effect3651(BaseEffect):
method handler (line 11269) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect3652 (line 11274) | class Effect3652(BaseEffect):
method handler (line 11286) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect3653 (line 11291) | class Effect3653(BaseEffect):
method handler (line 11303) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect3655 (line 11308) | class Effect3655(BaseEffect):
method handler (line 11319) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3656 (line 11325) | class Effect3656(BaseEffect):
method handler (line 11336) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3657 (line 11342) | class Effect3657(BaseEffect):
method handler (line 11354) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3659 (line 11359) | class Effect3659(BaseEffect):
method handler (line 11371) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3660 (line 11376) | class Effect3660(BaseEffect):
method handler (line 11388) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3668 (line 11392) | class Effect3668(BaseEffect):
method handler (line 11406) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect3669 (line 11411) | class Effect3669(BaseEffect):
method handler (line 11425) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect3670 (line 11430) | class Effect3670(BaseEffect):
method handler (line 11444) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect3671 (line 11449) | class Effect3671(BaseEffect):
method handler (line 11461) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect3672 (line 11466) | class Effect3672(BaseEffect):
method handler (line 11479) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect3674 (line 11484) | class Effect3674(BaseEffect):
method handler (line 11495) | def handler(fit, mod, context, projectionRange, **kwargs):
class Effect3677 (line 11500) | class Effect3677(BaseEffect):
method handler (line 11512) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3678 (line 11517) | class Effect3678(BaseEffect):
method handler (line 11529) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3679 (line 11534) | class Effect3679(BaseEffect):
method handler (line 11546) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3680 (line 11550) | class Effect3680(BaseEffect):
method handler (line 11561) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3681 (line 11565) | class Effect3681(BaseEffect):
method handler (line 11576) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3682 (line 11580) | class Effect3682(BaseEffect):
method handler (line 11591) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3683 (line 11595) | class Effect3683(BaseEffect):
method handler (line 11606) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3686 (line 11610) | class Effect3686(BaseEffect):
method handler (line 11622) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3703 (line 11626) | class Effect3703(BaseEffect):
method handler (line 11637) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3705 (line 11643) | class Effect3705(BaseEffect):
method handler (line 11654) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3706 (line 11659) | class Effect3706(BaseEffect):
method handler (line 11671) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3726 (line 11676) | class Effect3726(BaseEffect):
method handler (line 11687) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3727 (line 11691) | class Effect3727(BaseEffect):
method handler (line 11702) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3739 (line 11707) | class Effect3739(BaseEffect):
method handler (line 11719) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect3740 (line 11724) | class Effect3740(BaseEffect):
method handler (line 11736) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3744 (line 11741) | class Effect3744(BaseEffect):
method handler (line 11752) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect3765 (line 11765) | class Effect3765(BaseEffect):
method handler (line 11776) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3766 (line 11781) | class Effect3766(BaseEffect):
method handler (line 11792) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect3771 (line 11798) | class Effect3771(BaseEffect):
method handler (line 11809) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3773 (line 11813) | class Effect3773(BaseEffect):
method handler (line 11824) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3774 (line 11829) | class Effect3774(BaseEffect):
method handler (line 11840) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3782 (line 11846) | class Effect3782(BaseEffect):
method handler (line 11857) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3783 (line 11861) | class Effect3783(BaseEffect):
method handler (line 11872) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3797 (line 11876) | class Effect3797(BaseEffect):
method handler (line 11887) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3799 (line 11891) | class Effect3799(BaseEffect):
method handler (line 11902) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3807 (line 11906) | class Effect3807(BaseEffect):
method handler (line 11917) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3808 (line 11921) | class Effect3808(BaseEffect):
method handler (line 11933) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3810 (line 11937) | class Effect3810(BaseEffect):
method handler (line 11949) | def handler(fit, subsystem, context, projectionRange, **kwargs):
class Effect3811 (line 11953) | class Effect3811(BaseEffect):
method handler (line 11964) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3831 (line 11968) | class Effect3831(BaseEffect):
method handler (line 11979) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3857 (line 11983) | class Effect3857(BaseEffect):
method handler (line 11994) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3859 (line 11999) | class Effect3859(BaseEffect):
method handler (line 12010) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect3860 (line 12015) | class Effect3860(BaseEffect):
method handler (line 12026) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3861 (line 12031) | class Effect3861(BaseEffect):
method handler (line 12042) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3863 (line 12048) | class Effect3863(BaseEffect):
method handler (line 12059) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3864 (line 12065) | class Effect3864(BaseEffect):
method handler (line 12076) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3865 (line 12082) | class Effect3865(BaseEffect):
method handler (line 12093) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect3866 (line 12098) | class Effect3866(BaseEffect):
method handler (line 12109) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect3867 (line 12114) | class Effect3867(BaseEffect):
method handler (line 12125) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect3868 (line 12130) | class Effect3868(BaseEffect):
method handler (line 12141) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect3869 (line 12146) | class Effect3869(BaseEffect):
method handler (line 12157) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect3872 (line 12163) | class Effect3872(BaseEffect):
method handler (line 12174) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect3875 (line 12180) | class Effect3875(BaseEffect):
method handler (line 12191) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3893 (line 12197) | class Effect3893(BaseEffect):
method handler (line 12208) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect3895 (line 12213) | class Effect3895(BaseEffect):
method handler (line 12224) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect3897 (line 12229) | class Effect3897(BaseEffect):
method handler (line 12240) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect3900 (line 12244) | class Effect3900(BaseEffect):
method handler (line 12255) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect3959 (line 12260) | class Effect3959(BaseEffect):
method handler (line 12272) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3961 (line 12278) | class Effect3961(BaseEffect):
method handler (line 12290) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3962 (line 12296) | class Effect3962(BaseEffect):
method handler (line 12308) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect3964 (line 12317) | class Effect3964(BaseEffect):
method handler (line 12329) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3976 (line 12335) | class Effect3976(BaseEffect):
method handler (line 12346) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3979 (line 12351) | class Effect3979(BaseEffect):
method handler (line 12362) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect3980 (line 12369) | class Effect3980(BaseEffect):
method handler (line 12380) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3982 (line 12385) | class Effect3982(BaseEffect):
method handler (line 12396) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect3992 (line 12401) | class Effect3992(BaseEffect):
method handler (line 12415) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect3993 (line 12419) | class Effect3993(BaseEffect):
method handler (line 12433) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect3995 (line 12438) | class Effect3995(BaseEffect):
method handler (line 12451) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect3996 (line 12456) | class Effect3996(BaseEffect):
method handler (line 12469) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect3997 (line 12474) | class Effect3997(BaseEffect):
method handler (line 12487) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect3998 (line 12493) | class Effect3998(BaseEffect):
method handler (line 12506) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect3999 (line 12512) | class Effect3999(BaseEffect):
method handler (line 12526) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4002 (line 12532) | class Effect4002(BaseEffect):
method handler (line 12544) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4003 (line 12550) | class Effect4003(BaseEffect):
method handler (line 12562) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4016 (line 12567) | class Effect4016(BaseEffect):
method handler (line 12579) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4017 (line 12585) | class Effect4017(BaseEffect):
method handler (line 12597) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4018 (line 12603) | class Effect4018(BaseEffect):
method handler (line 12615) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4019 (line 12621) | class Effect4019(BaseEffect):
method handler (line 12633) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4020 (line 12639) | class Effect4020(BaseEffect):
method handler (line 12651) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4021 (line 12657) | class Effect4021(BaseEffect):
method handler (line 12669) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4022 (line 12675) | class Effect4022(BaseEffect):
method handler (line 12687) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4023 (line 12693) | class Effect4023(BaseEffect):
method handler (line 12705) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4033 (line 12712) | class Effect4033(BaseEffect):
method handler (line 12724) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4034 (line 12729) | class Effect4034(BaseEffect):
method handler (line 12741) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4035 (line 12746) | class Effect4035(BaseEffect):
method handler (line 12758) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4036 (line 12763) | class Effect4036(BaseEffect):
method handler (line 12775) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4037 (line 12780) | class Effect4037(BaseEffect):
method handler (line 12792) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4038 (line 12797) | class Effect4038(BaseEffect):
method handler (line 12809) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4039 (line 12814) | class Effect4039(BaseEffect):
method handler (line 12826) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4040 (line 12831) | class Effect4040(BaseEffect):
method handler (line 12843) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4041 (line 12848) | class Effect4041(BaseEffect):
method handler (line 12860) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4042 (line 12865) | class Effect4042(BaseEffect):
method handler (line 12877) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4043 (line 12882) | class Effect4043(BaseEffect):
method handler (line 12894) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4044 (line 12899) | class Effect4044(BaseEffect):
method handler (line 12911) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4045 (line 12916) | class Effect4045(BaseEffect):
method handler (line 12928) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4046 (line 12933) | class Effect4046(BaseEffect):
method handler (line 12945) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4047 (line 12950) | class Effect4047(BaseEffect):
method handler (line 12962) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4048 (line 12967) | class Effect4048(BaseEffect):
method handler (line 12979) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4049 (line 12984) | class Effect4049(BaseEffect):
method handler (line 12996) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4054 (line 13001) | class Effect4054(BaseEffect):
method handler (line 13013) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4055 (line 13019) | class Effect4055(BaseEffect):
method handler (line 13031) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4056 (line 13037) | class Effect4056(BaseEffect):
method handler (line 13049) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4057 (line 13055) | class Effect4057(BaseEffect):
method handler (line 13067) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4058 (line 13073) | class Effect4058(BaseEffect):
method handler (line 13085) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4059 (line 13091) | class Effect4059(BaseEffect):
method handler (line 13103) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4060 (line 13109) | class Effect4060(BaseEffect):
method handler (line 13121) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4061 (line 13127) | class Effect4061(BaseEffect):
method handler (line 13139) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4062 (line 13145) | class Effect4062(BaseEffect):
method handler (line 13157) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4063 (line 13163) | class Effect4063(BaseEffect):
method handler (line 13175) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4086 (line 13181) | class Effect4086(BaseEffect):
method handler (line 13193) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4088 (line 13200) | class Effect4088(BaseEffect):
method handler (line 13212) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4089 (line 13220) | class Effect4089(BaseEffect):
method handler (line 13232) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4090 (line 13240) | class Effect4090(BaseEffect):
method handler (line 13252) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4091 (line 13256) | class Effect4091(BaseEffect):
method handler (line 13269) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4093 (line 13273) | class Effect4093(BaseEffect):
method handler (line 13284) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4104 (line 13290) | class Effect4104(BaseEffect):
method handler (line 13301) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4106 (line 13307) | class Effect4106(BaseEffect):
method handler (line 13318) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4114 (line 13324) | class Effect4114(BaseEffect):
method handler (line 13335) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4115 (line 13341) | class Effect4115(BaseEffect):
method handler (line 13352) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4122 (line 13358) | class Effect4122(BaseEffect):
method handler (line 13369) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4135 (line 13375) | class Effect4135(BaseEffect):
method handler (line 13388) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4136 (line 13393) | class Effect4136(BaseEffect):
method handler (line 13406) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4137 (line 13412) | class Effect4137(BaseEffect):
method handler (line 13425) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4138 (line 13431) | class Effect4138(BaseEffect):
method handler (line 13445) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4152 (line 13451) | class Effect4152(BaseEffect):
method handler (line 13462) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4153 (line 13468) | class Effect4153(BaseEffect):
method handler (line 13479) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4154 (line 13485) | class Effect4154(BaseEffect):
method handler (line 13496) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4155 (line 13502) | class Effect4155(BaseEffect):
method handler (line 13513) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4158 (line 13519) | class Effect4158(BaseEffect):
method handler (line 13530) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4159 (line 13535) | class Effect4159(BaseEffect):
method handler (line 13546) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4161 (line 13550) | class Effect4161(BaseEffect):
method handler (line 13567) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect4162 (line 13574) | class Effect4162(BaseEffect):
method handler (line 13596) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect4165 (line 13604) | class Effect4165(BaseEffect):
method handler (line 13615) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4166 (line 13621) | class Effect4166(BaseEffect):
method handler (line 13632) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4167 (line 13638) | class Effect4167(BaseEffect):
method handler (line 13649) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4168 (line 13655) | class Effect4168(BaseEffect):
method handler (line 13666) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4187 (line 13672) | class Effect4187(BaseEffect):
method handler (line 13683) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4188 (line 13689) | class Effect4188(BaseEffect):
method handler (line 13700) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4189 (line 13706) | class Effect4189(BaseEffect):
method handler (line 13717) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4190 (line 13723) | class Effect4190(BaseEffect):
method handler (line 13734) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4215 (line 13740) | class Effect4215(BaseEffect):
method handler (line 13751) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4216 (line 13757) | class Effect4216(BaseEffect):
method handler (line 13768) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4217 (line 13773) | class Effect4217(BaseEffect):
method handler (line 13784) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4248 (line 13789) | class Effect4248(BaseEffect):
method handler (line 13800) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4250 (line 13812) | class Effect4250(BaseEffect):
method handler (line 13823) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4251 (line 13838) | class Effect4251(BaseEffect):
method handler (line 13849) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4256 (line 13855) | class Effect4256(BaseEffect):
method handler (line 13866) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4264 (line 13873) | class Effect4264(BaseEffect):
method handler (line 13884) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4265 (line 13889) | class Effect4265(BaseEffect):
method handler (line 13900) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4269 (line 13905) | class Effect4269(BaseEffect):
method handler (line 13916) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4270 (line 13921) | class Effect4270(BaseEffect):
method handler (line 13932) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4271 (line 13937) | class Effect4271(BaseEffect):
method handler (line 13948) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4272 (line 13952) | class Effect4272(BaseEffect):
method handler (line 13963) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4273 (line 13968) | class Effect4273(BaseEffect):
method handler (line 13979) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4274 (line 13984) | class Effect4274(BaseEffect):
method handler (line 13995) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4275 (line 14000) | class Effect4275(BaseEffect):
method handler (line 14011) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4277 (line 14016) | class Effect4277(BaseEffect):
method handler (line 14027) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4278 (line 14032) | class Effect4278(BaseEffect):
method handler (line 14043) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4280 (line 14048) | class Effect4280(BaseEffect):
method handler (line 14060) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4282 (line 14064) | class Effect4282(BaseEffect):
method handler (line 14075) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4283 (line 14081) | class Effect4283(BaseEffect):
method handler (line 14092) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4286 (line 14098) | class Effect4286(BaseEffect):
method handler (line 14109) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4288 (line 14114) | class Effect4288(BaseEffect):
method handler (line 14125) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4290 (line 14130) | class Effect4290(BaseEffect):
method handler (line 14141) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4292 (line 14147) | class Effect4292(BaseEffect):
method handler (line 14158) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4321 (line 14164) | class Effect4321(BaseEffect):
method handler (line 14175) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4327 (line 14188) | class Effect4327(BaseEffect):
method handler (line 14199) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4330 (line 14210) | class Effect4330(BaseEffect):
method handler (line 14221) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4331 (line 14227) | class Effect4331(BaseEffect):
method handler (line 14238) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4342 (line 14244) | class Effect4342(BaseEffect):
method handler (line 14255) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4343 (line 14260) | class Effect4343(BaseEffect):
method handler (line 14271) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4347 (line 14276) | class Effect4347(BaseEffect):
method handler (line 14288) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4351 (line 14294) | class Effect4351(BaseEffect):
method handler (line 14305) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4358 (line 14311) | class Effect4358(BaseEffect):
method handler (line 14322) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4360 (line 14328) | class Effect4360(BaseEffect):
method handler (line 14339) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4362 (line 14345) | class Effect4362(BaseEffect):
method handler (line 14356) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4366 (line 14367) | class Effect4366(BaseEffect):
method handler (line 14378) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4370 (line 14383) | class Effect4370(BaseEffect):
method handler (line 14394) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4372 (line 14400) | class Effect4372(BaseEffect):
method handler (line 14411) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4373 (line 14417) | class Effect4373(BaseEffect):
method handler (line 14428) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4377 (line 14437) | class Effect4377(BaseEffect):
method handler (line 14449) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4378 (line 14454) | class Effect4378(BaseEffect):
method handler (line 14465) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4379 (line 14470) | class Effect4379(BaseEffect):
method handler (line 14481) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4380 (line 14486) | class Effect4380(BaseEffect):
method handler (line 14497) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4384 (line 14502) | class Effect4384(BaseEffect):
method handler (line 14513) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4385 (line 14519) | class Effect4385(BaseEffect):
method handler (line 14530) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4393 (line 14536) | class Effect4393(BaseEffect):
method handler (line 14548) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4394 (line 14554) | class Effect4394(BaseEffect):
method handler (line 14565) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4395 (line 14570) | class Effect4395(BaseEffect):
method handler (line 14582) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4396 (line 14588) | class Effect4396(BaseEffect):
method handler (line 14599) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4398 (line 14605) | class Effect4398(BaseEffect):
method handler (line 14616) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4413 (line 14621) | class Effect4413(BaseEffect):
method handler (line 14632) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4415 (line 14637) | class Effect4415(BaseEffect):
method handler (line 14649) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4416 (line 14654) | class Effect4416(BaseEffect):
method handler (line 14665) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4417 (line 14670) | class Effect4417(BaseEffect):
method handler (line 14681) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4451 (line 14686) | class Effect4451(BaseEffect):
method handler (line 14697) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4452 (line 14701) | class Effect4452(BaseEffect):
method handler (line 14712) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4453 (line 14716) | class Effect4453(BaseEffect):
method handler (line 14727) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4454 (line 14731) | class Effect4454(BaseEffect):
method handler (line 14742) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4456 (line 14747) | class Effect4456(BaseEffect):
method handler (line 14759) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4457 (line 14765) | class Effect4457(BaseEffect):
method handler (line 14777) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4458 (line 14783) | class Effect4458(BaseEffect):
method handler (line 14795) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4459 (line 14801) | class Effect4459(BaseEffect):
method handler (line 14813) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4460 (line 14819) | class Effect4460(BaseEffect):
method handler (line 14831) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4461 (line 14837) | class Effect4461(BaseEffect):
method handler (line 14849) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4462 (line 14855) | class Effect4462(BaseEffect):
method handler (line 14867) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4463 (line 14873) | class Effect4463(BaseEffect):
method handler (line 14885) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4464 (line 14891) | class Effect4464(BaseEffect):
method handler (line 14902) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4471 (line 14907) | class Effect4471(BaseEffect):
method handler (line 14920) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4472 (line 14925) | class Effect4472(BaseEffect):
method handler (line 14937) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4473 (line 14942) | class Effect4473(BaseEffect):
method handler (line 14955) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4474 (line 14959) | class Effect4474(BaseEffect):
method handler (line 14970) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4475 (line 14975) | class Effect4475(BaseEffect):
method handler (line 14986) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4476 (line 14991) | class Effect4476(BaseEffect):
method handler (line 15002) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4477 (line 15007) | class Effect4477(BaseEffect):
method handler (line 15018) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4478 (line 15023) | class Effect4478(BaseEffect):
method handler (line 15034) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4479 (line 15039) | class Effect4479(BaseEffect):
method handler (line 15050) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4482 (line 15056) | class Effect4482(BaseEffect):
method handler (line 15069) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4484 (line 15074) | class Effect4484(BaseEffect):
method handler (line 15085) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4485 (line 15090) | class Effect4485(BaseEffect):
method handler (line 15101) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4489 (line 15106) | class Effect4489(BaseEffect):
method handler (line 15118) | def handler(fit, mod, context, projectionRange, **kwargs):
class Effect4490 (line 15123) | class Effect4490(BaseEffect):
method handler (line 15135) | def handler(fit, mod, context, projectionRange, **kwargs):
class Effect4491 (line 15140) | class Effect4491(BaseEffect):
method handler (line 15152) | def handler(fit, mod, context, projectionRange, **kwargs):
class Effect4492 (line 15157) | class Effect4492(BaseEffect):
method handler (line 15169) | def handler(fit, mod, context, projectionRange, **kwargs):
class Effect4510 (line 15174) | class Effect4510(BaseEffect):
method handler (line 15186) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4512 (line 15191) | class Effect4512(BaseEffect):
method handler (line 15203) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4513 (line 15208) | class Effect4513(BaseEffect):
method handler (line 15220) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4515 (line 15225) | class Effect4515(BaseEffect):
method handler (line 15237) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4516 (line 15242) | class Effect4516(BaseEffect):
method handler (line 15254) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4527 (line 15259) | class Effect4527(BaseEffect):
method handler (line 15270) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4555 (line 15276) | class Effect4555(BaseEffect):
method handler (line 15287) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect4556 (line 15292) | class Effect4556(BaseEffect):
method handler (line 15303) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect4557 (line 15308) | class Effect4557(BaseEffect):
method handler (line 15319) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect4558 (line 15324) | class Effect4558(BaseEffect):
method handler (line 15335) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect4559 (line 15340) | class Effect4559(BaseEffect):
method handler (line 15351) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4575 (line 15358) | class Effect4575(BaseEffect):
method handler (line 15370) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4576 (line 15438) | class Effect4576(BaseEffect):
method handler (line 15449) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4577 (line 15455) | class Effect4577(BaseEffect):
method handler (line 15466) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4579 (line 15472) | class Effect4579(BaseEffect):
method handler (line 15483) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4619 (line 15488) | class Effect4619(BaseEffect):
method handler (line 15499) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4620 (line 15504) | class Effect4620(BaseEffect):
method handler (line 15517) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4621 (line 15522) | class Effect4621(BaseEffect):
method handler (line 15536) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4622 (line 15541) | class Effect4622(BaseEffect):
method handler (line 15552) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4623 (line 15557) | class Effect4623(BaseEffect):
method handler (line 15568) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4624 (line 15573) | class Effect4624(BaseEffect):
method handler (line 15584) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4625 (line 15589) | class Effect4625(BaseEffect):
method handler (line 15600) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4626 (line 15605) | class Effect4626(BaseEffect):
method handler (line 15618) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4635 (line 15623) | class Effect4635(BaseEffect):
method handler (line 15634) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4636 (line 15642) | class Effect4636(BaseEffect):
method handler (line 15653) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4637 (line 15659) | class Effect4637(BaseEffect):
method handler (line 15671) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4640 (line 15677) | class Effect4640(BaseEffect):
method handler (line 15690) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4643 (line 15697) | class Effect4643(BaseEffect):
method handler (line 15708) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4645 (line 15716) | class Effect4645(BaseEffect):
method handler (line 15728) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4648 (line 15735) | class Effect4648(BaseEffect):
method handler (line 15746) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4649 (line 15753) | class Effect4649(BaseEffect):
method handler (line 15764) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4667 (line 15770) | class Effect4667(BaseEffect):
method handler (line 15781) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4668 (line 15787) | class Effect4668(BaseEffect):
method handler (line 15798) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4669 (line 15804) | class Effect4669(BaseEffect):
method handler (line 15815) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4670 (line 15821) | class Effect4670(BaseEffect):
method handler (line 15832) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4728 (line 15838) | class Effect4728(BaseEffect):
method handler (line 15851) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4760 (line 15876) | class Effect4760(BaseEffect):
method handler (line 15887) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4775 (line 15892) | class Effect4775(BaseEffect):
method handler (line 15903) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4782 (line 15909) | class Effect4782(BaseEffect):
method handler (line 15920) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4789 (line 15925) | class Effect4789(BaseEffect):
method handler (line 15936) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4793 (line 15941) | class Effect4793(BaseEffect):
method handler (line 15952) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4794 (line 15957) | class Effect4794(BaseEffect):
method handler (line 15968) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4795 (line 15973) | class Effect4795(BaseEffect):
method handler (line 15984) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4799 (line 15989) | class Effect4799(BaseEffect):
method handler (line 16000) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4804 (line 16008) | class Effect4804(BaseEffect):
method handler (line 16021) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect4809 (line 16026) | class Effect4809(BaseEffect):
method handler (line 16037) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4810 (line 16043) | class Effect4810(BaseEffect):
method handler (line 16054) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4811 (line 16060) | class Effect4811(BaseEffect):
method handler (line 16071) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4812 (line 16078) | class Effect4812(BaseEffect):
method handler (line 16089) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4814 (line 16095) | class Effect4814(BaseEffect):
method handler (line 16106) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect4817 (line 16111) | class Effect4817(BaseEffect):
method handler (line 16123) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4820 (line 16128) | class Effect4820(BaseEffect):
method handler (line 16139) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4821 (line 16144) | class Effect4821(BaseEffect):
method handler (line 16156) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4822 (line 16161) | class Effect4822(BaseEffect):
method handler (line 16172) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4823 (line 16177) | class Effect4823(BaseEffect):
method handler (line 16188) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4824 (line 16193) | class Effect4824(BaseEffect):
method handler (line 16205) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4825 (line 16210) | class Effect4825(BaseEffect):
method handler (line 16221) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4826 (line 16226) | class Effect4826(BaseEffect):
method handler (line 16237) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4827 (line 16242) | class Effect4827(BaseEffect):
method handler (line 16254) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4867 (line 16259) | class Effect4867(BaseEffect):
method handler (line 16271) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4868 (line 16277) | class Effect4868(BaseEffect):
method handler (line 16289) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4869 (line 16295) | class Effect4869(BaseEffect):
method handler (line 16307) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4871 (line 16312) | class Effect4871(BaseEffect):
method handler (line 16324) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4896 (line 16329) | class Effect4896(BaseEffect):
method handler (line 16340) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4897 (line 16345) | class Effect4897(BaseEffect):
method handler (line 16356) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4898 (line 16361) | class Effect4898(BaseEffect):
method handler (line 16372) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4901 (line 16377) | class Effect4901(BaseEffect):
method handler (line 16388) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4902 (line 16393) | class Effect4902(BaseEffect):
method handler (line 16406) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4906 (line 16411) | class Effect4906(BaseEffect):
method handler (line 16423) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect4911 (line 16429) | class Effect4911(BaseEffect):
method handler (line 16440) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4921 (line 16444) | class Effect4921(BaseEffect):
method handler (line 16455) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4923 (line 16459) | class Effect4923(BaseEffect):
method handler (line 16470) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect4928 (line 16475) | class Effect4928(BaseEffect):
method handler (line 16487) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4934 (line 16603) | class Effect4934(BaseEffect):
method handler (line 16614) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4936 (line 16620) | class Effect4936(BaseEffect):
method handler (line 16632) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4941 (line 16638) | class Effect4941(BaseEffect):
method handler (line 16650) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4945 (line 16655) | class Effect4945(BaseEffect):
method handler (line 16666) | def handler(fit, skill, context, projectionRange, **kwargs):
class Effect4950 (line 16671) | class Effect4950(BaseEffect):
method handler (line 16682) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4951 (line 16687) | class Effect4951(BaseEffect):
method handler (line 16702) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect4961 (line 16708) | class Effect4961(BaseEffect):
method handler (line 16720) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4967 (line 16727) | class Effect4967(BaseEffect):
method handler (line 16739) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect4970 (line 16745) | class Effect4970(BaseEffect):
method handler (line 16760) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4972 (line 16765) | class Effect4972(BaseEffect):
method handler (line 16776) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4973 (line 16781) | class Effect4973(BaseEffect):
method handler (line 16792) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4974 (line 16797) | class Effect4974(BaseEffect):
method handler (line 16809) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4975 (line 16814) | class Effect4975(BaseEffect):
method handler (line 16825) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4976 (line 16830) | class Effect4976(BaseEffect):
method handler (line 16841) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect4989 (line 16849) | class Effect4989(BaseEffect):
method handler (line 16860) | def handler(fit, implant, context, projectionRange, **kwargs):
class Effect4990 (line 16865) | class Effect4990(BaseEffect):
method handler (line 16878) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4991 (line 16883) | class Effect4991(BaseEffect):
method handler (line 16896) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4994 (line 16901) | class Effect4994(BaseEffect):
method handler (line 16916) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4995 (line 16920) | class Effect4995(BaseEffect):
method handler (line 16935) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4996 (line 16939) | class Effect4996(BaseEffect):
method handler (line 16954) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4997 (line 16958) | class Effect4997(BaseEffect):
method handler (line 16973) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect4999 (line 16977) | class Effect4999(BaseEffect):
method handler (line 16988) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5000 (line 16993) | class Effect5000(BaseEffect):
method handler (line 17004) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5008 (line 17009) | class Effect5008(BaseEffect):
method handler (line 17022) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5009 (line 17026) | class Effect5009(BaseEffect):
method handler (line 17039) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5011 (line 17043) | class Effect5011(BaseEffect):
method handler (line 17056) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5012 (line 17060) | class Effect5012(BaseEffect):
method handler (line 17073) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5013 (line 17077) | class Effect5013(BaseEffect):
method handler (line 17090) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5014 (line 17095) | class Effect5014(BaseEffect):
method handler (line 17110) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5015 (line 17115) | class Effect5015(BaseEffect):
method handler (line 17126) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5016 (line 17131) | class Effect5016(BaseEffect):
method handler (line 17142) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5017 (line 17147) | class Effect5017(BaseEffect):
method handler (line 17158) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5018 (line 17163) | class Effect5018(BaseEffect):
method handler (line 17174) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5019 (line 17178) | class Effect5019(BaseEffect):
method handler (line 17189) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5020 (line 17194) | class Effect5020(BaseEffect):
method handler (line 17206) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5021 (line 17211) | class Effect5021(BaseEffect):
method handler (line 17223) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5028 (line 17228) | class Effect5028(BaseEffect):
method handler (line 17239) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5030 (line 17246) | class Effect5030(BaseEffect):
method handler (line 17260) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect5035 (line 17265) | class Effect5035(BaseEffect):
method handler (line 17280) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5036 (line 17286) | class Effect5036(BaseEffect):
method handler (line 17297) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5045 (line 17302) | class Effect5045(BaseEffect):
method handler (line 17313) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5048 (line 17318) | class Effect5048(BaseEffect):
method handler (line 17329) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5051 (line 17334) | class Effect5051(BaseEffect):
method handler (line 17345) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5058 (line 17350) | class Effect5058(BaseEffect):
method handler (line 17361) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5066 (line 17366) | class Effect5066(BaseEffect):
method handler (line 17378) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5067 (line 17383) | class Effect5067(BaseEffect):
method handler (line 17394) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5068 (line 17400) | class Effect5068(BaseEffect):
method handler (line 17411) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5069 (line 17415) | class Effect5069(BaseEffect):
method handler (line 17427) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5079 (line 17434) | class Effect5079(BaseEffect):
method handler (line 17446) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5080 (line 17451) | class Effect5080(BaseEffect):
method handler (line 17464) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5081 (line 17469) | class Effect5081(BaseEffect):
method handler (line 17480) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5087 (line 17485) | class Effect5087(BaseEffect):
method handler (line 17499) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5090 (line 17505) | class Effect5090(BaseEffect):
method handler (line 17518) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5103 (line 17523) | class Effect5103(BaseEffect):
method handler (line 17534) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5104 (line 17539) | class Effect5104(BaseEffect):
method handler (line 17550) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5105 (line 17555) | class Effect5105(BaseEffect):
method handler (line 17566) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5106 (line 17571) | class Effect5106(BaseEffect):
method handler (line 17582) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5107 (line 17587) | class Effect5107(BaseEffect):
method handler (line 17598) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect5108 (line 17603) | class Effect5108(BaseEffect):
method handler (line 17614) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect5109 (line 17620) | class Effect5109(BaseEffect):
method handler (line 17632) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect5110 (line 17637) | class Effect5110(BaseEffect):
method handler (line 17649) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect5111 (line 17654) | class Effect5111(BaseEffect):
method handler (line 17667) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5119 (line 17672) | class Effect5119(BaseEffect):
method handler (line 17684) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5121 (line 17690) | class Effect5121(BaseEffect):
method handler (line 17702) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5122 (line 17707) | class Effect5122(BaseEffect):
method handler (line 17718) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5123 (line 17723) | class Effect5123(BaseEffect):
method handler (line 17734) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect5124 (line 17739) | class Effect5124(BaseEffect):
method handler (line 17750) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect5125 (line 17755) | class Effect5125(BaseEffect):
method handler (line 17766) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect5126 (line 17772) | class Effect5126(BaseEffect):
method handler (line 17783) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5127 (line 17788) | class Effect5127(BaseEffect):
method handler (line 17799) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5128 (line 17804) | class Effect5128(BaseEffect):
method handler (line 17815) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5129 (line 17820) | class Effect5129(BaseEffect):
method handler (line 17832) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5131 (line 17838) | class Effect5131(BaseEffect):
method handler (line 17851) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5132 (line 17857) | class Effect5132(BaseEffect):
method handler (line 17870) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5133 (line 17875) | class Effect5133(BaseEffect):
method handler (line 17886) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5136 (line 17891) | class Effect5136(BaseEffect):
method handler (line 17906) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5139 (line 17911) | class Effect5139(BaseEffect):
method handler (line 17922) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5153 (line 17928) | class Effect5153(BaseEffect):
method handler (line 17940) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5162 (line 17945) | class Effect5162(BaseEffect):
method handler (line 17956) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect5165 (line 17964) | class Effect5165(BaseEffect):
method handler (line 17976) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5168 (line 17981) | class Effect5168(BaseEffect):
method handler (line 17992) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect5180 (line 17998) | class Effect5180(BaseEffect):
method handler (line 18009) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect5181 (line 18014) | class Effect5181(BaseEffect):
method handler (line 18025) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect5182 (line 18029) | class Effect5182(BaseEffect):
method handler (line 18040) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect5183 (line 18045) | class Effect5183(BaseEffect):
method handler (line 18056) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect5185 (line 18060) | class Effect5185(BaseEffect):
method handler (line 18071) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5187 (line 18077) | class Effect5187(BaseEffect):
method handler (line 18088) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5188 (line 18094) | class Effect5188(BaseEffect):
method handler (line 18107) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5189 (line 18114) | class Effect5189(BaseEffect):
method handler (line 18126) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5190 (line 18133) | class Effect5190(BaseEffect):
method handler (line 18145) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5201 (line 18152) | class Effect5201(BaseEffect):
method handler (line 18163) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect5205 (line 18169) | class Effect5205(BaseEffect):
method handler (line 18180) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5206 (line 18185) | class Effect5206(BaseEffect):
method handler (line 18196) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5207 (line 18201) | class Effect5207(BaseEffect):
method handler (line 18212) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5208 (line 18217) | class Effect5208(BaseEffect):
method handler (line 18228) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5209 (line 18233) | class Effect5209(BaseEffect):
method handler (line 18245) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5212 (line 18250) | class Effect5212(BaseEffect):
method handler (line 18261) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5213 (line 18266) | class Effect5213(BaseEffect):
method handler (line 18277) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5214 (line 18284) | class Effect5214(BaseEffect):
method handler (line 18295) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5215 (line 18302) | class Effect5215(BaseEffect):
method handler (line 18313) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5216 (line 18318) | class Effect5216(BaseEffect):
method handler (line 18329) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5217 (line 18334) | class Effect5217(BaseEffect):
method handler (line 18345) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5218 (line 18350) | class Effect5218(BaseEffect):
method handler (line 18361) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5219 (line 18366) | class Effect5219(BaseEffect):
method handler (line 18377) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5220 (line 18382) | class Effect5220(BaseEffect):
method handler (line 18393) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5221 (line 18398) | class Effect5221(BaseEffect):
method handler (line 18409) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5222 (line 18414) | class Effect5222(BaseEffect):
method handler (line 18425) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5223 (line 18430) | class Effect5223(BaseEffect):
method handler (line 18441) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5224 (line 18446) | class Effect5224(BaseEffect):
method handler (line 18457) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5225 (line 18462) | class Effect5225(BaseEffect):
method handler (line 18473) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5226 (line 18478) | class Effect5226(BaseEffect):
method handler (line 18489) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5227 (line 18494) | class Effect5227(BaseEffect):
method handler (line 18505) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5228 (line 18510) | class Effect5228(BaseEffect):
method handler (line 18521) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5229 (line 18526) | class Effect5229(BaseEffect):
method handler (line 18542) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect5230 (line 18547) | class Effect5230(BaseEffect):
method handler (line 18559) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5231 (line 18566) | class Effect5231(BaseEffect):
method handler (line 18578) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5234 (line 18585) | class Effect5234(BaseEffect):
method handler (line 18597) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5237 (line 18603) | class Effect5237(BaseEffect):
method handler (line 18614) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5240 (line 18620) | class Effect5240(BaseEffect):
method handler (line 18632) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5243 (line 18638) | class Effect5243(BaseEffect):
method handler (line 18650) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5259 (line 18656) | class Effect5259(BaseEffect):
method handler (line 18668) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5260 (line 18673) | class Effect5260(BaseEffect):
method handler (line 18685) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5261 (line 18690) | class Effect5261(BaseEffect):
method handler (line 18702) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5262 (line 18706) | class Effect5262(BaseEffect):
method handler (line 18717) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5263 (line 18722) | class Effect5263(BaseEffect):
method handler (line 18733) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5264 (line 18738) | class Effect5264(BaseEffect):
method handler (line 18750) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5265 (line 18754) | class Effect5265(BaseEffect):
method handler (line 18765) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5266 (line 18770) | class Effect5266(BaseEffect):
method handler (line 18782) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5267 (line 18788) | class Effect5267(BaseEffect):
method handler (line 18800) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5268 (line 18805) | class Effect5268(BaseEffect):
method handler (line 18817) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5275 (line 18822) | class Effect5275(BaseEffect):
method handler (line 18834) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5293 (line 18848) | class Effect5293(BaseEffect):
method handler (line 18859) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5294 (line 18864) | class Effect5294(BaseEffect):
method handler (line 18875) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5295 (line 18880) | class Effect5295(BaseEffect):
method handler (line 18891) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect5300 (line 18896) | class Effect5300(BaseEffect):
method handler (line 18907) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect5303 (line 18916) | class Effect5303(BaseEffect):
method handler (line 18927) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5304 (line 18932) | class Effect5304(BaseEffect):
method handler (line 18943) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5305 (line 18948) | class Effect5305(BaseEffect):
method handler (line 18959) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5306 (line 18965) | class Effect5306(BaseEffect):
method handler (line 18976) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5307 (line 18982) | class Effect5307(BaseEffect):
method handler (line 18993) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5308 (line 18998) | class Effect5308(BaseEffect):
method handler (line 19009) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5309 (line 19014) | class Effect5309(BaseEffect):
method handler (line 19025) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5310 (line 19030) | class Effect5310(BaseEffect):
method handler (line 19043) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5311 (line 19048) | class Effect5311(BaseEffect):
method handler (line 19059) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect5316 (line 19064) | class Effect5316(BaseEffect):
method handler (line 19075) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect5317 (line 19084) | class Effect5317(BaseEffect):
method handler (line 19096) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5318 (line 19102) | class Effect5318(BaseEffect):
method handler (line 19114) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5319 (line 19119) | class Effect5319(BaseEffect):
method handler (line 19130) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5320 (line 19136) | class Effect5320(BaseEffect):
method handler (line 19147) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5321 (line 19153) | class Effect5321(BaseEffect):
method handler (line 19164) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5322 (line 19170) | class Effect5322(BaseEffect):
method handler (line 19183) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5323 (line 19188) | class Effect5323(BaseEffect):
method handler (line 19201) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5324 (line 19206) | class Effect5324(BaseEffect):
method handler (line 19219) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5325 (line 19224) | class Effect5325(BaseEffect):
method handler (line 19237) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5326 (line 19242) | class Effect5326(BaseEffect):
method handler (line 19253) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5331 (line 19259) | class Effect5331(BaseEffect):
method handler (line 19270) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5332 (line 19276) | class Effect5332(BaseEffect):
method handler (line 19287) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5333 (line 19293) | class Effect5333(BaseEffect):
method handler (line 19304) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5334 (line 19310) | class Effect5334(BaseEffect):
method handler (line 19322) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5335 (line 19327) | class Effect5335(BaseEffect):
method handler (line 19340) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5336 (line 19345) | class Effect5336(BaseEffect):
method handler (line 19358) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5337 (line 19363) | class Effect5337(BaseEffect):
method handler (line 19376) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5338 (line 19381) | class Effect5338(BaseEffect):
method handler (line 19394) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5339 (line 19399) | class Effect5339(BaseEffect):
method handler (line 19411) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5340 (line 19417) | class Effect5340(BaseEffect):
method handler (line 19429) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5341 (line 19435) | class Effect5341(BaseEffect):
method handler (line 19447) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5342 (line 19453) | class Effect5342(BaseEffect):
method handler (line 19466) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5343 (line 19472) | class Effect5343(BaseEffect):
method handler (line 19483) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5348 (line 19489) | class Effect5348(BaseEffect):
method handler (line 19500) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5349 (line 19506) | class Effect5349(BaseEffect):
method handler (line 19517) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5350 (line 19522) | class Effect5350(BaseEffect):
method handler (line 19533) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5351 (line 19538) | class Effect5351(BaseEffect):
method handler (line 19550) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5352 (line 19556) | class Effect5352(BaseEffect):
method handler (line 19568) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5353 (line 19574) | class Effect5353(BaseEffect):
method handler (line 19585) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5354 (line 19590) | class Effect5354(BaseEffect):
method handler (line 19601) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5355 (line 19607) | class Effect5355(BaseEffect):
method handler (line 19618) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5356 (line 19624) | class Effect5356(BaseEffect):
method handler (line 19635) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5357 (line 19640) | class Effect5357(BaseEffect):
method handler (line 19651) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5358 (line 19657) | class Effect5358(BaseEffect):
method handler (line 19668) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5359 (line 19674) | class Effect5359(BaseEffect):
method handler (line 19685) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5360 (line 19691) | class Effect5360(BaseEffect):
method handler (line 19702) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5361 (line 19707) | class Effect5361(BaseEffect):
method handler (line 19718) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5364 (line 19723) | class Effect5364(BaseEffect):
method handler (line 19739) | def handler(fit, booster, context, projectionRange, **kwargs):
class Effect5365 (line 19745) | class Effect5365(BaseEffect):
method handler (line 19756) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5366 (line 19762) | class Effect5366(BaseEffect):
method handler (line 19773) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5367 (line 19778) | class Effect5367(BaseEffect):
method handler (line 19789) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5378 (line 19795) | class Effect5378(BaseEffect):
method handler (line 19806) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5379 (line 19812) | class Effect5379(BaseEffect):
method handler (line 19823) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5380 (line 19829) | class Effect5380(BaseEffect):
method handler (line 19840) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5381 (line 19846) | class Effect5381(BaseEffect):
method handler (line 19857) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5382 (line 19863) | class Effect5382(BaseEffect):
method handler (line 19876) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5383 (line 19881) | class Effect5383(BaseEffect):
method handler (line 19894) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5384 (line 19899) | class Effect5384(BaseEffect):
method handler (line 19912) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5385 (line 19917) | class Effect5385(BaseEffect):
method handler (line 19930) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5386 (line 19935) | class Effect5386(BaseEffect):
method handler (line 19946) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5387 (line 19951) | class Effect5387(BaseEffect):
method handler (line 19962) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5388 (line 19967) | class Effect5388(BaseEffect):
method handler (line 19978) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5397 (line 19983) | class Effect5397(BaseEffect):
method handler (line 19995) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5398 (line 20002) | class Effect5398(BaseEffect):
method handler (line 20013) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5399 (line 20018) | class Effect5399(BaseEffect):
method handler (line 20030) | def handler(fit, module, context, projectionRange, **kwargs):
class Effect5402 (line 20036) | class Effect5402(BaseEffect):
method handler (line 20047) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5403 (line 20053) | class Effect5403(BaseEffect):
method handler (line 20064) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5410 (line 20070) | class Effect5410(BaseEffect):
method handler (line 20081) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5411 (line 20087) | class Effect5411(BaseEffect):
method handler (line 20098) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5417 (line 20103) | class Effect5417(BaseEffect):
method handler (line 20114) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5418 (line 20119) | class Effect5418(BaseEffect):
method handler (line 20130) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5419 (line 20135) | class Effect5419(BaseEffect):
method handler (line 20146) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5420 (line 20151) | class Effect5420(BaseEffect):
method handler (line 20162) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5424 (line 20167) | class Effect5424(BaseEffect):
method handler (line 20179) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5427 (line 20184) | class Effect5427(BaseEffect):
method handler (line 20195) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5428 (line 20200) | class Effect5428(BaseEffect):
method handler (line 20211) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5429 (line 20216) | class Effect5429(BaseEffect):
method handler (line 20227) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5430 (line 20233) | class Effect5430(BaseEffect):
method handler (line 20244) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5433 (line 20250) | class Effect5433(BaseEffect):
method handler (line 20267) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect5437 (line 20273) | class Effect5437(BaseEffect):
method handler (line 20288) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect5440 (line 20294) | class Effect5440(BaseEffect):
method handler (line 20306) | def handler(fit, beacon, context, projectionRange, **kwargs):
class Effect5444 (line 20312) | class Effect5444(BaseEffect):
method handler (line 20323) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5445 (line 20328) | class Effect5445(BaseEffect):
method handler (line 20339) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5456 (line 20344) | class Effect5456(BaseEffect):
method handler (line 20355) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5457 (line 20360) | class Effect5457(BaseEffect):
method handler (line 20371) | def handler(fit, ship, context, projectionRange, **kwargs):
class Effect5459 (line 20376) | class Effect5459(BaseEffect):
method handler (line 20388) | def handler(fit, src, context, projectionRange, **kwargs):
class Effect5460 (line 20392) | class Effect5460(BaseEffect):
method handler (line 20413) | def handler(fit, container, context, projectionRange, **kwargs):
class Effect5461 (line 20420) | class Effect5461(BaseEffect):
method handler (line 20431) | def handle
Copy disabled (too large)
Download .json
Condensed preview — 751 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (24,848K chars).
[
{
"path": ".appveyor.yml",
"chars": 8480,
"preview": "image:\n - Ubuntu2204\n - Visual Studio 2022\n - macos-monterey\nfor:\n -\n matrix:\n only:\n - image: Ubuntu"
},
{
"path": ".codecov.yml",
"chars": 355,
"preview": "codecov:\n notify:\n require_ci_to_pass: yes\n\ncoverage:\n precision: 2\n round: down\n range: \"70...100\"\n\n status:\n "
},
{
"path": ".gitattributes",
"chars": 957,
"preview": "# Set the default behavior, in case people don't have core.autocrlf set.\n* text=auto\n# Explicitly declare text files you"
},
{
"path": ".gitignore",
"chars": 1487,
"preview": "#Python specific\n*.pyc\n\n#Kwrite/Gedit/Other crapapps making backups\n*~\n\n#Patch files\n*.patch\n\n#Personal\n/saveddata/\n\n#Py"
},
{
"path": ".mailmap",
"chars": 859,
"preview": "cncfanatics <diego.duclos@gmail.com> cncfanatics <cncfanatics@titanium.(none)>\nblitzmann <holmes.ryan.90@gmail.com>\nblit"
},
{
"path": "CONTRIBUTING.md",
"chars": 3378,
"preview": "# Contribution\n\n## Requirements\n\n- Python 3.11 (later versions may not work)\n- Git CLI installed\n- Python, pip and git a"
},
{
"path": "ISSUE_TEMPLATE.md",
"chars": 816,
"preview": "<!--\n\nSubmit a bug report bug report or feature request\n\nHere you can inform pyfa developers of potential bugs or sugges"
},
{
"path": "LICENSE",
"chars": 35147,
"preview": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free "
},
{
"path": "README.md",
"chars": 3768,
"preview": "# pyfa\n\n[]([http"
},
{
"path": "_development/Pyfa_CodeStyle.xml",
"chars": 592,
"preview": "<code_scheme name=\"Pyfa\">\n <option name=\"LINE_SEPARATOR\" value=\"
\" />\n <option name=\"RIGHT_MARGIN\" value=\"165"
},
{
"path": "_development/Pyfa_Inspections.xml",
"chars": 2932,
"preview": " <profile version=\"1.0\">\n <option name=\"myName\" value=\"Pyfa\" />\n <inspection_tool class=\"IgnoreUnusedEntry\" enabl"
},
{
"path": "_development/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "_development/helpers.py",
"chars": 4907,
"preview": "# noinspection PyPackageRequirements\r\nimport pytest\r\n\r\nimport os\r\nimport sys\r\nimport threading\r\n\r\nfrom sqlalchemy import"
},
{
"path": "_development/helpers_fits.py",
"chars": 1923,
"preview": "import pytest\r\n\r\n# noinspection PyPackageRequirements\r\n\r\n\r\n# noinspection PyShadowingNames\r\n@pytest.fixture\r\ndef RifterF"
},
{
"path": "_development/helpers_items.py",
"chars": 377,
"preview": "import pytest\r\n\r\n# noinspection PyPackageRequirements\r\n\r\n\r\n# noinspection PyShadowingNames\r\n@pytest.fixture\r\ndef StrongB"
},
{
"path": "_development/helpers_locale.py",
"chars": 2338,
"preview": "import os\r\n\r\n# https://msdn.microsoft.com/en-us/library/windows/desktop/dd317756(v=vs.85).aspx\r\nwindows_codecs = {\r\n "
},
{
"path": "config.py",
"chars": 9819,
"preview": "import os\r\nimport sys\r\nimport yaml\r\nimport wx\r\n\r\nfrom logbook import CRITICAL, DEBUG, ERROR, FingersCrossedHandler, INFO"
},
{
"path": "crowdin.yml",
"chars": 103,
"preview": "files:\n - source: /locale/*.pot\n translation: /locale/%locale_with_underscore%/LC_MESSAGES/lang.po\n"
},
{
"path": "db_update.py",
"chars": 38252,
"preview": "#!/usr/bin/env python3\r\n#======================================================================\r\n# Copyright (C) 2012 Di"
},
{
"path": "dist_assets/cacert.pem",
"chars": 347446,
"preview": "\n# Issuer: O=Equifax OU=Equifax Secure Certificate Authority\n# Subject: O=Equifax OU=Equifax Secure Certificate Authorit"
},
{
"path": "dist_assets/linux/AppImageBuilder.yml",
"chars": 3047,
"preview": "version: 1\n\nAppDir:\n path: ./AppDir\n\n app_info:\n id: pyfa\n name: pyfa\n icon: pyfa\n version: '{{PYFA_VERSIO"
},
{
"path": "dist_assets/mac/pyfa.spec",
"chars": 2879,
"preview": "# -*- mode: python -*-\n\nimport os\nfrom itertools import chain\nimport subprocess\nimport requests.certs\n\nlabel = subproces"
},
{
"path": "dist_assets/win/dist.py",
"chars": 966,
"preview": "# helper script to zip up pyinstaller distribution and create installer file\r\n\r\nimport os.path\r\nfrom subprocess import c"
},
{
"path": "dist_assets/win/pyfa-setup.iss",
"chars": 6476,
"preview": "; Script generated by the Inno Setup Script Wizard.\n; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FI"
},
{
"path": "dist_assets/win/pyfa.spec",
"chars": 2886,
"preview": "# -*- mode: python -*-\n\nimport os\nfrom itertools import chain\nimport subprocess\nimport requests.certs\n\nlabel = subproces"
},
{
"path": "dist_assets/win/version_resource.py",
"chars": 1590,
"preview": "# UTF-8\r\n#\r\n# For more details about fixed file info 'ffi' see:\r\n# http://msdn.microsoft.com/en-us/library/ms646997.aspx"
},
{
"path": "docs/_config.yml",
"chars": 28,
"preview": "theme: jekyll-theme-midnight"
},
{
"path": "docs/callback.html",
"chars": 4333,
"preview": "<html>\n <head>\n <meta http-equiv=\"Content-type\" content=\"text/html;charset=UTF-8\" />\n <title>pyfa Authentication "
},
{
"path": "docs/index.md",
"chars": 1276,
"preview": "## Welcome to GitHub Pages\n\nYou can use the [editor on GitHub](https://github.com/pyfa-org/Pyfa/edit/gh-pages/index.md) "
},
{
"path": "eos/__init__.py",
"chars": 32,
"preview": "version = \"0.2.3\"\r\ntag = \"git\"\r\n"
},
{
"path": "eos/calc.py",
"chars": 3043,
"preview": "# =============================================================================\r\n# Copyright (C) 2019 Ryan Holmes\r\n#\r\n# "
},
{
"path": "eos/capSim.py",
"chars": 12917,
"preview": "import heapq\r\nimport time\r\nfrom math import sqrt, exp\r\nfrom collections import Counter\r\n\r\nDAY = 24 * 60 * 60 * 1000\r\n\r\n\r"
},
{
"path": "eos/config.py",
"chars": 1444,
"preview": "import sys\r\nfrom os.path import realpath, join, dirname, abspath\r\n\r\nfrom logbook import Logger\r\nimport os\r\n\r\nistravis = "
},
{
"path": "eos/const.py",
"chars": 2816,
"preview": "# =============================================================================\r\n# Copyright (C) 2019 Ryan Holmes\r\n#\r\n# "
},
{
"path": "eos/db/__init__.py",
"chars": 5285,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/gamedata/__init__.py",
"chars": 174,
"preview": "__all__ = [\"attribute\", \"category\", \"effect\", \"group\", \"metaData\", \"dynamicAttributes\",\r\n \"item\", \"marketGroup"
},
{
"path": "eos/db/gamedata/alphaClones.py",
"chars": 1883,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/gamedata/attribute.py",
"chars": 3448,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/gamedata/category.py",
"chars": 1795,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/gamedata/dynamicAttributes.py",
"chars": 3341,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/gamedata/effect.py",
"chars": 2095,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/gamedata/group.py",
"chars": 1984,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/gamedata/implantSet.py",
"chars": 1431,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/gamedata/item.py",
"chars": 4474,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/gamedata/marketGroup.py",
"chars": 2734,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/gamedata/metaData.py",
"chars": 1246,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/gamedata/metaGroup.py",
"chars": 1492,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/gamedata/queries.py",
"chars": 17862,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/gamedata/traits.py",
"chars": 589,
"preview": "from sqlalchemy import Column, Table, Integer, String, ForeignKey\r\nfrom sqlalchemy.orm import mapper, synonym\r\n\r\nfrom eo"
},
{
"path": "eos/db/gamedata/unit.py",
"chars": 1520,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/migration.py",
"chars": 1159,
"preview": "from logbook import Logger\r\nimport shutil\r\nimport time\r\n\r\nimport config\r\nfrom . import migrations\r\n\r\npyfalog = Logger(__"
},
{
"path": "eos/db/migrations/__init__.py",
"chars": 1023,
"preview": "\"\"\"\r\nThe migration module includes migration logic to update database scheme and/or\r\ndata for the user database.\r\n\r\nTo c"
},
{
"path": "eos/db/migrations/upgrade1.py",
"chars": 3993,
"preview": "\"\"\"\r\nMigration 1\r\n\r\n- Alters fits table to introduce target resist attribute\r\n- Converts modules based on Oceanus Module"
},
{
"path": "eos/db/migrations/upgrade10.py",
"chars": 554,
"preview": "\"\"\"\r\nMigration 10\r\n\r\n- Adds active attribute to projected fits\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engi"
},
{
"path": "eos/db/migrations/upgrade11.py",
"chars": 4764,
"preview": "\"\"\"\r\nMigration 11\r\n\r\n- Converts modules based on December Release 2015 Tiericide\r\n Some modules have been unpublished"
},
{
"path": "eos/db/migrations/upgrade12.py",
"chars": 14287,
"preview": "\"\"\"\r\nMigration 12\r\n\r\n- Converts modules based on March 2016 Module Tiericide\r\n Some modules have been unpublished (an"
},
{
"path": "eos/db/migrations/upgrade13.py",
"chars": 501,
"preview": "\"\"\"\r\nMigration 13\r\n\r\n- Alters fits table to introduce implant location attribute\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgr"
},
{
"path": "eos/db/migrations/upgrade14.py",
"chars": 727,
"preview": "\"\"\"\r\nMigration 14\r\n\r\n- This should take care of issue #586.\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine)"
},
{
"path": "eos/db/migrations/upgrade15.py",
"chars": 388,
"preview": "\"\"\"\r\nMigration 15\r\n\r\n- Delete projected modules on citadels\r\n\"\"\"\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n sql = \"\"\"\r\n "
},
{
"path": "eos/db/migrations/upgrade16.py",
"chars": 386,
"preview": "\"\"\"\r\nMigration 16\r\n\r\n- Alters fits table to introduce notes attribute\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(savedda"
},
{
"path": "eos/db/migrations/upgrade17.py",
"chars": 1647,
"preview": "\"\"\"\r\nMigration 17\r\n\r\n- Moves all fleet boosters to the new schema\r\n\"\"\"\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n from eos"
},
{
"path": "eos/db/migrations/upgrade18.py",
"chars": 3001,
"preview": "\"\"\"\r\nMigration 8\r\n\r\n- Converts modules from old Warfare Links to Command Modules\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n 42526: ( "
},
{
"path": "eos/db/migrations/upgrade19.py",
"chars": 426,
"preview": "\"\"\"\r\nMigration 19\r\n\r\n- Deletes broken references to fits from the commandFits table (see GH issue #844)\r\n\"\"\"\r\n\r\n\r\ndef up"
},
{
"path": "eos/db/migrations/upgrade2.py",
"chars": 796,
"preview": "\"\"\"\r\nMigration 2\r\n\r\n- Includes old upgrade paths pre-1.5.0. See GH issue #190 for why this is needed\r\n\"\"\"\r\n\r\nimport sqla"
},
{
"path": "eos/db/migrations/upgrade20.py",
"chars": 422,
"preview": "\"\"\"\r\nMigration 20\r\n\r\n- Adds support for alpha clones to the characters table\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade("
},
{
"path": "eos/db/migrations/upgrade21.py",
"chars": 370,
"preview": "\"\"\"\r\nMigration 21\r\n\r\n- Fixes discrepancy in drone table where we may have an amount active that is not equal to the amou"
},
{
"path": "eos/db/migrations/upgrade22.py",
"chars": 1347,
"preview": "\"\"\"\r\nMigration 22\r\n\r\n- Adds the created and modified fields to most tables\r\n\"\"\"\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(save"
},
{
"path": "eos/db/migrations/upgrade23.py",
"chars": 349,
"preview": "\"\"\"\r\nMigration 23\r\n\r\n- Adds a sec status field to the character table\r\n\"\"\"\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata"
},
{
"path": "eos/db/migrations/upgrade24.py",
"chars": 458,
"preview": "\"\"\"\r\nMigration 24\r\n\r\n- Adds a boolean value to fit to signify if fit should ignore restrictions\r\n\"\"\"\r\nimport sqlalchemy\r"
},
{
"path": "eos/db/migrations/upgrade25.py",
"chars": 344501,
"preview": "\"\"\"\r\nMigration 25\r\n\r\n- Converts T3C fitting configurations based on the spreadsheet noted here:\r\nhttps://www.eveonline.c"
},
{
"path": "eos/db/migrations/upgrade26.py",
"chars": 279,
"preview": "\"\"\"\r\nMigration 26\r\n\r\n- Deletes invalid command fit relationships caused by a bug (see #1244)\r\n\"\"\"\r\n\r\n\r\ndef upgrade(saved"
},
{
"path": "eos/db/migrations/upgrade27.py",
"chars": 246,
"preview": "\"\"\"\r\nMigration 27\r\n\r\n- Resets all alpha clones to 1 (CCP consolidated all alpha's into one skillset)\r\n\"\"\"\r\n\r\n\r\ndef upgra"
},
{
"path": "eos/db/migrations/upgrade28.py",
"chars": 567,
"preview": "\"\"\"\r\nMigration 28\r\n\r\n- adds baseItemID and mutaplasmidID to modules table\r\n\"\"\"\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saved"
},
{
"path": "eos/db/migrations/upgrade29.py",
"chars": 560,
"preview": "\"\"\"\r\nMigration 29\r\n\r\n- adds spoolType and spoolAmount to modules table\r\n\"\"\"\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddat"
},
{
"path": "eos/db/migrations/upgrade3.py",
"chars": 323,
"preview": "\"\"\"\r\nMigration 3\r\n\r\n- Adds mode column for fits (t3 dessy)\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):"
},
{
"path": "eos/db/migrations/upgrade30.py",
"chars": 397,
"preview": "\"\"\"\r\nMigration 30\r\n\r\n- changes to prices table\r\n\"\"\"\r\n\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n try:"
},
{
"path": "eos/db/migrations/upgrade31.py",
"chars": 334,
"preview": "\"\"\"\r\nMigration 31\r\n\r\n- added fit system security column\r\n\"\"\"\r\n\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r"
},
{
"path": "eos/db/migrations/upgrade32.py",
"chars": 469,
"preview": "\"\"\"\r\nMigration 32\r\n\r\n- added speed, sig and radius columns to targetResists table\r\n\"\"\"\r\n\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef u"
},
{
"path": "eos/db/migrations/upgrade33.py",
"chars": 947,
"preview": "\"\"\"\r\nMigration 33\r\n\r\nAllow use of floats in damage pattern values\r\n\"\"\"\r\n\r\ntmpTable = \"\"\"\r\nCREATE TABLE \"damagePatternsTe"
},
{
"path": "eos/db/migrations/upgrade34.py",
"chars": 1046,
"preview": "\"\"\"\r\nMigration 34\r\n\r\n- Adds projection range columns to projectable entities\r\n\"\"\"\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(sa"
},
{
"path": "eos/db/migrations/upgrade35.py",
"chars": 5780,
"preview": "\"\"\"\r\nMigration 35\r\n\r\n- Remove builtin damage patterns and target profiles from the database\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r"
},
{
"path": "eos/db/migrations/upgrade36.py",
"chars": 3302,
"preview": "\"\"\"\r\nMigration 36\r\n\r\n- Shield Booster, Armor Repairer and Capacitor Transfer tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n 6441"
},
{
"path": "eos/db/migrations/upgrade37.py",
"chars": 1757,
"preview": "\"\"\"\r\nMigration 37\r\n\r\n- Capacitor Booster tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n 4959: ( # 'Seed' Micro Capacitor Booste"
},
{
"path": "eos/db/migrations/upgrade38.py",
"chars": 1523,
"preview": "\"\"\"\r\nMigration 38\r\n\r\n- Armor hardener tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n 16357: ( # Experimental Enduring EM Armor "
},
{
"path": "eos/db/migrations/upgrade39.py",
"chars": 1165,
"preview": "\"\"\"\r\nMigration 39\r\n\r\n- Shield amplifier tiericide\r\n- CCP getting rid of DB TDs due to exploits\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n"
},
{
"path": "eos/db/migrations/upgrade4.py",
"chars": 5796,
"preview": "\"\"\"\r\nMigration 4\r\n\r\n- Converts modules based on Proteus Module Tiericide\r\n Some modules have been unpublished (and un"
},
{
"path": "eos/db/migrations/upgrade40.py",
"chars": 712,
"preview": "\"\"\"\r\nMigration 40\r\n\r\nImports all item conversions since Migration 28 and runs them against module.baseItemID. This colum"
},
{
"path": "eos/db/migrations/upgrade41.py",
"chars": 1897,
"preview": "\"\"\"\r\nMigration 41\r\n\r\n- Resistance plating tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n 16345: ( # Upgraded Layered Coating I\r"
},
{
"path": "eos/db/migrations/upgrade42.py",
"chars": 2171,
"preview": "\"\"\"\r\nMigration 42\r\n\r\n- Resistance membrane tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n 16391: ( # Compact Multispectrum Ener"
},
{
"path": "eos/db/migrations/upgrade43.py",
"chars": 968,
"preview": "\"\"\"\r\nMigration 43\r\n\r\n- Shield booster amplifier tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n 16533: ( # Stalwart Restrained S"
},
{
"path": "eos/db/migrations/upgrade44.py",
"chars": 989,
"preview": "\"\"\"\r\nMigration 44\r\n\r\n- Signal distortion amplifier tiericide\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n 25565: ( # Hypnos Compact Sig"
},
{
"path": "eos/db/migrations/upgrade45.py",
"chars": 546,
"preview": "\"\"\"\r\nMigration 45\r\n\r\n- Drone mutaplasmid support\r\n\"\"\"\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_engine):\r\n try:"
},
{
"path": "eos/db/migrations/upgrade46.py",
"chars": 2799,
"preview": "\"\"\"\r\nMigration 46\r\n\r\n- Mining crystal changes\r\n\"\"\"\r\n\r\nCONVERSIONS = {\r\n 60276: ( # Simple Asteroid Mining Crystal Ty"
},
{
"path": "eos/db/migrations/upgrade47.py",
"chars": 1467,
"preview": "\"\"\"\r\nMigration 46\r\n\r\n- add support for server selection for SSO characters\r\n\"\"\"\r\nimport sqlalchemy\r\n\r\ntmpTable = \"\"\"\r\n "
},
{
"path": "eos/db/migrations/upgrade48.py",
"chars": 345,
"preview": "\"\"\"\r\nMigration 48\r\n\r\n- added pilot security column (CONCORD ships)\r\n\"\"\"\r\n\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddat"
},
{
"path": "eos/db/migrations/upgrade49.py",
"chars": 354,
"preview": "\"\"\"\r\nMigration 49\r\n\r\n- added hp column to targetResists table\r\n\"\"\"\r\n\r\n\r\nimport sqlalchemy\r\n\r\n\r\ndef upgrade(saveddata_eng"
},
{
"path": "eos/db/migrations/upgrade5.py",
"chars": 215,
"preview": "\"\"\"\r\nMigration 5\r\n\r\nSimply deletes damage profiles with a blank name. See GH issue #256\r\n\"\"\"\r\n\r\n\r\ndef upgrade(saveddata_"
},
{
"path": "eos/db/migrations/upgrade6.py",
"chars": 487,
"preview": "\"\"\"\r\nMigration 6\r\n\r\nOverwrites damage profile 0 to reset bad uniform values (bad values set with bug)\r\n\"\"\"\r\n\r\n\r\ndef upgr"
},
{
"path": "eos/db/migrations/upgrade7.py",
"chars": 624,
"preview": "\"\"\"\r\nMigration 7\r\n\r\n- Converts Scorpion Ishukone Watch to Scorpion\r\n\r\n Mosaic introduced proper skinning system, and "
},
{
"path": "eos/db/migrations/upgrade8.py",
"chars": 3499,
"preview": "\"\"\"\r\nMigration 8\r\n\r\n- Converts modules based on Carnyx Module Tiericide\r\n Some modules have been unpublished (and unp"
},
{
"path": "eos/db/migrations/upgrade9.py",
"chars": 768,
"preview": "\"\"\"\r\nMigration 9\r\n\r\nEffectively drops UNIQUE constraint from boosters table. SQLite does not support\r\nthis, so we have t"
},
{
"path": "eos/db/saveddata/__init__.py",
"chars": 284,
"preview": "__all__ = [\r\n \"character\",\r\n \"fit\",\r\n \"mutatorMod\",\r\n \"mutatorDrone\",\r\n \"module\",\r\n \"user\",\r\n \"skil"
},
{
"path": "eos/db/saveddata/booster.py",
"chars": 2483,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/saveddata/cargo.py",
"chars": 1760,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/saveddata/character.py",
"chars": 4556,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/saveddata/damagePattern.py",
"chars": 1744,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/saveddata/databaseRepair.py",
"chars": 11363,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/saveddata/drone.py",
"chars": 2479,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/saveddata/fighter.py",
"chars": 2803,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/saveddata/fit.py",
"chars": 12857,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/saveddata/implant.py",
"chars": 2294,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/saveddata/implantSet.py",
"chars": 2249,
"preview": "# ===============================================================================\r\n# Copyright (C) 2016 Ryan Holmes\r\n#\r\n"
},
{
"path": "eos/db/saveddata/miscData.py",
"chars": 1258,
"preview": "# ===============================================================================\r\n# Copyright (C) 2011 Anton Vorobyov\r\n"
},
{
"path": "eos/db/saveddata/module.py",
"chars": 2917,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/saveddata/mutatorDrone.py",
"chars": 1571,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/saveddata/mutatorMod.py",
"chars": 1560,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/saveddata/override.py",
"chars": 1626,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/saveddata/price.py",
"chars": 1384,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/saveddata/queries.py",
"chars": 19020,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/saveddata/skill.py",
"chars": 1632,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/saveddata/targetProfile.py",
"chars": 2168,
"preview": "# ===============================================================================\r\n# Copyright (C) 2014 Ryan Holmes\r\n#\r\n"
},
{
"path": "eos/db/saveddata/user.py",
"chars": 1396,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/db/util.py",
"chars": 2324,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/effectHandlerHelpers.py",
"chars": 14841,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/effects.py",
"chars": 1401429,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/eqBase.py",
"chars": 1173,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/events.py",
"chars": 3615,
"preview": "# Decided to put this in it's own file so that we can easily choose not to import it (thanks to mac-deprecated builds =/"
},
{
"path": "eos/gamedata.py",
"chars": 25421,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/lgpl.txt",
"chars": 26531,
"preview": " GNU LESSER GENERAL PUBLIC LICENSE\n Version 2.1, February 1999\n\n Copyright (C) 19"
},
{
"path": "eos/modifiedAttributeDict.py",
"chars": 23867,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "eos/saveddata/booster.py",
"chars": 5842,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/boosterSideEffect.py",
"chars": 2123,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/cargo.py",
"chars": 3394,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/character.py",
"chars": 14751,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/citadel.py",
"chars": 1609,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/damagePattern.py",
"chars": 18883,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/drone.py",
"chars": 16783,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/fighter.py",
"chars": 19886,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/fighterAbility.py",
"chars": 5588,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/fit.py",
"chars": 90819,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/implant.py",
"chars": 4165,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/implantSet.py",
"chars": 1979,
"preview": "# ===============================================================================\r\n# Copyright (C) 2016 Ryan Holmes\r\n#\r\n"
},
{
"path": "eos/saveddata/miscData.py",
"chars": 1043,
"preview": "# ===============================================================================\r\n# Copyright (C) 2011 Anton Vorobyov\r\n"
},
{
"path": "eos/saveddata/mode.py",
"chars": 2462,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/module.py",
"chars": 48739,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/mutatedMixin.py",
"chars": 4215,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/mutator.py",
"chars": 5448,
"preview": "# ===============================================================================\r\n# Copyright (C) 2015 Ryan Holmes\r\n#\r\n"
},
{
"path": "eos/saveddata/override.py",
"chars": 1931,
"preview": "# ===============================================================================\r\n# Copyright (C) 2015 Ryan Holmes\r\n#\r\n"
},
{
"path": "eos/saveddata/price.py",
"chars": 2665,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n# "
},
{
"path": "eos/saveddata/ship.py",
"chars": 5710,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/ssocharacter.py",
"chars": 1879,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/saveddata/targetProfile.py",
"chars": 31894,
"preview": "# ===============================================================================\r\n# Copyright (C) 2014 Ryan Holmes\r\n#\r\n"
},
{
"path": "eos/saveddata/user.py",
"chars": 2263,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/utils/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "eos/utils/cycles.py",
"chars": 1938,
"preview": "# Borrowed from new eos\r\n\r\n\r\nfrom utils.repr import makeReprStr\r\n\r\n\r\nclass CycleInfo:\r\n\r\n def __init__(self, activeTi"
},
{
"path": "eos/utils/default.py",
"chars": 88,
"preview": "class DEFAULT:\r\n \"\"\"Singleton class to signify default argument value.\"\"\"\r\n pass\r\n"
},
{
"path": "eos/utils/float.py",
"chars": 958,
"preview": "\"\"\"\r\nSometimes use of floats may lead to undesirable results, e.g.\r\n int(2.3 / 0.1) = 22.\r\nWe cannot afford to use diff"
},
{
"path": "eos/utils/pyinst_support.py",
"chars": 1348,
"preview": "\"\"\"\r\nSlightly modified version of function taken from here:\r\nhttps://github.com/pyinstaller/pyinstaller/issues/1905#issu"
},
{
"path": "eos/utils/round.py",
"chars": 825,
"preview": "import math\r\n\r\n\r\ndef roundToPrec(val, prec, nsValue=None):\r\n \"\"\"\r\n nsValue: custom value which should be used to d"
},
{
"path": "eos/utils/spoolSupport.py",
"chars": 3656,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "eos/utils/stats.py",
"chars": 11413,
"preview": "# ===============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r"
},
{
"path": "graphs/__init__.py",
"chars": 943,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/calc.py",
"chars": 1359,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/__init__.py",
"chars": 1167,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/base/__init__.py",
"chars": 1034,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/base/cache.py",
"chars": 1092,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/base/defs.py",
"chars": 4831,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/base/getter.py",
"chars": 3548,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/base/graph.py",
"chars": 11798,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitCapacitor/__init__.py",
"chars": 931,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitCapacitor/getter.py",
"chars": 8849,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitCapacitor/graph.py",
"chars": 3409,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitDamageStats/__init__.py",
"chars": 935,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitDamageStats/cache/__init__.py",
"chars": 931,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitDamageStats/cache/projected.py",
"chars": 6781,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitDamageStats/cache/time.py",
"chars": 12076,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitDamageStats/calc/__init__.py",
"chars": 855,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitDamageStats/calc/application.py",
"chars": 18476,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitDamageStats/calc/projected.py",
"chars": 8955,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitDamageStats/getter.py",
"chars": 19049,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitDamageStats/graph.py",
"chars": 6790,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitEcmBurstScanresDamps/__init__.py",
"chars": 953,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitEcmBurstScanresDamps/getter.py",
"chars": 4797,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitEcmBurstScanresDamps/graph.py",
"chars": 3173,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitEwarStats/__init__.py",
"chars": 931,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitEwarStats/getter.py",
"chars": 17449,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitEwarStats/graph.py",
"chars": 3459,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitLockTime/__init__.py",
"chars": 929,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitLockTime/getter.py",
"chars": 1148,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitLockTime/graph.py",
"chars": 1661,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitMobility/__init__.py",
"chars": 929,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitMobility/getter.py",
"chars": 4440,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitMobility/graph.py",
"chars": 3149,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitRemoteReps/__init__.py",
"chars": 933,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitRemoteReps/cache.py",
"chars": 10328,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitRemoteReps/calc.py",
"chars": 2033,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitRemoteReps/getter.py",
"chars": 7990,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitRemoteReps/graph.py",
"chars": 3651,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
},
{
"path": "graphs/data/fitShieldRegen/__init__.py",
"chars": 935,
"preview": "# =============================================================================\r\n# Copyright (C) 2010 Diego Duclos\r\n#\r\n#"
}
]
// ... and 551 more files (download for full content)
About this extraction
This page contains the full source code of the DarkFenX/Pyfa GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 751 files (243.9 MB), approximately 5.4M tokens, and a symbol index with 9545 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.