3.22.6 • Published 6 months ago

laji-map v3.22.6

Weekly downloads
7
License
MIT
Repository
github
Last release
6 months ago

README

LajiMap is a configurable map component built on Leaflet. The main focus is on rendering geoJSON features and drawing & editing geoJSON features. It has built-in support for EPSG:3857 and EPSG:3067 projections.

Installing

npm install laji-map --save

Usage

var LajiMap = require("laji-map");
var map = new LajiMap(options);

Options

You can also pass any options that Leaflet accepts when initializing LajiMap. Setting Leaflet options after initialization doesn't work.

OptionTypeDefaultDescription
rootElemHTML elem-The node where to mount.
langString"en"One of "en", "fi", "sv".
dataData options[]-Data to draw on map.
drawDraw options-Options for data that can be controlled with the draw control buttons.
controlsControl options-An option object that defines which control should be shown.
customControlsCustom controls options[]-An array of custom controls. See custom control options.
tileLayerNameString"taustakartta"The default tile layer name. Possible values listed under section "Tile layer options". Overridden by tileLayers.
overlayNamesString[]-The default overlay layers. Possible values listed under section "Tile layer options". Overridden by tileLayers
tileLayersTileLayers options-Options for the tile layers, which allows multiple active layers. Overrides tileLayerName.
centerLatLng65, 26The coordinates for the initial center of the map.
zoomInt2The initial zoom level for the map.
zoomToDataFitBounds optionsfalseZooms the map to given data & draw data. Additional options are: {paddingInMeters: number, minZoom: number, dataIdxs: number[], draw: boolean}.
locateObjectfalseShow user location on map. Options: {on: boolean, onLocationFound: fn(latlng, radius), onLocationError: fn(event), userLocation: {latlng, accuracy}, panOnFound: boolean (true by default)}
onPopupClose()Function-Function to call when a popup is closed
markerPopupOffsetInt40Offset (towards up) for popups for markers.
featurePopupOffsetInt5Offset (towards up) for popups for features other than markers.
popupOnHoverBooleanfalseControls whether the popups are shown on hovering a feature or by clicking a feature.
onInitializeDrawLayerFunction-A callback function that is triggered after the draw layer is initialized.
lineTransectLinetransect options-Options for a line transect layer.
availableTileLayerNamesWhitelistString[]-List of tile layer names to show in the layer control. See the possible values of tileLayerName option.
availableTileLayerNamesBlacklistString[]-List of tile layer names not to show in the layer control. See the possible values of tileLayerName option.
availableOverlayNamesWhitelistString[]-List of overlay names to show in the layer control. See the possible values of overlayNames option.
availableOverlayNamesBlacklistString[]"kiinteistojaotus", "kiinteistotunnukset", "flyingSquirrelPredictionModel", "barentsRegion"List of overlay names not to show in the layer control. See the possible values of overlayNames option.
tileLayerOpacityFloat-Tile layer opacity. Range: 0.0-1.0
onObject-Leaflet events to listen for. Must be an object with event names as keys and value as callbacks. You can also use setEventListeners().
polygonObject-Polygon options: {allowIntersection: Boolean, Path style options}
polylineObject-Polyline options: {showStart: Boolean (displays a dot at the start of the line. Default: false). showDirection: Boolean (displays arrows to show the direction. Default: true), Path style options}.
rectangleObject-Global path style options.
circleObject-Global Path style options.
markerObject-Global Path style options.
bodyAsDialogRootBooleantrueIf true, body will be used as root DOM node for dialogs & blocker element. Otherwise the map container will be used as the root DOM node for dialogs.
clickBeforeZoomAndPanBooleanfalseBlock wheel and touchstart events before map is clicked/touched.
viewLockedBooleanfalsePrevent all view interaction (panning, zooming).
googleApikeyString-Needed for geocoding control.
lajiGeoServerAddressString"https://geoserver.laji.fi"Override the laji.fi geoserver address

Data options

OptionTypeDefaultDescription
featureCollectionGeoJSON featureCollectionEmpty feature collectionThe feature collection to render.
getPopup({dataIdx, featureIdx, feature, item}, callback)Function-Function that returns a popup string, or calls the callback with the popup string.
getTooltip({dataIdx, featureIdx, feature, item}, callback)Function-Function that returns a tooltip string, or calls the callback with the tooltip string.
getFeatureStyle({dataIdx, featureIdx, feature, item, hovered, editable, active})FunctionSee lajiMap._getDefaultDataStyle()A function that returns a Path style to use for the feature described by the input parameters.
clusterBooleanfalseControls whether the features should cluster.
getClusterStyle({count, featureIdxs, cluster))FunctionSee lajiMap._getClusterIcon()A function that returns a Path style to use for feature clusters. The returned path style extends the default style. the count parameter is the number of features in the cluster. featureIdxs is an array of featureIdxs of the cluster and cluster is the Leaflet cluster object.
getClusterClassName({count, featureIdxs, cluster))Function-A function that returns a class name to use for feature clusters. The count parameter is the number of features in the cluster. featureIdxs is an array of featureIdxs of the cluster and cluster is the Leaflet cluster object.
getDraftStyleFunctiontrueA function that returns a Path style to use for the feature during drawing & editing a feature.
onObject-An object containing event name -> event handler pairs. Supports both basic Leaflet layer events and cluster container events. Event handler arguments look like this: (e, {idx, layer, feature}). Example: {click: function(e, {idx, layer, feature}) { //handle event }}
editableBooleantrueControls whether the data is editable.
hasActiveBoolean-Whether features can be activated.
activeIdxInteger-The initial active idx. If not given, the data doesn't allow activating any feature. If 'undefined', features can be activated but there is initially no active features.
markerObject-Marker options: {icon: (options: style options, feature: GeoJSON feature) => L.Icon (the icon should implement setStyle({color, opacity}) so laji-map can style it according to getfeatureStyle() etc., maxFillOpacity: number, controlFillOpacity }
polygonObject-Polygon options: {allowIntersection: Boolean, maxFillOpacity: Number, controlFillOpacity: Boolean}
polylineObject-Polyline options: {showStart: Boolean (displays a dot at the start of the line. Default: false). showDirection: Boolean (displays arrows to show the direction. Default: true), maxFillOpacity: Number, controlFillOpacity: Boolean}.
rectangleObject-Rectangle options: {maxFillOpacity: Number, controlFillOpacity: Boolean}.
circleObject-Circle options: {maxFillOpacity: Number, controlFillOpacity: Boolean}.
onChangeFunction-A callback function that fires events for draw data changes. Receives an array of event objects.
highlightOnHoverBooleanfalseHighlights layers on hover even if the item isn't editable or doesn't have an active idx.
singleBooleanfalseAllows only a single feature on the data. Adding new feature removes all other features.
showMeasurementsBoolean | {showOnHover: boolean}falseShows feature measurements.
opacitynumber (0 - 1)1Opacity of the data.
maxFillOpacitynumber (0 - 1)0.4Max fill opacity (for polygons & circles) that the layer control can adjust the opacity to. Overridable with layer type options (see options for data options marker, polygon etc).
visibleBooleantrueWhether the data is visible.
onOpacityChangeFunction-Callback for opacity change
onVisibleChangeFunction-Whether the data is visible.
labelString-If provided, the data visibility/opacity will be controllable in the layer control.
controlFillOpacityBoolean-If provided, the data visibility/opacity controlling will control layer fillOpacity instead of opacity. Overridable with layer type options (see options for data options marker, polygon etc).

Draw options

Draw options extend data options with editable: true as default.

OptionTypeDefaultDescription
rectangleBooleantrueControls whether the draw data can contain a rectangle. Adding new rectangles is prevented. Map controls are affected by this option.
polygonBooleantrueControls whether the draw data can contain a polygon. Adding new polygons is prevented. Map controls are affected by this option.
polylineBooleantrueControls whether the draw data can contain a polyline. Adding new polylines is prevented. Map controls are affected by this option.
circleBooleantrueControls whether the draw data can contain a circle. Adding new circles is prevented. Map controls are affected by this option.
markerBooleantrueControls whether the draw data can contain a marker. Adding new markers is prevented. Map controls are affected by this option.

Line transect options

OptionTypeDefaultDescription
featureGeoJSON Feature-The GeoJSON feature to use as the data.
activeIdxInteger-The index of the active line transect segment.
onChangeFunction-A function that fires events for line transect changes. Receives an array of event objects.
getFeatureStyle({lineIdx, segmentIdx, style = <the default style object for this layer>, type = L.PolylineL.PolygonL.CircleMarker})Function-A function that returns a Path style to use for the line layer components. Signature:
getTooltip(lineIdx, callback)Function-Function that returns a popup string, or calls the callback with the popup string.
printModeBooleanFalseIf true, line will be styled for printing.
editableBooleanTrueIf false, line can't be edited.

Control options

If control options is true, it is interpreted as a control options object with all default options.

OptionTypeDefaultDescription
drawDraw control optionstrueShows a map control for adding new features.
layerBooleantrueShows a tile/baselayer control.
zoomBooleantrueShows a zoom control.
scaleBooleantrueShows a scale control as meters.
locationBooleantrueShows a location control.
geocodingBooleantrueShows a geocoding control. You need to provide googleApiKey also to the map options.
coordinatesBooleanfalseShows a control that shows the mouse position's coordinates in various formats.
lineTransectLine transect optionstrueShows a control for editing a line transect. Only shown if main options lineTransectis set.
fullscreenBooleanfalseShows a fullscreen control.

Draw control options

If draw control is true, it is interpreted as a draw control options object with all default options. If draw-option isn't set, the draw controls won't be shown.

OptionTypeDefaultDescription
rectangleBooleantrueControls whether to show the rectangle drawing button. Shown only if main options draw.rectangle is true.
polygonBooleantrueControls whether to show the polygon drawing button Shown only if main options draw.polygon is true..
polylineBooleantrueControls whether to show the polyline drawing button. Shown only if main options draw.polyline is true.
circleBooleantrueControls whether to show the circle drawing button. Shown only if main options draw.circle is true.
markerBooleantrueControls whether to show the marker drawing button. Shown only if main options draw.marker is true.
coordinateInputBooleantrueShows a control for entering a new feature to the draw layer by coordinates.
copyBooleanfalseShows a control for copying the draw data.
clearBooleanfalseShows a control for clearing all draw data.
reverseBooleanfalseShows a control for reversing polyline features.
deleteBooleanfalseShows a control for deleting features.
undoBooleantrueShows a control for undoing draw actions.
redoBooleantrueShows a control for redoing draw actions.

Line transect control options

If line transect control is true, it is interpreted as a line transect control options object with all default options.

OptionTypeDefaultDescription
splitBooleantrueControls whether to show the segment splitting button.
deleteBooleantrueControls whether to show the segment deletion button

Custom control options

An array of custom control items. A control item is either a singular control, or a collection of control items (the control items in a collection must be singular control items).

OptionTypeDefaultDescription
controlsControl items[]-Sets this control item to a collection of contor items.
textString-Text to show in control button tooltip and in the context menu.
positionString"topleft"The corner where the control is shown at.
fnFunction-A callback function that is called upon control click.
stopFnFunction-A callback function that is called upon control action cancel (an action cancel handler is created if stopFn is given). Useful for functions that start a continuous action that should be cancellable.
eventNameString-A name for the event that is triggered on action stop.
iconClsString-A class that is added to the button icon.
onAddFunction-A callback that is called when the control is added to the map.
contextMenuBooleantrueIf true, control is added to the context menu.
groupString-A pre-existing control group to add the group to. Will be displayed according to the groups rules.

Tile layer options

Tile layer options which combine tile layers and overlays into single options object. Allows multiple layers with different opacity.

OptionTypeDefaultDescription
active"finnish""world""finnish"The projection to use.
layersObject-Signature: {tile layer or overlay name: boolean | {opacity: 0-1, visible: boolean}}

Possible layer names are:

maastokartta
taustakartta
ortokuva
laser
openStreetMap
googleSatellite
afeGrid
cgrsGrid
geobiologicalProvinces
geobiologicalProvincesBorders
municipalities
counties
ely
forestVegetationZones
mireVegetationZones
threatenedSpeciesEvaluationZones
biodiversityForestZones
habitat
ageOfTrees
ykjGrid
ykjGridLabels
kiinteistojaotus
kiinteistotunnukset
currentProtectedAreas
plannedProtectedAreas
flyingSquirrelPredictionModel
birdAtlasSocietyGridZones

Methods

TODO.

The methods that are supposed to be used as private methods, and could break LajiMap's internal state if used wrong, start with an underscore.

src/utils.js contains some utilities for geoJSON and coordinate conversion.

Events

LajiMap provides the following events in addition to the Leaflet events.

OptionData property in event
tileLayersChangetileLayers
tileLayerChangetileLayerName
tileLayerOpacityChangetileLayerOpacity
tileLayerOpacityChangeEndtileLayerOpacity
overlaysChangeoverlayNames
lineTransect:split-
lineTransect:delete-
lineTransect:pointdrag-

Development

Install the dependencies with npm start.

Start the development playground with npm start.

To release a new version, run npm run publish-to-npm.

Try to keep the code style consistent - npm run lint should pass without errors.

In order to use the geocoding widget, you should provide the Google API key to properties.json. See properties.json.example.

The map options can be controlled with query parameters. In addition, testMode query param will start the map with the default options.

Tests

You need to update the webdriver before testing:

webdriver-manager update

The playground server must be running before running the tests.

Run the tests with npm test. For more robust testing, run npm run test:slow. It runs test after 500ms delay after the map has been initialized.

Test parameters

Parameters are given as envirnment variables, i.e. TEST_BROWSER=chrome npm test

OptionDefaultDescription
TEST_BROWSER-chrome or firefox. Tests are run for both by default.
HEADLESStrueRun the tests in a visible browser window if true.
VERBOSEfalseLogs the playground URI's used by tests so you can get debug the test cases in playground easier.
DELAY-Makes all tests wait DELAY milliseconds ebetween the map being initialized and the test run.
3.22.4

8 months ago

3.22.6

6 months ago

3.22.5

6 months ago

3.22.0

8 months ago

3.22.2

8 months ago

3.22.1

8 months ago

3.22.3

8 months ago

3.21.3

8 months ago

3.21.2

8 months ago

3.21.5

8 months ago

3.21.4

8 months ago

3.21.6

8 months ago

3.20.2

9 months ago

3.21.1

9 months ago

3.21.0

10 months ago

3.20.0

1 year ago

3.20.1

12 months ago

3.19.4

1 year ago

3.19.3

1 year ago

3.19.5

1 year ago

3.19.0

1 year ago

3.19.2

1 year ago

3.19.1

1 year ago

3.17.8

1 year ago

3.17.9

1 year ago

3.18.1

1 year ago

3.18.0

1 year ago

3.17.11

1 year ago

3.17.10

1 year ago

3.17.6

1 year ago

3.17.5

1 year ago

3.17.7

1 year ago

3.17.0

2 years ago

3.17.2

1 year ago

3.17.1

2 years ago

3.17.4

1 year ago

3.17.3

1 year ago

3.16.19

2 years ago

3.16.18

2 years ago

3.16.17

2 years ago

3.16.16

2 years ago

3.16.15

2 years ago

3.16.14

2 years ago

3.16.13

2 years ago

3.16.7

2 years ago

3.16.9

2 years ago

3.16.8

2 years ago

3.16.12

2 years ago

3.16.11

2 years ago

3.16.10

2 years ago

3.16.6

2 years ago

3.16.3

2 years ago

3.16.5

2 years ago

3.16.4

2 years ago

3.15.0

2 years ago

3.15.2

2 years ago

3.15.1

2 years ago

3.16.1

2 years ago

3.16.0

2 years ago

3.16.2

2 years ago

3.14.11

2 years ago

3.14.10

2 years ago

3.14.9

2 years ago

3.14.8

2 years ago

3.14.1

2 years ago

3.14.0

2 years ago

3.14.3

2 years ago

3.14.2

2 years ago

3.14.5

2 years ago

3.14.4

2 years ago

3.14.7

2 years ago

3.14.6

2 years ago

3.13.0

2 years ago

3.12.0

2 years ago

3.9.0

3 years ago

3.10.0

3 years ago

3.11.0

2 years ago

3.8.0

3 years ago

3.7.6

3 years ago

3.7.5

3 years ago

3.7.4

3 years ago

3.7.3

3 years ago

3.7.2

3 years ago

3.7.1

3 years ago

3.7.0

3 years ago

3.6.1

3 years ago

3.6.0

3 years ago

3.5.4

3 years ago

3.5.3

3 years ago

3.5.2

3 years ago

3.5.1

3 years ago

3.5.0

3 years ago

3.4.0

3 years ago

3.3.9

4 years ago

3.3.8

4 years ago

3.3.7

4 years ago

3.3.6

4 years ago

3.3.5

4 years ago

3.3.4

4 years ago

3.3.3

4 years ago

3.3.2

4 years ago

3.3.1

4 years ago

3.3.0

4 years ago

3.2.5

4 years ago

3.2.4

4 years ago

3.2.3

4 years ago

3.2.2

4 years ago

3.2.1

4 years ago

3.2.0

4 years ago

3.1.0

4 years ago

3.0.14

4 years ago

3.0.13

4 years ago

3.0.12

4 years ago

3.0.11

4 years ago

3.0.10

4 years ago

3.0.9

4 years ago

3.0.8

4 years ago

3.0.7

4 years ago

3.0.6

4 years ago

3.0.5

4 years ago

3.0.4

4 years ago

3.0.3

4 years ago

3.0.2

5 years ago

3.0.1

5 years ago

3.0.0

5 years ago

2.1.2

5 years ago

2.1.1

5 years ago

2.1.0

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.0.514

5 years ago

1.0.513

5 years ago

1.0.512

5 years ago

1.0.510

5 years ago

1.0.508

5 years ago

1.0.507

5 years ago

1.0.506

5 years ago

1.0.505

5 years ago

1.0.504

5 years ago

1.0.503

5 years ago

1.0.502

5 years ago

1.0.501

5 years ago

1.0.500

5 years ago

1.0.499

5 years ago

1.0.498

5 years ago

1.0.497

5 years ago

1.0.496

5 years ago

1.0.495

5 years ago

1.0.494

5 years ago

1.0.493

5 years ago

1.0.492

5 years ago

1.0.491

5 years ago

1.0.490

5 years ago

1.0.489

5 years ago

1.0.488

5 years ago

1.0.487

5 years ago

1.0.486

5 years ago

1.0.485

5 years ago

1.0.484

5 years ago

1.0.483

5 years ago

1.0.482

5 years ago

1.0.480

5 years ago

1.0.479

5 years ago

1.0.478

5 years ago

1.0.477

5 years ago

1.0.476

5 years ago

1.0.475

5 years ago

1.0.474

5 years ago

1.0.473

5 years ago

1.0.472

5 years ago

1.0.471

5 years ago

1.0.470

5 years ago

1.0.469

5 years ago

1.0.468

5 years ago

1.0.467

5 years ago

1.0.466

5 years ago

1.0.465

5 years ago

1.0.464

5 years ago

1.0.463

5 years ago

1.0.462

5 years ago

1.0.461

5 years ago

1.0.460

5 years ago

1.0.459

5 years ago

1.0.458

5 years ago

1.0.457

5 years ago

1.0.456

5 years ago

1.0.454

5 years ago

1.0.452

5 years ago

1.0.451

5 years ago

1.0.450

5 years ago

1.0.449

5 years ago

1.0.448

5 years ago

1.0.446

6 years ago

1.0.445

6 years ago

1.0.444

6 years ago

1.0.443

6 years ago

1.0.442

6 years ago

1.0.441

6 years ago

1.0.440

6 years ago

1.0.439

6 years ago

1.0.438

6 years ago

1.0.437

6 years ago

1.0.436

6 years ago

1.0.435

6 years ago

1.0.434

6 years ago

1.0.433

6 years ago

1.0.431

6 years ago

1.0.430

6 years ago

1.0.429

6 years ago

1.0.428

6 years ago

1.0.427

6 years ago

1.0.426

6 years ago

1.0.425

6 years ago

1.0.424

6 years ago

1.0.423

6 years ago

1.0.422

6 years ago

1.0.421

6 years ago

1.0.420

6 years ago

1.0.419

6 years ago

1.0.418

6 years ago

1.0.417

6 years ago

1.0.416

6 years ago

1.0.415

6 years ago

1.0.414

6 years ago

1.0.413

6 years ago

1.0.412

6 years ago

1.0.411

6 years ago

1.0.410

6 years ago

1.0.409

6 years ago

1.0.408

6 years ago

1.0.407

6 years ago

1.0.406

6 years ago

1.0.405

6 years ago

1.0.404

6 years ago

1.0.403

6 years ago

1.0.402

6 years ago

1.0.401

6 years ago

1.0.399

6 years ago

1.0.398

6 years ago

1.0.397

6 years ago

1.0.396

6 years ago

1.0.395

6 years ago

1.0.394

6 years ago

1.0.393

6 years ago

1.0.392

6 years ago

1.0.391

6 years ago

1.0.390

6 years ago

1.0.389

6 years ago

1.0.388

6 years ago

1.0.387

6 years ago

1.0.386

6 years ago

1.0.385

6 years ago

1.0.384

6 years ago

1.0.383

6 years ago

1.0.382

6 years ago

1.0.381

6 years ago

1.0.380

6 years ago

1.0.379

6 years ago

1.0.378

6 years ago

1.0.377

6 years ago

1.0.376

6 years ago

1.0.375

6 years ago

1.0.374

6 years ago

1.0.373

6 years ago

1.0.372

6 years ago

1.0.371

6 years ago

1.0.370

6 years ago

1.0.369

6 years ago

1.0.368

6 years ago

1.0.367

6 years ago

1.0.366

6 years ago

1.0.365

6 years ago

1.0.364

6 years ago

1.0.363

6 years ago

1.0.362

6 years ago

1.0.361

6 years ago

1.0.360

6 years ago

1.0.359

6 years ago

1.0.356

6 years ago

1.0.355

6 years ago

1.0.354

6 years ago

1.0.353

6 years ago

1.0.352

6 years ago

1.0.351

6 years ago

1.0.350

6 years ago

1.0.349

6 years ago

1.0.348

6 years ago

1.0.347

6 years ago

1.0.346

6 years ago

1.0.345

6 years ago

1.0.344

6 years ago

1.0.343

6 years ago

1.0.342

6 years ago

1.0.341

6 years ago

1.0.340

6 years ago

1.0.339

6 years ago

1.0.338

6 years ago

1.0.337

6 years ago

1.0.336

6 years ago

1.0.335

6 years ago

1.0.334

6 years ago

1.0.333

6 years ago

1.0.332

6 years ago

1.0.331

6 years ago

1.0.330

6 years ago

1.0.329

6 years ago

1.0.328

6 years ago

1.0.327

6 years ago

1.0.326

6 years ago

1.0.325

6 years ago

1.0.324

6 years ago

1.0.323

6 years ago

1.0.322

6 years ago

1.0.321

6 years ago

1.0.320

6 years ago

1.0.319

6 years ago

1.0.318

6 years ago

1.0.317

6 years ago

1.0.316

6 years ago

1.0.315

6 years ago

1.0.314

6 years ago

1.0.313

6 years ago

1.0.312

6 years ago

1.0.311

6 years ago

1.0.310

6 years ago

1.0.309

6 years ago

1.0.308

6 years ago

1.0.307

6 years ago

1.0.306

6 years ago

1.0.305

6 years ago

1.0.304

6 years ago

1.0.303

6 years ago

1.0.302

6 years ago

1.0.301

6 years ago

1.0.300

6 years ago

1.0.299

6 years ago

1.0.298

6 years ago

1.0.297

6 years ago

1.0.296

6 years ago

1.0.295

6 years ago

1.0.294

6 years ago

1.0.293

6 years ago

1.0.292

6 years ago

1.0.291

6 years ago

1.0.290

6 years ago

1.0.288

6 years ago

1.0.287

6 years ago

1.0.286

6 years ago

1.0.285

6 years ago

1.0.284

6 years ago

1.0.283

6 years ago

1.0.282

6 years ago

1.0.281

6 years ago

1.0.280

6 years ago

1.0.279

6 years ago

1.0.278

6 years ago

1.0.277

6 years ago

1.0.276

6 years ago

1.0.275

6 years ago

1.0.274

6 years ago

1.0.273

6 years ago

1.0.272

7 years ago

1.0.271

7 years ago

1.0.270

7 years ago

1.0.269

7 years ago

1.0.268

7 years ago

1.0.267

7 years ago

1.0.266

7 years ago

1.0.265

7 years ago

1.0.264

7 years ago

1.0.263

7 years ago

1.0.262

7 years ago

1.0.261

7 years ago

1.0.260

7 years ago

1.0.259

7 years ago

1.0.256

7 years ago

1.0.255

7 years ago

1.0.254

7 years ago

1.0.253

7 years ago

1.0.252

7 years ago

1.0.251

7 years ago

1.0.250

7 years ago

1.0.249

7 years ago

1.0.246

7 years ago

1.0.245

7 years ago

1.0.244

7 years ago

1.0.243

7 years ago

1.0.242

7 years ago

1.0.241

7 years ago

1.0.240

7 years ago

1.0.239

7 years ago

1.0.238

7 years ago

1.0.237

7 years ago

1.0.236

7 years ago

1.0.235

7 years ago

1.0.234

7 years ago

1.0.233

7 years ago

1.0.232

7 years ago

1.0.231

7 years ago

1.0.230

7 years ago

1.0.229

7 years ago

1.0.228

7 years ago

1.0.227

7 years ago

1.0.226

7 years ago

1.0.225

7 years ago

1.0.224

7 years ago

1.0.223

7 years ago

1.0.222

7 years ago

1.0.221

7 years ago

1.0.220

7 years ago

1.0.219

7 years ago

1.0.218

7 years ago

1.0.217

7 years ago

1.0.216

7 years ago

1.0.215

7 years ago

1.0.214

7 years ago

1.0.213

7 years ago

1.0.212

7 years ago

1.0.211

7 years ago

1.0.210

7 years ago

1.0.209

7 years ago

1.0.208

7 years ago

1.0.207

7 years ago

1.0.206

7 years ago

1.0.205

7 years ago

1.0.204

7 years ago

1.0.203

7 years ago

1.0.202

7 years ago

1.0.201

7 years ago

1.0.200

7 years ago

1.0.199

7 years ago

1.0.198

7 years ago

1.0.197

7 years ago

1.0.196

7 years ago

1.0.195

7 years ago

1.0.194

7 years ago

1.0.193

7 years ago

1.0.192

7 years ago

1.0.191

7 years ago

1.0.190

7 years ago

1.0.189

7 years ago

1.0.188

7 years ago

1.0.187

7 years ago

1.0.186

7 years ago

1.0.185

7 years ago

1.0.184

7 years ago

1.0.183

7 years ago

1.0.182

7 years ago

1.0.181

7 years ago

1.0.180

7 years ago

1.0.179

7 years ago

1.0.178

7 years ago

1.0.177

7 years ago

1.0.175

7 years ago

1.0.174

7 years ago

1.0.173

7 years ago

1.0.172

7 years ago

1.0.171

7 years ago

1.0.170

7 years ago

1.0.169

7 years ago

1.0.168

7 years ago

1.0.167

7 years ago

1.0.166

7 years ago

1.0.165

7 years ago

1.0.162

7 years ago

1.0.160

7 years ago

1.0.159

7 years ago

1.0.158

7 years ago

1.0.157

7 years ago

1.0.156

7 years ago

1.0.155

7 years ago

1.0.154

7 years ago

1.0.153

7 years ago

1.0.152

7 years ago

1.0.150

7 years ago

1.0.149

7 years ago

1.0.148

7 years ago

1.0.147

7 years ago

1.0.146

7 years ago

1.0.145

7 years ago

1.0.144

7 years ago

1.0.143

7 years ago

1.0.142

7 years ago

1.0.141

7 years ago

1.0.140

7 years ago

1.0.139

7 years ago

1.0.138

7 years ago

1.0.137

7 years ago

1.0.136

7 years ago

1.0.135

7 years ago

1.0.134

7 years ago

1.0.133

7 years ago

1.0.132

7 years ago

1.0.131

7 years ago

1.0.130

7 years ago

1.0.129

7 years ago

1.0.128

7 years ago

1.0.127

7 years ago

1.0.126

7 years ago

1.0.125

7 years ago

1.0.121

7 years ago

1.0.119

7 years ago

1.0.118

7 years ago

1.0.115

7 years ago

1.0.114

7 years ago

1.0.113

7 years ago

1.0.112

7 years ago

1.0.111

7 years ago

1.0.110

7 years ago

1.0.109

7 years ago

1.0.108

7 years ago

1.0.107

7 years ago

1.0.106

7 years ago

1.0.105

7 years ago

1.0.104

7 years ago

1.0.103

7 years ago

1.0.99

7 years ago

1.0.98

7 years ago

1.0.94

7 years ago

1.0.93

7 years ago

1.0.91

7 years ago

1.0.90

7 years ago

1.0.89

7 years ago

1.0.88

7 years ago

1.0.87

7 years ago

1.0.86

7 years ago

1.0.85

7 years ago

1.0.84

7 years ago

1.0.83

7 years ago

1.0.82

7 years ago

1.0.81

7 years ago

1.0.80

7 years ago

1.0.79

7 years ago

1.0.78

7 years ago

1.0.77

7 years ago

1.0.76

7 years ago

1.0.75

7 years ago

1.0.74

7 years ago

1.0.73

7 years ago

1.0.72

7 years ago

1.0.71

7 years ago

1.0.70

7 years ago

1.0.69

7 years ago

1.0.68

7 years ago

1.0.67

7 years ago

1.0.66

7 years ago

1.0.65

7 years ago

1.0.64

7 years ago

1.0.63

7 years ago

1.0.62

7 years ago

1.0.61

7 years ago

1.0.60

7 years ago

1.0.59

7 years ago

1.0.56

7 years ago

1.0.55

7 years ago

1.0.54

7 years ago

1.0.52

7 years ago

1.0.51

7 years ago

1.0.46

8 years ago

1.0.44

8 years ago

1.0.43

8 years ago

1.0.42

8 years ago

1.0.41

8 years ago

1.0.40

8 years ago

1.0.39

8 years ago

1.0.38

8 years ago

1.0.37

8 years ago

1.0.36

8 years ago

1.0.35

8 years ago

1.0.34

8 years ago

1.0.32

8 years ago

1.0.31

8 years ago

1.0.30

8 years ago

1.0.29

8 years ago

1.0.28

8 years ago

1.0.27

8 years ago

1.0.26

8 years ago

1.0.25

8 years ago

1.0.24

8 years ago

1.0.23

8 years ago

1.0.22

8 years ago

1.0.21

8 years ago

1.0.20

8 years ago

1.0.19

8 years ago

1.0.18

8 years ago

1.0.17

8 years ago

1.0.16

8 years ago

1.0.15

8 years ago

1.0.14

8 years ago

1.0.13

8 years ago

1.0.12

8 years ago

1.0.11

8 years ago

1.0.10

8 years ago

1.0.9

8 years ago

1.0.8

8 years ago

1.0.7

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago