text:
ics, may be capable$\backslash$n of multiple harvests per year, often more than are harvested today.$\backslash$n $\backslash$n Here we analyze a global compilation of agricultural statistics to show how the world's harvested$\backslash$n cropland has changed. Between 2000 and 2011, harvested land area grew roughly 4 times faster than$\backslash$n total standing cropland area. Using a metric of cropland harvest frequency (CHF)—the ratio of land$\backslash$n harvested each year to the total standing cropland—and its recent trends, we identify countries that$\backslash$n harvest their croplands more frequently, and those that have the potential to increase their$\backslash$n cropland harvest frequency. We suggest that a possible ‘harvest gap' may exist in many countries$\backslash$n that represents an opportunity to increase crop production on existing agricultural lands. However,$\backslash$n increasing the harvest frequency of existing croplands could have significant environmental and$\backslash$n social impacts, which need careful evaluation.},
author = {Ray, Deepak K and Foley, Jonathan A},
doi = {10.1088/1748-9326/8/4/044041},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Ray, Foley - 2013 - Increasing global crop harvest frequency recent trends and future directions.pdf:pdf},
isbn = {1748-9326},
issn = {1748-9326},
journal = {Environmental Research Letters},
number = {4},
pages = {044041},
title = {{Increasing global crop harvest frequency: recent trends and future directions}},
url = {http://stacks.iop.org/1748-9326/8/i=4/a=044041},
volume = {8},
year = {2013}
}
@article{Gomez2016,
abstract = {Accurate land cover information is required for science, monitoring, and reporting. Land cover changes naturally over time, as well as a result of anthropogenic activities. Monitoring and mapping of land cover and land cover change in a consistent and robust manner over large areas is made possible with Earth Observation (EO) data. Land cover products satisfying a range of science and policy information needs are currently produced periodically at different spatial and temporal scales. The increased availability of EO data-particularly from the Landsat archive (and soon to be augmented with Sentinel-2 data)-coupled with improved computing and storage capacity with novel image compositing approaches, have resulted in the availability of annual, large-area, gap-free, surface reflectance data products. In turn, these data products support the development of annual land cover products that can be both informed and constrained by change detection outputs. The inclusion of time series change in the land cover mapping process provides information on class stability and informs on logical class transitions (both temporally and categorically). In this review, we present the issues and opportunities associated with generating and validating time-series informed annual, large-area, land cover products, and identify methods suited to incorporating time series information and other novel inputs for land cover characterization.},
author = {G{\'{o}}mez, Cristina and White, Joanne C. and Wulder, Michael A.},
doi = {10.1016/j.isprsjprs.2016.03.008},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/G{\'{o}}mez, White, Wulder - 2016 - Optical remotely sensed time series data for land cover classification A review.pdf:pdf},
issn = {09242716},
journal = {ISPRS Journal of Photogrammetry and Remote Sensing},
keywords = {Change detection,Composite,Gomez,Land cover,Landsat,Large area,Mapping,Monitoring,Remote sensing,Sentinel 2},
mendeley-tags = {Gomez,Land cover},
month = {jun},
pages = {55--72},
title = {{Optical remotely sensed time series data for land cover classification: A review}},
url = {http://linkinghub.elsevier.com/retrieve/pii/S0924271616000769},
volume = {116},
year = {2016}
}
@article{Pereira2010,
abstract = {Quantitative scenarios are coming of age as a tool for evaluating the impact of future socioeconomic development pathways on biodiversity and ecosystem services. We analyze global terrestrial, freshwater, and marine biodiversity scenarios using a range of measures including extinctions, changes in species abundance, habitat loss, and distribution shifts, as well as comparing model projections to observations. Scenarios consistently indicate that biodiversity will continue to decline over the 21st century. However, the range of projected changes is much broader than most studies suggest, partly because there are major opportunities to intervene through better policies, but also because of large uncertainties in projections.},
author = {Pereira, Henrique M and Leadley, Paul W and Proen{\c{c}}a, V{\^{a}}nia and Alkemade, Rob and Scharlemann, J{\"{o}}rn P W and Fernandez-Manjarr{\'{e}}s, Juan F and Ara{\'{u}}jo, Miguel B and Balvanera, Patricia and Biggs, Reinette and Cheung, William W L and Chini, Louise and Cooper, H David and Gilman, Eric L and Gu{\'{e}}nette, Sylvie and Hurtt, George C and Huntington, Henry P and Mace, Georgina M and Oberdorff, Thierry and Revenga, Carmen and Rodrigues, Patr{\'{i}}cia and Scholes, Robert J and Sumaila, Ussif Rashid and Walpole, Matt},
doi = {10.1126/science.1196624},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Pereira et al. - 2010 - Scenarios for global biodiversity in the 21st century.pdf:pdf},
isbn = {0036-8075},
issn = {1095-9203},
journal = {Science},
keywords = {Animals,Aquatic Organisms,Biodiversity,Biological,Conservation of Natural Resources,Ecosystem,Extinction,Forecasting,Models,Plants,Policy,Population Dynamics},
month = {dec},
number = {6010},
pages = {1496--1501},
pmid = {20978282},
title = {{Scenarios for global biodiversity in the 21st century.}},
volume = {330},
year = {2010}
}
@article{dejong2013,
abstract = {Vegetation belongs to the components of the Earth surface, which are most extensively studied using historic and present satellite records. Recently, these records exceeded a 30-year time span composed of preprocessed fortnightly observations (1981–2011). The existence of monotonic changes and trend shifts present in such records has previously been demonstrated. However, information on timing and type of such trend shifts was lacking at global scale. In this work, we detected major shifts in vegetation activity trends and their associated type (either interruptions or reversals) and timing. It appeared that the biospheric trend shifts have, over time, increased in frequency, confirming recent findings of increased turnover rates in vegetated areas. Signs of greening-to-browning reversals around the millennium transition were found in many regions (Patagonia, the Sahel, northern Kazakhstan, among others), as well as negative interruptions—“setbacks”—in greening trends (southern Africa, India, Asia Minor, among others). A minority (26{\%}) of all significant trends appeared monotonic.},
author = {de Jong, Rogier and Verbesselt, Jan and Zeileis, Achim and Schaepman, Michael},
doi = {10.3390/rs5031117},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/de Jong et al. - 2013 - Shifts in Global Vegetation Activity Trends.pdf:pdf},
isbn = {2072-4292},
issn = {2072-4292},
journal = {Remote Sensing},
keywords = {GIMMS v3G,Greening-to-browning reversal,Trend shifts,Vegetation activity},
month = {mar},
number = {3},
pages = {1117--1133},
title = {{Shifts in Global Vegetation Activity Trends}},
url = {http://www.mdpi.com/2072-4292/5/3/1117/},
volume = {5},
year = {2013}
}
@article{Gibson2011,
abstract = {Human-driven land-use changes increasingly threaten biodiversity, particularly in tropical forests where both species diversity and human pressures on natural environments are high(1). The rapid conversion of tropical forests for agriculture, timber production and other uses has generated vast, human-dominated landscapes with potentially dire consequences for tropical biodiversity(2-5). Today, few truly undisturbed tropical forests exist, whereas those degraded by repeated logging and fires, as well as secondary and plantation forests, are rapidly expanding(6,7). Here we provide a global assessment of the impact of disturbance and land conversion on biodiversity in tropical forests using a meta-analysis of 138 studies. We analysed 2,220 pairwise comparisons of biodiversity values in primary forests (with little or no human disturbance) and disturbed forests. We found that biodiversity values were substantially lower in degraded forests, but that this varied considerably by geographic region, taxonomic group, ecological metric and disturbance type. Even after partly accounting for confounding colonization and succession effects due to the composition of surrounding habitats, isolation and time since disturbance, we find that most forms of forest degradation have an overwhelmingly detrimental effect on tropical biodiversity. Our results clearly indicate that when it comes to maintaining tropical biodiversity, there is no substitute for primary forests.},
author = {Gibson, Luke and Lee, Tien Ming and Koh, Lian Pin and Brook, Barry W. and Gardner, Toby a. and Barlow, Jos and Peres, Carlos a. and Bradshaw, Corey J. a. and Laurance, William F. and Lovejoy, Thomas E. and Sodhi, Navjot S.},
doi = {10.1038/nature10425},
file = {:C$\backslash$:/LocalStorage/References/2011/Gibson et al.{\_}2011{\_}Primary forests are irreplaceable for sustaining tropical biodiversity.pdf:pdf},
isbn = {0028-0836},
issn = {0028-0836},
journal = {Nature},
keywords = {Biodiversity,Disturbance,Meta-Analysis,Paper,Primary Forests,Tropical forests,conservation},
mendeley-tags = {Biodiversity,Disturbance,Meta-Analysis,Paper},
month = {sep},
number = {7369},
pages = {378--381},
pmid = {21918513},
publisher = {Nature Publishing Group},
title = {{Primary forests are irreplaceable for sustaining tropical biodiversity}},
volume = {478},
year = {2011}
}
@article{Gamez-Virues2015,
author = {G{\'{a}}mez-Viru{\'{e}}s, Sagrario and Perovi{\'{c}}, David J. and Gossner, Martin M. and B{\"{o}}rschig, Carmen and Bl{\"{u}}thgen, Nico and de Jong, Heike and Simons, Nadja K. and Klein, Alexandra-Maria and Krauss, Jochen and Maier, Gwen and Scherber, Christoph and Steckel, Juliane and Rothenw{\"{o}}hrer, Christoph and Steffan-Dewenter, Ingolf and Weiner, Christiane N. and Weisser, Wolfgang and Werner, Michael and Tscharntke, Teja and Westphal, Catrin},
doi = {10.1038/ncomms9568},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/G{\'{a}}mez-Viru{\'{e}}s et al. - 2015 - Landscape simplification filters species traits and drives biotic homogenization.pdf:pdf},
issn = {2041-1723},
journal = {Nature Communications},
month = {oct},
pages = {8568},
title = {{Landscape simplification filters species traits and drives biotic homogenization}},
url = {http://www.nature.com/doifinder/10.1038/ncomms9568},
volume = {6},
year = {2015}
}
@article{Holt2009,
abstract = {G. Evelyn Hutchinson more than a half century ago proposed that one could characterize the ecological niche of a species as an abstract mapping of population dynamics onto an environmental space, the axes of which are abiotic and biotic factors that influence birth and death rates. If a habitat has conditions within a species' niche, a population should persist without immigration from external sources, whereas if conditions are outside the niche, it faces extinction. Analyses of species' niches are essential to understanding controls on species' geographical range limits and how these limits might shift in our rapidly changing world. Recent developments in ecology and evolutionary biology suggest it is time to revisit and refine Hutchinson's niche concept. After reviewing techniques for quantifying niches, I examine subtleties that arise because of impacts species have on their own environments, the density-dependent modulation of how individuals experience environments, and the interplay of dispersal and temporal heterogeneity in determining population persistence. Moreover, the evolutionary record over all time scales reveals a spectrum of rates of change in species' niches, from rapid niche evolution to profound niche conservatism. Substantial challenges revolving around the evolutionary dimension of the Hutchinsonian niche include quantifying the magnitude of evolved intraspecific and clade-level variation in niches and understanding the factors that govern where along the spectrum of potential evolutionary rates any given lineage lies. A growing body of theory provides elements of a conceptual framework for understanding niche conservatism and evolution, paving the way for an evolutionary theory of the niche.},
author = {Holt, Robert D},
doi = {10.1073/pnas.0905137106},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Holt - 2009 - Bringing the Hutchinsonian niche into the 21st century ecological and evolutionary perspectives.pdf:pdf},
isbn = {1091-6490 (Electronic)$\backslash$n0027-8424 (Linking)},
issn = {0027-8424},
journal = {Proceedings of the National Academy of Sciences},
pages = {19659--19665},
pmid = {19903876},
title = {{Bringing the Hutchinsonian niche into the 21st century: ecological and evolutionary perspectives.}},
volume = {106},
year = {2009}
}
@article{DeFrenne2010,
author = {{De Frenne}, Pieter and Baeten, Lander and Graae, Bente J. and Brunet, J{\"{o}}rg and Wulf, Monika and Orczewska, Anna and Kolb, Annette and Jansen, Ivy and Jamoneau, Aur{\'{e}}lien and Jacquemyn, Hans and Hermy, Martin and Diekmann, Martin and {De Schrijver}, An and {De Sanctis}, Michele and Decocq, Guillaume and Cousins, Sara A.O. and Verheyen, Kris},
doi = {10.1111/j.1365-2745.2010.01768.x},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/De Frenne et al. - 2010 - Interregional variation in the floristic recovery of post-agricultural forests.pdf:pdf},
issn = {00220477},
journal = {Journal of Ecology},
month = {dec},
pages = {600--609},
title = {{Interregional variation in the floristic recovery of post-agricultural forests}},
url = {http://doi.wiley.com/10.1111/j.1365-2745.2010.01768.x},
volume = {99},
year = {2011}
}
@article{Ceballos2017,
abstract = {The population extinction pulse we describe here shows, from a quantitative viewpoint, that Earth's sixth mass extinction is more severe than perceived when looking exclusively at species extinctions. Therefore, humanity needs to address anthropogenic population extirpation and decimation immediately. That conclusion is based on analyses of the numbers and degrees of range contraction (indicative of population shrinkage and/or population extinctions according to the International Union for Conservation of Nature) using a sample of 27,600 vertebrate species, and on a more detailed analysis documenting the population extinctions between 1900 and 2015 in 177 mammal species. We find that the rate of population loss in terrestrial vertebrates is extremely high—even in “species of low concern.” In our sample, comprising nearly half of known vertebrate species, 32{\%} (8,851/27,600) are decreasing; that is, they have decreased in population size and range. In the 177 mammals for which we have detailed data, all have lost 30{\%} or more of their geographic ranges and more than 40{\%} of the species have experienced severe population declines ({\textgreater}80{\%} range shrinkage). Our data indicate that beyond global species extinctions Earth is experiencing a huge episode of population declines and extirpations, which will have negative cascading consequences on ecosystem functioning and services vital to sustaining civilization. We describe this as a “biological annihilation” to highlight the current magnitude of Earth's ongoing sixth major extinction event.},
archivePrefix = {arXiv},
arxivId = {e1400253},
author = {Ceballos, Gerardo and Ehrlich, Paul R. and Dirzo, Rodolfo},
doi = {10.1073/pnas.1704949114},
eprint = {e1400253},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Ceballos, Ehrlich, Dirzo - 2017 - Biological annihilation via the ongoing sixth mass extinction signaled by vertebrate population losses.pdf:pdf},
isbn = {1704949114},
issn = {0027-8424},
journal = {Proceedings of the National Academy of Sciences},
month = {jul},
number = {30},
pages = {E6089--E6096},
pmid = {28696295},
title = {{Biological annihilation via the ongoing sixth mass extinction signaled by vertebrate population losses and declines}},
url = {http://www.pnas.org/lookup/doi/10.1073/pnas.1704949114},
volume = {114},
year = {2017}
}
@article{Butchart2010,
abstract = {In 2002, world leaders committed, through the Convention on Biological Diversity, to achieve a significant reduction in the rate of biodiversity loss by 2010. We compiled 31 indicators to report on progress toward this target. Most indicators of the state of biodiversity (covering species' population trends, extinction risk, habitat extent and condition, and community composition) showed declines, with no significant recent reductions in rate, whereas indicators of pressures on biodiversity (including resource consumption, invasive alien species, nitrogen pollution, overexploitation, and climate change impacts) showed increases. Despite some local successes and increasing responses (including extent and biodiversity coverage of protected areas, sustainable forest management, policy responses to invasive alien species, and biodiversity-related aid), the rate of biodiversity loss does not appear to be slowing.},
author = {Butchart, Stuart H M and Walpole, Matt and Collen, Ben and van Strien, Arco and Scharlemann, J{\"{o}}rn P W and Almond, Rosamunde E a and Baillie, Jonathan E M and Bomhard, Bastian and Brown, Claire and Bruno, John and Carpenter, Kent E and Carr, Genevi{\`{e}}ve M and Chanson, Janice and Chenery, Anna M and Csirke, Jorge and Davidson, Nick C and Dentener, Frank and Foster, Matt and Galli, Alessandro and Galloway, James N and Genovesi, Piero and Gregory, Richard D and Hockings, Marc and Kapos, Valerie and Lamarque, Jean-Francois and Leverington, Fiona and Loh, Jonathan and McGeoch, Melodie a and McRae, Louise and Minasyan, Anahit and {Hern{\'{a}}ndez Morcillo}, Monica and Oldfield, Thomasina E E and Pauly, Daniel and Quader, Suhel and Revenga, Carmen and Sauer, John R and Skolnik, Benjamin and Spear, Dian and Stanwell-Smith, Damon and Stuart, Simon N and Symes, Andy and Tierney, Megan and Tyrrell, Tristan D and Vi{\'{e}}, Jean-Christophe and Watson, Reg},
doi = {10.1126/science.1187512},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Butchart et al. - 2010 - Global biodiversity indicators of recent declines.pdf:pdf},
isbn = {1095-9203 (Electronic)$\backslash$r0036-8075 (Linking)},
issn = {1095-9203},
journal = {Science},
keywords = {Animals,Anthozoa,Biodiversity,Biological,Conservation of Natural Resources,Conservation of Natural Resources: trends,Ecosystem,Extinction,Humans,International Cooperation,Internationality,Plants,Population Dynamics,Time Factors,Trees,Vertebrates},
mendeley-tags = {Biodiversity},
month = {may},
number = {2010},
pages = {1164--1168},
pmid = {20430971},
title = {{Global biodiversity: indicators of recent declines.}},
volume = {328},
year = {2010}
}
@article{Aguiar2017,
abstract = {The unavoidable diet change in emerging countries, projected for the coming years, will significantly increase the global consumption of animal protein. It is expected that Brazilian livestock production, responsible for close to 15{\%} of global production, be prepared to answer to the increasing demand of beef. Consequently, the evaluation of pasture quality at regional scale is important to inform public policies towards a rational land use strategy directed to improve livestock productivity in the country. Our hypothesis is that MODIS images can be used to evaluate the processes of degradation, restoration and renovation of tropical pastures. To test this hypothesis, two field campaigns were performed covering a route of approximately 40,000 km through nine Brazilian states. To characterize the sampled pastures, biophysical parameters were measured and observations about the pastures, the adopted management and the landscape were collected. Each sampled pasture was evaluated using a time series of MODIS EVI2 images from 2000–2012, according to a new protocol based on seven phenological metrics, 14 Boolean criteria and two numerical criteria. The theoretical basis of this protocol was derived from interviews with producers and livestock experts during a third field campaign. The analysis of the MODIS EVI2 time series provided valuable historical information on the type of intervention and on the biological degradation process of the sampled pastures. Of the 782 pastures sampled, 26.6{\%} experienced some type of intervention, 19.1{\%} were under biological degradation, and 54.3{\%} presented neither intervention nor trend of biomass decrease during the period analyzed.},
author = {Aguiar, Daniel and Mello, Marcio and Nogueira, Sandra and Gon{\c{c}}alves, Fabio and Adami, Marcos and Rudorff, Bernardo},
doi = {10.3390/rs9010073},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Aguiar et al. - 2017 - MODIS Time Series to Detect Anthropogenic Interventions and Degradation Processes in Tropical Pasture.pdf:pdf},
issn = {2072-4292},
journal = {Remote Sensing},
keywords = {Biological degradation,Biophysical parameters,EVI2 time series,Pasture recovery,Pasture reformation,Pasture renewal,Phenological metrics},
month = {jan},
number = {1},
pages = {73},
title = {{MODIS Time Series to Detect Anthropogenic Interventions and Degradation Processes in Tropical Pasture}},
url = {http://www.mdpi.com/2072-4292/9/1/73},
volume = {9},
year = {2017}
}
@article{Wearn2012,
abstract = {A paper by Wearn et al. (Reports, 13 July 2012, p. 228) yields new insights on extinction debt. However, it leaves out the area dependence of the relaxation process. We show that this is not warranted on theoretical or observational grounds and that it may lead to erroneous conservation recommendations.},
author = {Wearn, Oliver R. and Reuman, Daniel C. and Ewers, Robert M.},
doi = {10.1126/science.1219013},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Wearn, Reuman, Ewers - 2012 - Extinction Debt and Windows of Conservation Opportunity in the Brazilian Amazon.pdf:pdf},
isbn = {0036-8075},
issn = {0036-8075},
journal = {Science},
keywords = {Amphibians,Animals,Biological,Birds,Brazil,Conservation of Natural Resources,Ecosystem,Extinction,Mammals,Monte Carlo Method,Time Factors,Trees,Vertebrates},
mendeley-tags = {Extinction},
month = {jul},
number = {6091},
pages = {228--232},
pmid = {23329033},
title = {{Extinction Debt and Windows of Conservation Opportunity in the Brazilian Amazon}},
volume = {337},
year = {2012}
}
@article{Marechaux2017,
abstract = {Biotic seed dispersal is a key process maintaining biodiversity in tropical forests where most trees produce vertebrate- dispersed seeds. Existing meta-analyses suggest an overall positive effect of vertebrate gut passage on seed germination, but no significant effects for non-flying mammals. However, previous meta-analyses combined rodents (seed predators) and primates (seed dispersers) into the non-flying mammals category, which may confound specific effects of each group on seed germination. However positive effects of monkeys on germination had previously been found in some studies. Here we disentangle the role of Neotropical primates as contributors to seed dispersal in tropical forests by running a meta-analysis to determine the overall magnitude of gut passage effects on seed germination percentage and mean time to germination. We also compare effect sizes as a function of different feeding guilds, gut complexities, and seed size. Our results show a strong, positive effect of primates on seed germination percentage and on the number of days to first germination. Strictly frugivorous monkeys, the group most threatened by extinction, showed the highest dispersal quality, increasing germination percentage by 75{\%}. Primates that include insects in their diets had no average effect on germination percentage or time. Gut passage had different outcomes on seeds with different sizes; both large and small seeds showed similar increases in germination percentages after gut passage, but only large seeds germinated faster than control seeds after gut passage. Our results show a relevant role for primates in providing high seed dispersal quality and as drivers of forest regeneration. The combined effects of defaunation and forest fragmentation may result in decreased regeneration of trees, which has the potential to affect negatively both forest structure and ecosystem processes. Finally, we provide general guidelines for standardizing research on seed dispersal by primates. Consuming},
author = {Mar{\'{e}}chaux, Isabelle and Rodrigues, Ana S. L. and Charpentier, Anne},
doi = {10.1111/ecog.02598},
file = {:C$\backslash$:/LocalStorage/References/Mar-chaux{\_}et{\_}al-2017-Ecography.pdf:pdf},
issn = {09067590},
journal = {Ecography},
month = {oct},
number = {10},
pages = {1166--1176},
title = {{The value of coarse species range maps to inform local biodiversity conservation in a global context}},
url = {http://doi.wiley.com/10.1111/ecog.02598},
volume = {40},
year = {2017}
}
@article{Iknayan2014,
abstract = {Estimates of species richness and diversity are central to community and macroecology and are frequently used in conservation planning. Commonly used diversity metrics account for undetected species primarily by controlling for sampling effort. Yet the probability of detecting an individual can vary among species, observers, survey methods, and sites. We review emerging methods to estimate alpha, beta, gamma, and metacommunity diversity through hierarchical multispecies occupancy models (MSOMs) and multispecies abundance models (MSAMs) that explicitly incorporate observation error in the detection process for species or individuals. We examine advantages, limitations, and assumptions of these detection-based hierarchical models for estimating species diversity. Accounting for imperfect detection using these approaches has influenced conclusions of comparative community studies and creates new opportunities for testing theory. {\textcopyright} 2013 Elsevier Ltd.},
author = {Iknayan, Kelly J. and Tingley, Morgan W. and Furnas, Brett J. and Beissinger, Steven R.},
doi = {10.1016/j.tree.2013.10.012},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Iknayan et al. - 2014 - Detecting diversity emerging methods to estimate species diversity.pdf:pdf},
isbn = {0169-5347},
issn = {01695347},
journal = {Trends in Ecology {\&} Evolution},
month = {feb},
number = {2},
pages = {97--106},
pmid = {24315534},
publisher = {Elsevier Ltd},
title = {{Detecting diversity: emerging methods to estimate species diversity}},
url = {http://dx.doi.org/10.1016/j.tree.2013.10.012 http://linkinghub.elsevier.com/retrieve/pii/S0169534713002619},
volume = {29},
year = {2014}
}
@article{Oliver2015,
author = {Oliver, Tom H. and Heard, Matthew S. and Isaac, Nick J.B. and Roy, David B. and Procter, Deborah and Eigenbrod, Felix and Freckleton, Rob and Hector, Andy and Orme, C. David L. and Petchey, Owen L. and Proen{\c{c}}a, V{\^{a}}nia and Raffaelli, David and Suttle, K. Blake and Mace, Georgina M. and Mart{\'{i}}n-L{\'{o}}pez, Berta and Woodcock, Ben A. and Bullock, James M.},
doi = {10.1016/j.tree.2015.08.009},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Oliver et al. - 2015 - Biodiversity and Resilience of Ecosystem Functions.pdf:pdf},
issn = {01695347},
journal = {Trends in Ecology {\&} Evolution},
month = {nov},
number = {11},
pages = {673--684},
publisher = {Elsevier Ltd},
title = {{Biodiversity and Resilience of Ecosystem Functions}},
url = {http://linkinghub.elsevier.com/retrieve/pii/S0169534715002189 https://linkinghub.elsevier.com/retrieve/pii/S0169534715002189},
volume = {30},
year = {2015}
}
@article{Mace2014,
author = {Mace, G. M.},
doi = {10.1126/science.1254704},
file = {:C$\backslash$:/LocalStorage/References/MaceNatureValues.pdf:pdf},
isbn = {1095-9203 (Electronic)$\backslash$r0036-8075 (Linking)},
issn = {0036-8075},
journal = {Science},
month = {sep},
number = {6204},
pages = {1558--1560},
pmid = {25258063},
title = {{Whose conservation?}},
url = {http://www.sciencemag.org/cgi/doi/10.1126/science.1254704},
volume = {345},
year = {2014}
}
@article{Hofmann2017,
author = {Hofmann, Sylvia and Everaars, Jeroen and Schweiger, Oliver and Frenzel, Mark and Bannehr, Lutz and Cord, Anna F.},
doi = {10.1371/journal.pone.0185591},
editor = {Rocchini, Duccio},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Hofmann et al. - 2017 - Modelling patterns of pollinator species richness and diversity using satellite image texture.pdf:pdf},
isbn = {1111111111},
issn = {1932-6203},
journal = {PLOS ONE},
month = {oct},
number = {10},
pages = {e0185591},
title = {{Modelling patterns of pollinator species richness and diversity using satellite image texture}},
url = {http://dx.plos.org/10.1371/journal.pone.0185591},
volume = {12},
year = {2017}
}
@article{Isbell2015,
abstract = {Habitat destruction is driving biodiversity loss in remaining ecosystems, and ecosystem function- ing and services often directly depend on biodiversity. Thus, biodiversity loss is likely creating an ecosystem service debt: a gradual loss of biodiversity-dependent benefits that people obtain from remaining fragments of natural ecosystems. Here, we develop an approach for quantifying ecosys- tem service debts, and illustrate its use to estimate how one anthropogenic driver, habitat destruc- tion, could indirectly diminish one ecosystem service, carbon storage, by creating an extinction debt. We estimate that c.2–21 Pg C could be gradually emitted globally in remaining ecosystem fragments because of plant species loss caused by nearby habitat destruction. The wide range for this estimate reflects substantial uncertainties in how many plant species will be lost, how much species loss will impact ecosystem functioning and whether plant species loss will decrease soil car- bon. Our exploratory analysis suggests that biodiversity-dependent ecosystem service debts can be globally substantial, even when locally small, if they occur diffusely across vast areas of remaining ecosystems. There is substantial value in conserving not only the quantity (area), but also the quality (biodiversity) of natural ecosystems for the sustainable provision of ecosystem services.},
author = {Isbell, Forest and Tilman, David and Polasky, Stephen and Loreau, Michel},
doi = {10.1111/ele.12393},
editor = {Bardgett, Richard},
file = {:C$\backslash$:/LocalStorage/References/Isbell{\_}et{\_}al-2015-Ecology{\_}Letters.pdf:pdf},
isbn = {1461-0248},
issn = {1461023X},
journal = {Ecology Letters},
keywords = {Biodiversity conservation,Biodiversity-ecosystem functioning relationships,Carbon storage and sequestration,Ecological production function,Economic valuation,Extinction debt,Global ecoregions,Habitat destruction,Natural capital,Social cost of carbon},
month = {feb},
number = {2},
pages = {119--134},
pmid = {25430966},
title = {{The biodiversity-dependent ecosystem service debt}},
url = {http://doi.wiley.com/10.1111/ele.12393},
volume = {18},
year = {2015}
}
@article{Cole2014,
abstract = {The time taken for forested tropical ecosystems to re-establish post-disturbance is of widespread interest. Yet to date there has been no comparative study across tropical biomes to determine rates of forest re-growth, and how they vary through space and time. Here we present results from a meta-analysis of palaeoecological records that use fossil pollen as a proxy for vegetation change over the past 20,000 years. A total of 283 forest disturbance and recovery events, reported in 71 studies, are identified across four tropical regions. Results indicate that forests in Central America and Africa generally recover faster from past disturbances than those in South America and Asia, as do forests exposed to natural large infrequent disturbances compared with post-climatic and human impacts. Results also demonstrate that increasing frequency of disturbance events at a site through time elevates recovery rates, indicating a degree of resilience in forests exposed to recurrent past disturbance.},
author = {Cole, Lydia E S and Bhagwat, Shonil a and Willis, Katherine J},
doi = {10.1038/ncomms4906},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Cole, Bhagwat, Willis - 2014 - Recovery and resilience of tropical forests after disturbance.pdf:pdf},
issn = {2041-1723},
journal = {Nature communications},
keywords = {and,and key,authors performing research in,based on their,criteria were applied,data sets were included,evidence of disturbance events,fossil pollen,location,n and 23,s,such as,these regions,tropical forest,various selection,within 23},
number = {May},
pages = {3906},
pmid = {24844297},
publisher = {Nature Publishing Group},
title = {{Recovery and resilience of tropical forests after disturbance.}},
url = {http://www.ncbi.nlm.nih.gov/pubmed/24844297},
volume = {5},
year = {2014}
}
@article{Crowther2015,
author = {Crowther, T. W. and Glick, H. B. and Covey, K. R. and Bettigole, C. and Maynard, D. S. and Thomas, S. M. and Smith, J. R. and Hintler, G. and Duguid, M. C. and Amatulli, G. and Tuanmu, M.-N. and Jetz, W. and Salas, C. and Stam, C. and Piotto, D. and Tavani, R. and Green, S. and Bruce, G. and Williams, S. J. and Wiser, S. K. and Huber, M. O. and Hengeveld, G. M. and Nabuurs, G.-J. and Tikhonova, E. and Borchardt, P. and Li, C.-F. and Powrie, L. W. and Fischer, M. and Hemp, A. and Homeier, J. and Cho, P. and Vibrans, a. C. and Umunay, P. M. and Piao, S. L. and Rowe, C. W. and Ashton, M. S. and Crane, P. R. and Bradford, M. a.},
doi = {10.1038/nature14967},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Crowther et al. - 2015 - Mapping tree density at a global scale.pdf:pdf},
issn = {0028-0836},
journal = {Nature},
month = {sep},
title = {{Mapping tree density at a global scale}},
url = {http://www.nature.com/doifinder/10.1038/nature14967},
year = {2015}
}
@article{Zhu2016,
abstract = {Global environmental change is rapidly altering the dynamics of terrestrial vegetation, with consequences for the functioning of the Earth system and provision of ecosystem services1,2. Yet how global vegetation is responding to the changing environment is not well established. Here we use three long-term satellite leaf area index (LAI) records and ten global ecosystem models to investigate four key drivers of LAI trends during 1982–2009. We show a persistent and widespread increase of growing season integrated LAI (greening) over 25{\%} to 50{\%} of the global vegetated area, whereas less than 4{\%} of the globe shows decreasing LAI (browning). Factorial simulations with multiple global ecosystem models suggest that CO2 fertilization eects explain 70{\%} of the observed greening trend, followed by nitrogen deposition (9{\%}), climate change (8{\%}) and land cover change (LCC) (4{\%}). CO2 fertilization eects explain most of the greening trends in the tropics, whereas climate change resulted in greening of the high latitudes and the Tibetan Plateau. LCC contributed most to the regional greening observed in southeast China and the eastern United States. The regional eects of unexplained factors suggest that the next generation of ecosystem models will need to explore the impacts of forest demography, dierences in regional management intensities for cropland andpastures,andother emerging productivity constraints such as phosphorus availability.},
author = {Zhu, Zaichun and Piao, Shilong and Myneni, Ranga B and Huang, Mengtian and Zeng, Zhenzhong and Canadell, Josep G and Ciais, Philippe and Sitch, Stephen and Friedlingstein, Pierre and Arneth, Almut and Cao, Chunxiang and Cheng, Lei and Kato, Etsushi and Koven, Charles and Li, Yue and Lian, Xu and Liu, Yongwen and Liu, Ronggao and Mao, Jiafu and Pan, Yaozhong and Peng, Shushi and Pe{\~{n}}uelas, Josep and Poulter, Benjamin and Pugh, Thomas A. M. and Stocker, Benjamin D. and Viovy, Nicolas and Wang, Xuhui and Wang, Yingping and Xiao, Zhiqiang and Yang, Hui and Zaehle, S{\"{o}}nke and Zeng, Ning},
doi = {10.1038/nclimate3004},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Zhu et al. - 2016 - Greening of the Earth and its drivers.pdf:pdf},
isbn = {1758-6798},
issn = {1758-678X},
journal = {Nature Climate Change},
month = {apr},
number = {8},
pages = {791--795},
title = {{Greening of the Earth and its drivers}},
url = {http://www.nature.com/doifinder/10.1038/nclimate3004},
volume = {6},
year = {2016}
}
@article{Chase2018,
abstract = {Although spatial scale plays a critical role in estimates of biodiversity, most empirical studies ignore scale or use only simple controls for sampling intensity. In a meta-analysis of studies that measured biodiversity responses to numerous ecological drivers across scales, we found nearly universal scale-dependence: effect sizes either greatly increased or decreased across scales, and nearly 10{\%} switched directions across scales. Next, we show how accumulation and rarefaction curves can be used to dissect the effects of biodiversity scaling based on three components: total number of individuals (N), the shape of the species abundance distribution (SADs), and the pattern of spatial aggregation. In a second meta-analysis of studies with multiple rarefaction curves, {\~{}}30{\%} of them crossed, and the three components of biodiversity were uncorrelated, contradicting conventional wisdom that most biodiversity measures are strongly intercorrelated. These results imply that there is no single 'magic metric' or scale for measuring biodiversity, and that multiple measures and scales are necessary to quantify biodiversity patterns. We use a case study of nutrient additions in experimental ponds to illustrate how this multi-scale perspective reveals the responses of biodiversity to ecological drivers, and allows for a more informed search for possible mechanisms.},
author = {Chase, Jonathan M. and McGill, Brian J. and McGlinn, Daniel J. and May, Felix and Blowes, Shane A. and Xiao, Xiao and Knight, Tiffany M. and Purschke, Oliver and Gotelli, Nicholas J.},
doi = {10.1111/ele.13151},
editor = {Adler, Frederick},
file = {:C$\backslash$:/LocalStorage/References/Chase{\_}et{\_}al-2018-Ecology{\_}Letters.pdf:pdf},
isbn = {9781509037582},
issn = {1461023X},
journal = {Ecology Letters},
keywords = {evenness,hill number,rarefaction,s index,scale-dependence,simpson,species,species richness},
month = {nov},
number = {11},
pages = {1737--1751},
title = {{Embracing scale-dependence to achieve a deeper understanding of biodiversity and its change across communities}},
url = {https://www.biorxiv.org/content/early/2018/03/03/275701 http://doi.wiley.com/10.1111/ele.13151},
volume = {21},
year = {2018}
}
@article{Newbold2015,
author = {Newbold, Tim and Hudson, Lawrence N and Hill, Samantha L L and Contu, Sara and Lysenko, Igor and Senior, Rebecca A and B{\"{o}}rger, Luca and Bennett, Dominic J and Choimes, Argyrios and Collen, Ben and Day, Julie and {De Palma}, Adriana and D{\'{i}}az, Sandra and Echeverria-Londo{\~{n}}o, Susy and Edgar, Melanie J and Feldman, Anat and Garon, Morgan and Harrison, Michelle L K and Alhusseini, Tamera and Ingram, Daniel J and Itescu, Yuval and Kattge, Jens and Kemp, Victoria and Kirkpatrick, Lucinda and Kleyer, Michael and Correia, David Laginha Pinto and Martin, Callum D and Meiri, Shai and Novosolov, Maria and Pan, Yuan and Phillips, Helen R P and Purves, Drew W and Robinson, Alexandra and Simpson, Jake and Tuck, Sean L and Weiher, Evan and White, Hannah J and Ewers, Robert M and Mace, Georgina M and Scharlemann, J{\"{o}}rn P. W. and Purvis, Andy},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Newbold et al. - 2015 - Global effects of land use on local terrestrial biodiversity.pdf:pdf},
issn = {0028-0836},
journal = {Nature},
month = {apr},
number = {7545},
pages = {45--50},
title = {{Global effects of land use on local terrestrial biodiversity}},
url = {http://www.nature.com/doifinder/10.1038/nature14324},
volume = {520},
year = {2015}
}
@article{Standish2014,
abstract = {Increasingly, the success of management interventions aimed at biodiversity conservation are viewed as being dependent on the 'resilience' of the system. Although the term 'resilience' is increasingly used by policy makers and environmental managers, the concept of 'resilience' remains vague, varied and difficult to quantify. Here we clarify what this concept means from an ecological perspective, and how it can be measured and applied to ecosystem management. We argue that thresholds of disturbance are central to measuring resilience. Thresholds are important because they offer a means to quantify how much disturbance an ecosystem can absorb before switching to another state, and so indicate whether intervention might be necessary to promote the recovery of the pre-disturbance state. We distinguish between helpful resilience, where resilience helps recovery, and unhelpful resilience where it does not, signalling the presence of a threshold and the need for intervention. Data to determine thresholds are not always available and so we consider the potential for indices of functional diversity to act as proxy measures of resilience. We also consider the contributions of connectivity and scale to resilience and how to incorporate these factors into management. We argue that linking thresholds to functional diversity indices may improve our ability to predict the resilience of ecosystems to future, potentially novel, disturbances according to their spatial and temporal scales of influence. Throughout, we provide guidance for the application of the resilience concept to ecosystem management. In doing so, we confirm its usefulness for improving biodiversity conservation in our rapidly changing world. {\textcopyright} 2014 Elsevier Ltd.},
author = {Standish, Rachel J. and Hobbs, Richard J. and Mayfield, Margaret M. and Bestelmeyer, Brandon T. and Suding, Katherine N. and Battaglia, Loretta L. and Eviner, Valerie and Hawkes, Christine V. and Temperton, Vicky M. and Cramer, Viki a. and Harris, James a. and Funk, Jennifer L. and Thomas, Peter a.},
doi = {10.1016/j.biocon.2014.06.008},
file = {:C$\backslash$:/LocalStorage/References/2014/Standish et al.{\_}2014{\_}Resilience in ecology Abstraction, distraction, or where the action is.pdf:pdf},
isbn = {0006-3207},
issn = {00063207},
journal = {Biological Conservation},
keywords = {Biodiversity conservation,Ecological resilience,Environmental policy,Recovery,Restoration goals,Threshold},
month = {sep},
pages = {43--51},
publisher = {Elsevier Ltd},
title = {{Resilience in ecology: Abstraction, distraction, or where the action is?}},
url = {http://dx.doi.org/10.1016/j.biocon.2014.06.008 http://linkinghub.elsevier.com/retrieve/pii/S0006320714002353},
volume = {177},
year = {2014}
}
@article{Cardinale2012,
author = {Cardinale, Bradley J. and Duffy, J. Emmett and Gonzalez, Andrew and Hooper, David U. and Perrings, Charles and Venail, Patrick and Narwani, Anita and Mace, Georgina M. and Tilman, David and Wardle, David A. and Kinzig, Ann P. and Daily, Gretchen C. and Loreau, Michel and Grace, James B. and Larigauderie, Anne and Srivastava, Diane S. and Naeem, Shahid},
doi = {10.1038/nature11148},
file = {:C$\backslash$:/LocalStorage/References/CardinaleEcosystemServices.pdf:pdf},
issn = {0028-0836},
journal = {Nature},
month = {jun},
number = {7401},
pages = {59--67},
title = {{Biodiversity loss and its impact on humanity}},
url = {http://www.nature.com/articles/nature11148},
volume = {486},
year = {2012}
}
@article{Gonzalez2016,
author = {Gonzalez, Andrew and Cardinale, Bradley J and Allington, Ginger R H and Byrnes, Jarrett and {Arthur Endsley}, K. and Brown, Daniel G and Hooper, David U and Isbell, Forest and O'Connor, Mary I. and Loreau, Michel},
doi = {10.1890/15-1759.1},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Gonzalez et al. - 2016 - Estimating local biodiversity change a critique of papers claiming no net loss of local diversity.pdf:pdf},
issn = {00129658},
journal = {Ecology},
month = {aug},
number = {8},
pages = {1949--1960},
title = {{Estimating local biodiversity change: a critique of papers claiming no net loss of local diversity}},
url = {http://doi.wiley.com/10.1890/15-1759.1},
volume = {97},
year = {2016}
}
@article{Moller2002,
abstract = {R2 tend to be between 2 and 5{\%}!!!},
author = {M{\o}ller, Anders and Jennions, Michael D.},
doi = {10.1007/s00442-002-0952-2},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/M{\o}ller, Jennions - 2002 - How much variance can be explained by ecologists and evolutionary biologists(2).pdf:pdf},
isbn = {0029-8549},
issn = {0029-8549},
journal = {Oecologia},
keywords = {Ecology,Effect size,Evolution,Meta-analysis,Sample size},
month = {aug},
number = {4},
pages = {492--500},
pmid = {177866100002},
title = {{How much variance can be explained by ecologists and evolutionary biologists?}},
url = {http://link.springer.com/10.1007/s00442-002-0952-2},
volume = {132},
year = {2002}
}
@article{DeKeersmaecker2015a,
author = {{De Keersmaecker}, Wanda and van Rooijen, Nils and Lhermitte, Stef and Tits, Laurent and Schamin{\'{e}}e, Joop and Coppin, Pol and Honnay, Olivier and Somers, Ben},
doi = {10.1111/1365-2664.12595},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/De Keersmaecker et al. - 2015 - Species-rich semi-natural grasslands have a higher resistance but a lower resilience than intensively ma.pdf:pdf},
issn = {00218901},
journal = {Journal of Applied Ecology},
month = {dec},
pages = {n/a--n/a},
title = {{Species-rich semi-natural grasslands have a higher resistance but a lower resilience than intensively managed agricultural grasslands in response to climate anomalies}},
url = {http://doi.wiley.com/10.1111/1365-2664.12595},
year = {2015}
}
@article{DeKeersmaecker2015,
author = {{De Keersmaecker}, Wanda and Lhermitte, Stef and Tits, Laurent and Honnay, Olivier and Somers, Ben and Coppin, Pol},
doi = {10.1111/gcb.12799},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/De Keersmaecker et al. - 2015 - Resilience and the reliability of spectral entropy to assess ecosystem stability.pdf:pdf},
issn = {13541013},
journal = {Global Change Biology},
pages = {n/a--n/a},
title = {{Resilience and the reliability of spectral entropy to assess ecosystem stability}},
url = {http://doi.wiley.com/10.1111/gcb.12799},
year = {2015}
}
@article{DeKeersmaecker2014,
abstract = {Increasing frequency of extreme climate events is likely to impose increased stress on ecosystems and to jeopardize the services that ecosystems provide. Therefore, it is of major importance to assess the effects of extreme climate events on the temporal stability (i.e., the resistance, the resilience, and the variance) of ecosystem properties. Most time series of ecosystem properties are, however, affected by varying data characteristics, uncertainties, and noise, which complicate the comparison of ecosystem stability metrics (ESMs) between locations. Therefore, there is a strong need for a more comprehensive understanding regarding the reliability of stability metrics and how they can be used to compare ecosystem stability globally. The objective of this study was to evaluate the performance of temporal ESMs based on time series of the Moderate Resolution Imaging Spectroradiometer derived Normalized Difference Vegetation Index of 15 global land-cover types. We provide a framework (i) to assess the reliability of ESMs in function of data characteristics, uncertainties and noise and (ii) to integrate reliability estimates in future global ecosystem stability studies against climate disturbances. The performance of our framework was tested through (i) a global ecosystem comparison and (ii) an comparison of ecosystem stability in response to the 2003 drought. The results show the influence of data quality on the accuracy of ecosystem stability. White noise, biased noise, and trends have a stronger effect on the accuracy of stability metrics than the length of the time series, temporal resolution, or amount of missing values. Moreover, we demonstrate the importance of integrating reliability estimates to interpret stability metrics within confidence limits. Based on these confidence limits, other studies dealing with specific ecosystem types or locations can be put into context, and a more reliable assessment of ecosystem stability against environmental disturbances can be obtained.},
author = {{De Keersmaecker}, Wanda and Lhermitte, Stef and Honnay, Olivier and Farifteh, Jamshid and Somers, Ben and Coppin, Pol},
doi = {10.1111/gcb.12495},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/De Keersmaecker et al. - 2014 - How to measure ecosystem stability An evaluation of the reliability of stability metrics based on remote.pdf:pdf},
isbn = {1365-2486},
issn = {13541013},
journal = {Global Change Biology},
keywords = {Climate disturbances,Ecosystem stability,Normalized Difference Vegetation Index,Reliability,Remote sensing,Resilience,Resistance,Variance},
month = {jul},
number = {7},
pages = {2149--2161},
pmid = {24777443},
title = {{How to measure ecosystem stability? An evaluation of the reliability of stability metrics based on remote sensing time series across the major global ecosystems}},
url = {http://doi.wiley.com/10.1111/gcb.12495},
volume = {20},
year = {2014}
}
@article{Cord2017,
author = {Cord, Anna F. and Brauman, Kate A. and Chaplin-Kramer, Rebecca and Huth, Andreas and Ziv, Guy and Seppelt, Ralf},
doi = {10.1016/j.tree.2017.03.003},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Cord et al. - 2017 - Priorities to Advance Monitoring of Ecosystem Services Using Earth Observation.pdf:pdf},
issn = {01695347},
journal = {Trends in Ecology {\&} Evolution},
month = {apr},
pages = {1--13},
publisher = {Elsevier Ltd},
title = {{Priorities to Advance Monitoring of Ecosystem Services Using Earth Observation}},
url = {http://linkinghub.elsevier.com/retrieve/pii/S0169534717300642},
volume = {xx},
year = {2017}
}
@article{Jetz2019,
author = {Jetz, Walter and McGeoch, Melodie A. and Guralnick, Robert and Ferrier, Simon and Beck, Jan and Costello, Mark J. and Fernandez, Miguel and Geller, Gary N. and Keil, Petr and Merow, Cory and Meyer, Carsten and Muller-Karger, Frank E. and Pereira, Henrique M. and Regan, Eugenie C. and Schmeller, Dirk S. and Turak, Eren},
doi = {10.1038/s41559-019-0826-1},
file = {:C$\backslash$:/Users/mj291/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/Jetz et al. - 2019 - Essential biodiversity variables for mapping and monitoring species populations.pdf:pdf},
issn = {2397-334X},
journal = {Nature Ecology {\&} Evolution},
month = {mar},
title = {{Essential biodiversity variables for mapping and monitoring species populations}},
url = {http://www.nature.com/articles/s41559-019-0826-1},
year = {2019}
}

license: MIT

license_type: permissive

branch_name: refs/heads/master

extension: bib


text:
SUMMARY = "Parse strings using a specification based on the Python format() syntax"
HOMEPAGE = "https://github.com/r1chardj0n3s/parse"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://parse.py;beginline=1325;endline=1345;md5=fa03bae3f51a2db25e239e869c647437"

SRC_URI[md5sum] = "07cbb5ba1025cbfe92fc3376c372dda5"
SRC_URI[sha256sum] = "95a4f4469e37c57b5e924629ac99926f28bee7da59515dc5b8078c4c3e779249"

inherit pypi setuptools

RDEPENDS:${PN}:append:class-target = "\
    ${PYTHON_PN}-datetime \
    ${PYTHON_PN}-logging \
    ${PYTHON_PN}-numbers \
    "

SKIP_RECIPE[python-parse] ?= "${@bb.utils.contains('I_SWEAR_TO_MIGRATE_TO_PYTHON3', 'yes', '', 'python2 is out of support for long time, read https://www.python.org/doc/sunset-python-2/ https://python3statement.org/ and if you really have to temporarily use this, then set I_SWEAR_TO_MIGRATE_TO_PYTHON3 to "yes"', d)}"

branch_name: refs/heads/jansa/master

gha_license_id: MIT

gha_language: BitBake

extension: bb


text:
set(pch_header "CMakeFiles/tgt.dir/Debug/cmake_pch.hxx")
set(pch_source [=[CMakeFiles\\tgt.dir\\cmake_pch.cxx]=])

if(NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/${pch_header}")
  set(RunCMake_TEST_FAILED "Generated PCH header ${pch_header} does not exist.")
  return()
endif()
if(NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/${pch_source}")
  set(RunCMake_TEST_FAILED "Generated PCH header ${pch_source} does not exist.")
  return()
endif()

set(tgt_project "${RunCMake_TEST_BINARY_DIR}/tgt.vcxproj")
if (NOT EXISTS "${tgt_project}")
  set(RunCMake_TEST_FAILED "Generated project file ${tgt_project} doesn't exist.")
  return()
endif()

file(STRINGS ${tgt_project} tgt_projects_strings)

foreach(line IN LISTS tgt_projects_strings)
  if (line MATCHES "<PrecompiledHeader.*>Use</PrecompiledHeader>")
    set(have_pch_use ON)
  endif()

  if (line MATCHES "<PrecompiledHeader.*>Create</PrecompiledHeader>")
    set(have_pch_create ON)
  endif()

  if (line MATCHES "<PrecompiledHeaderFile.*>.*${pch_header}</PrecompiledHeaderFile>")
    set(have_pch_header ON)
  endif()

  if (line MATCHES "<ForcedIncludeFiles.*>.*${pch_header}.*</ForcedIncludeFiles>")
    set(have_force_pch_header ON)
  endif()

  if (line MATCHES "<ClCompile Include=.*${pch_source}\">")
    set(have_pch_source_compile ON)
  endif()
endforeach()

if (NOT have_pch_use)
  set(RunCMake_TEST_FAILED "Generated project should have the <PrecompiledHeader>Use</PrecompiledHeader> block.")
  return()
endif()

if (NOT have_pch_create)
  set(RunCMake_TEST_FAILED "Generated project should have the <PrecompiledHeader>Create</PrecompiledHeader> block.")
  return()
endif()

if (NOT have_pch_header)
  set(RunCMake_TEST_FAILED "Generated project should have the <PrecompiledHeaderFile>${pch_header}</PrecompiledHeaderFile> block.")
  return()
endif()

if (NOT have_force_pch_header)
  set(RunCMake_TEST_FAILED "Generated project should have the <ForcedIncludeFiles>${pch_header}</ForcedIncludeFiles> block.")
  return()
endif()

if (NOT have_pch_source_compile)
  set(RunCMake_TEST_FAILED "Generated project should have the <ClCompile Include=\"${pch_source}\"> block.")
  return()
endif()

branch_name: refs/heads/main

extension: cmake


text:
@inproceedings{08Cutts17,
 author = {Quintin Cutts and Elizabeth Patitsas and Elizabeth Cole and Peter Donaldson and Bedour Alshaigy and Mirela Gutica and Arto Hellas and Edurne Larraza-Mendiluze and Robert McCartney and Charles Riedesel},
 title = {Early Developmental Activities and Computing Proficiency},
 booktitle = {Proceedings of the 2017 ITiCSE Conference on Working Group Reports},
 series = {ITiCSE-WGR '17},
 year = {2017},
 isbn = {978-1-4503-5627-5},
 location = {Bologna, Italy},
 pages = {140--157},
 numpages = {18},
 url = {http://doi.acm.org/10.1145/3174781.3174789},
 doi = {10.1145/3174781.3174789},
 acmid = {3174789},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {early-years, pre-computational thinking, pre-requisite, primary, proficiency},
}

@inproceedings{08DBLP:conf/icer/PatitsasBCE16,
  author    = {Elizabeth Patitsas and
               Jesse Berlin and
               Michelle Craig and
               Steve M. Easterbrook},
  title     = {Evidence That Computer Science Grades Are Not Bimodal},
  booktitle = {Proceedings of the 2016 {ACM} Conference on International Computing
               Education Research, {ICER} 2016, Melbourne, VIC, Australia, September
               8-12, 2016},
  pages     = {113--121},
  year      = {2016},
  url       = {http://doi.acm.org/10.1145/2960310.2960312},
  doi       = {10.1145/2960310.2960312},
  timestamp = {Fri, 19 Aug 2016 09:39:36 +0200},
  biburl    = {http://dblp.uni-trier.de/rec/bib/conf/icer/PatitsasBCE16},
  comment = {Received John Henry (Audience Choice) Award},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}

@inproceedings{iticse2014wg,
	title = {The {Canterbury QuestionBank}: building a repository of
multiple-choice {CS1} and {CS2} questions},
	author = {Kate Sanders and Marizeh Ahmadzad and Tony Clear and Stephen H. Edwards and Mikey Goldweber and Chris Johnson and Raymond Lister and Robert McCartney and Elizabeth Patitsas and Jaime Spacco},
	year = {2013},
 publisher = {ACM},
 address = {New York, NY, USA},
 booktitle = {Proceedings of the final reports on Innovation and Technology in Computer Science Education 2013 Working Groups},
 series = {ITiCSE-WGR '13},
}

@inproceedings{patitsas2015numpy,
  title={A Numpy-First Approach to Teaching CS1 to Natural Science Students},
  author={Patitsas, Elizabeth},
  booktitle={Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education},
  pages={333--333},
  year={2015},
  organization={ACM}
}

@inproceedings{koli2013tas,
 author = {Patitsas, Elizabeth},
 title = {A Case Study of the Development of {CS} Teaching Assistants and Their Experiences with Team Teaching},
 booktitle = {Proceedings of the 12th Koli Calling International Conference on Computing Education Research},
 series = {Koli Calling '12},
 year = {2013},
 location = {Koli, Finland},
 publisher = {ACM},
 address = {New York, NY, USA},
}

@inproceedings{icer2012paper,
 author = {Patitsas, Elizabeth},
 title = {A case study of environmental factors influencing teaching assistant job satisfaction},
 booktitle = {Proceedings of the 9th Annual Conference on International Computing Education Research},
 series = {ICER '12},
 year = {2012},
 isbn = {978-1-4503-1604-0},
 location = {Auckland, New Zealand},
 pages = {11--16},
 numpages = {6},
 url = {http://doi.acm.org/10.1145/2361276.2361280},
 doi = {10.1145/2361276.2361280},
 acmid = {2361280},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {computer science education, labs, teaching assistants},
}

@inproceedings{sigcse2013special,
 author = {Goldweber, Michael and Barr, John and Patitsas, Elizabeth},
 title = {Computer science education for social good},
 booktitle = {Proceedings of the 44th ACM Technical Symposium on Computer Science Education},
 series = {SIGCSE '13},
 year = {2013},
 isbn = {978-1-4503-1868-6},
 location = {Denver, Colorado, USA},
 pages = {15--16},
 numpages = {2},
 url = {http://doi.acm.org/10.1145/2445196.2445208},
 doi = {10.1145/2445196.2445208},
 acmid = {2445208},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {computing for the social good, introductory programming projects},
}

@inproceedings{iticse2013wg,
 author = {Goldweber, Michael and Barr, John and Clear, Tony and Davoli, Renzo and Mann, Samuel and Patitsas, Elizabeth and Portnoff, Scott},
 title = {A framework for enhancing the social good in computing aducation: a values approach},
 booktitle = {Proceedings of the final reports on Innovation and Technology in Computer Science Education 2012 Working Groups},
 series = {ITiCSE-WGR '12},
 year = {2012},
 isbn = {978-1-4503-1872-3},
 location = {Haifa, Israel},
 pages = {16--38},
 numpages = {23},
 url = {http://doi.acm.org/10.1145/2426636.2426639},
 doi = {10.1145/2426636.2426639},
 acmid = {2426639},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {computing for the social good, introductory programming projects},
 comment = {Best Working Group Paper Award},
}

@inproceedings{iticse2012tips,
 author = {Patitsas, Elizabeth},
 title = {Teaching labs on pseudorandom number generation},
 booktitle = {Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education},
 series = {ITiCSE '12},
 year = {2012},
 isbn = {978-1-4503-1246-2},
 location = {Haifa, Israel},
 pages = {376--376},
 numpages = {1},
 url = {http://doi.acm.org/10.1145/2325296.2325392},
 doi = {10.1145/2325296.2325392},
 acmid = {2325392},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {computer science education, digital logic, labs},
}

@inproceedings{iticse2013tips,
 author = {Patitsas, Elizabeth and Levy, Daniel},
 title = {Dr. {H}orrible's Fork Bomb: A Lab for Teaching Security in {CS2}},
 booktitle = {Proceedings of the 18th ACM Annual Conference on Innovation and Technology in Computer Science Education},
 series = {ITiCSE '13},
 year = {2013},
 location = {Canterbury, UK},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {computer science education, digital logic, labs},
}

@article{inroads2013paper,
 author = {Goldweber, Michael and Barr, John and Clear, Tony and Davoli, Renzo and Mann, Samuel and Patitsas, Elizabeth and Portnoff, Scott},
 title = {A framework for enhancing the social good in computing education: a values approach},
 journal = {ACM Inroads},
 issue_date = {March 2013},
 volume = {4},
 number = {1},
 month = mar,
 year = {2013},
 issn = {2153-2184},
 pages = {58--79},
 numpages = {22},
 url = {http://doi.acm.org/10.1145/2432596.2432616},
 doi = {10.1145/2432596.2432616},
 acmid = {2432616},
 publisher = {ACM},
 address = {New York, NY, USA},
 keywords = {computing for the social good, introductory programming projects},
}

gha_license_id: NOASSERTION

gha_language: TeX


text:
package postgres

import (
	"database/sql/driver"
	"fmt"
	"strings"
)

func Enum(labels ...string) ToValue {
	if len(labels) == 0 {
		panic("Cannot create Enum Value with no labels")
	}
	return func(data interface{}) (Value, error) {
		k := &pgEnum{"", labels, false}
		return k, k.Scan(data)
	}
}

type pgEnum struct {
	s     string
	ls    []string
	valid bool
}

func (k *pgEnum) Scan(src interface{}) error {
	if src == nil {
		k.valid = false
		return nil
	}
	k.valid = true
	var s string
	switch x := src.(type) {
	case string:
		k.s = x
	case []byte:
		k.s = string(x)
	default:
		return fmt.Errorf("cannot set Enum Value with %T -> %v", src, src)
	}
	// check it's valid
	var ok bool
	for _, s2 := range k.ls {
		if k.s == s2 {
			ok = true
		}
	}
	if !ok {
		return fmt.Errorf("Value should be one of %s got %s", strings.Join(k.ls, ","), s)
	}
	return nil
}
func (k *pgEnum) IsNull() bool {
	return !k.valid
}

func (k *pgEnum) Value() (driver.Value, error) {
	if !k.valid {
		return nil, nil
	}
	return k.s, nil
}

func (k *pgEnum) bytes() ([]byte, error) {
	if !k.valid {
		return nullBytes, nil
	}
	return []byte(k.s), nil
}

func (k *pgEnum) String() string {
	if !k.valid {
		return ""
	}
	return k.s
}

func (k *pgEnum) Val() interface{} {
	if !k.valid {
		return nil
	}
	return k.s
}

extension: go


text:
package helper

import (
	"io/ioutil"
	"os"
)

func WriteFile(path string, content string) error {
	f, err := os.Create(path)
	if err != nil {
		return err
	}
	defer f.Close()
	_, err = f.WriteString(content)
	if err != nil {
		return err
	}
	f.Sync()
	return nil
}

func ReadFile(path string) (string, error) {
	f, err := os.Open(path)
	if err != nil {
		return "", err
	}
	defer f.Close()
	b, err := ioutil.ReadAll(f)
	if err != nil {
		return "", err
	}
	return string(b), nil
}

repository: wouterdevinck/lamp

repo_name: wouterdevinck/lamp


text:
// Code generated by protoc-gen-gogo. DO NOT EDIT.
// source: errcode.proto

package errcode

import (
	fmt "fmt"
	math "math"

	_ "github.com/gogo/protobuf/gogoproto"
	proto "github.com/gogo/protobuf/proto"
)

// Reference imports to suppress errors if they are not otherwise used.
var (
	_ = proto.Marshal
	_ = fmt.Errorf
	_ = math.Inf
)

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package

type ErrCode int32

const (
	Undefined                                  ErrCode = 0
	TODO                                       ErrCode = 666
	ErrNotImplemented                          ErrCode = 777
	ErrInternal                                ErrCode = 888
	ErrInvalidInput                            ErrCode = 100
	ErrInvalidRange                            ErrCode = 101
	ErrMissingInput                            ErrCode = 102
	ErrSerialization                           ErrCode = 103
	ErrDeserialization                         ErrCode = 104
	ErrStreamRead                              ErrCode = 105
	ErrStreamWrite                             ErrCode = 106
	ErrMissingMapKey                           ErrCode = 107
	ErrDBWrite                                 ErrCode = 108
	ErrDBRead                                  ErrCode = 109
	ErrCryptoRandomGeneration                  ErrCode = 200
	ErrCryptoKeyGeneration                     ErrCode = 201
	ErrCryptoNonceGeneration                   ErrCode = 202
	ErrCryptoSignature                         ErrCode = 203
	ErrCryptoSignatureVerification             ErrCode = 204
	ErrCryptoDecrypt                           ErrCode = 205
	ErrCryptoEncrypt                           ErrCode = 206
	ErrCryptoKeyConversion                     ErrCode = 207
	ErrOrbitDBInit                             ErrCode = 1000
	ErrOrbitDBOpen                             ErrCode = 1001
	ErrOrbitDBAppend                           ErrCode = 1002
	ErrOrbitDBDeserialization                  ErrCode = 1003
	ErrOrbitDBStoreCast                        ErrCode = 1004
	ErrHandshakeOwnEphemeralKeyGenSend         ErrCode = 1100
	ErrHandshakePeerEphemeralKeyRecv           ErrCode = 1101
	ErrHandshakeRequesterAuthenticateBoxKeyGen ErrCode = 1102
	ErrHandshakeResponderAcceptBoxKeyGen       ErrCode = 1103
	ErrHandshakeRequesterHello                 ErrCode = 1104
	ErrHandshakeResponderHello                 ErrCode = 1105
	ErrHandshakeRequesterAuthenticate          ErrCode = 1106
	ErrHandshakeResponderAccept                ErrCode = 1107
	ErrHandshakeRequesterAcknowledge           ErrCode = 1108
	ErrContactRequestSameAccount               ErrCode = 1200
	ErrContactRequestContactAlreadyAdded       ErrCode = 1201
	ErrContactRequestContactBlocked            ErrCode = 1202
	ErrContactRequestContactUndefined          ErrCode = 1203
	ErrContactRequestIncomingAlreadyReceived   ErrCode = 1204
	ErrGroupMemberLogEventOpen                 ErrCode = 1300
	ErrGroupMemberLogEventSignature            ErrCode = 1301
	ErrGroupMemberUnknownGroupID               ErrCode = 1302
	ErrGroupSecretOtherDestMember              ErrCode = 1303
	ErrGroupSecretAlreadySentToMember          ErrCode = 1304
	ErrGroupInvalidType                        ErrCode = 1305
	ErrGroupMissing                            ErrCode = 1306
	ErrGroupActivate                           ErrCode = 1307
	ErrGroupDeactivate                         ErrCode = 1308
	ErrGroupInfo                               ErrCode = 1309
	// Event errors
	ErrEventListMetadata                   ErrCode = 1400
	ErrEventListMessage                    ErrCode = 1401
	ErrMessageKeyPersistencePut            ErrCode = 1500
	ErrMessageKeyPersistenceGet            ErrCode = 1501
	ErrBridgeInterrupted                   ErrCode = 1600
	ErrBridgeNotRunning                    ErrCode = 1601
	ErrMessengerInvalidDeepLink            ErrCode = 2000
	ErrDBEntryAlreadyExists                ErrCode = 2100
	ErrDBAddConversation                   ErrCode = 2101
	ErrDBAddContactRequestOutgoingSent     ErrCode = 2102
	ErrDBAddContactRequestOutgoingEnqueud  ErrCode = 2103
	ErrDBAddContactRequestIncomingReceived ErrCode = 2104
	ErrDBAddContactRequestIncomingAccepted ErrCode = 2105
	ErrDBAddGroupMemberDeviceAdded         ErrCode = 2106
	ErrDBMultipleRecords                   ErrCode = 2107
	ErrReplayProcessGroupMetadata          ErrCode = 2200
	ErrReplayProcessGroupMessage           ErrCode = 2201
	ErrCLINoTermcaps                       ErrCode = 3001
	ErrServicesAuth                        ErrCode = 4000
	ErrServicesAuthNotInitialized          ErrCode = 4001
	ErrServicesAuthWrongState              ErrCode = 4002
	ErrServicesAuthInvalidResponse         ErrCode = 4003
	ErrServicesAuthServer                  ErrCode = 4004
	ErrServicesAuthCodeChallenge           ErrCode = 4005
	ErrServicesAuthServiceInvalidToken     ErrCode = 4006
	ErrServicesAuthServiceNotSupported     ErrCode = 4007
	ErrServicesAuthUnknownToken            ErrCode = 4008
	ErrServicesAuthInvalidURL              ErrCode = 4009
	ErrServiceReplication                  ErrCode = 4100
	ErrServiceReplicationServer            ErrCode = 4101
	ErrServiceReplicationMissingEndpoint   ErrCode = 4102
)

var ErrCode_name = map[int32]string{
	0:    "Undefined",
	666:  "TODO",
	777:  "ErrNotImplemented",
	888:  "ErrInternal",
	100:  "ErrInvalidInput",
	101:  "ErrInvalidRange",
	102:  "ErrMissingInput",
	103:  "ErrSerialization",
	104:  "ErrDeserialization",
	105:  "ErrStreamRead",
	106:  "ErrStreamWrite",
	107:  "ErrMissingMapKey",
	108:  "ErrDBWrite",
	109:  "ErrDBRead",
	200:  "ErrCryptoRandomGeneration",
	201:  "ErrCryptoKeyGeneration",
	202:  "ErrCryptoNonceGeneration",
	203:  "ErrCryptoSignature",
	204:  "ErrCryptoSignatureVerification",
	205:  "ErrCryptoDecrypt",
	206:  "ErrCryptoEncrypt",
	207:  "ErrCryptoKeyConversion",
	1000: "ErrOrbitDBInit",
	1001: "ErrOrbitDBOpen",
	1002: "ErrOrbitDBAppend",
	1003: "ErrOrbitDBDeserialization",
	1004: "ErrOrbitDBStoreCast",
	1100: "ErrHandshakeOwnEphemeralKeyGenSend",
	1101: "ErrHandshakePeerEphemeralKeyRecv",
	1102: "ErrHandshakeRequesterAuthenticateBoxKeyGen",
	1103: "ErrHandshakeResponderAcceptBoxKeyGen",
	1104: "ErrHandshakeRequesterHello",
	1105: "ErrHandshakeResponderHello",
	1106: "ErrHandshakeRequesterAuthenticate",
	1107: "ErrHandshakeResponderAccept",
	1108: "ErrHandshakeRequesterAcknowledge",
	1200: "ErrContactRequestSameAccount",
	1201: "ErrContactRequestContactAlreadyAdded",
	1202: "ErrContactRequestContactBlocked",
	1203: "ErrContactRequestContactUndefined",
	1204: "ErrContactRequestIncomingAlreadyReceived",
	1300: "ErrGroupMemberLogEventOpen",
	1301: "ErrGroupMemberLogEventSignature",
	1302: "ErrGroupMemberUnknownGroupID",
	1303: "ErrGroupSecretOtherDestMember",
	1304: "ErrGroupSecretAlreadySentToMember",
	1305: "ErrGroupInvalidType",
	1306: "ErrGroupMissing",
	1307: "ErrGroupActivate",
	1308: "ErrGroupDeactivate",
	1309: "ErrGroupInfo",
	1400: "ErrEventListMetadata",
	1401: "ErrEventListMessage",
	1500: "ErrMessageKeyPersistencePut",
	1501: "ErrMessageKeyPersistenceGet",
	1600: "ErrBridgeInterrupted",
	1601: "ErrBridgeNotRunning",
	2000: "ErrMessengerInvalidDeepLink",
	2100: "ErrDBEntryAlreadyExists",
	2101: "ErrDBAddConversation",
	2102: "ErrDBAddContactRequestOutgoingSent",
	2103: "ErrDBAddContactRequestOutgoingEnqueud",
	2104: "ErrDBAddContactRequestIncomingReceived",
	2105: "ErrDBAddContactRequestIncomingAccepted",
	2106: "ErrDBAddGroupMemberDeviceAdded",
	2107: "ErrDBMultipleRecords",
	2200: "ErrReplayProcessGroupMetadata",
	2201: "ErrReplayProcessGroupMessage",
	3001: "ErrCLINoTermcaps",
	4000: "ErrServicesAuth",
	4001: "ErrServicesAuthNotInitialized",
	4002: "ErrServicesAuthWrongState",
	4003: "ErrServicesAuthInvalidResponse",
	4004: "ErrServicesAuthServer",
	4005: "ErrServicesAuthCodeChallenge",
	4006: "ErrServicesAuthServiceInvalidToken",
	4007: "ErrServicesAuthServiceNotSupported",
	4008: "ErrServicesAuthUnknownToken",
	4009: "ErrServicesAuthInvalidURL",
	4100: "ErrServiceReplication",
	4101: "ErrServiceReplicationServer",
	4102: "ErrServiceReplicationMissingEndpoint",
}

var ErrCode_value = map[string]int32{
	"Undefined":                                  0,
	"TODO":                                       666,
	"ErrNotImplemented":                          777,
	"ErrInternal":                                888,
	"ErrInvalidInput":                            100,
	"ErrInvalidRange":                            101,
	"ErrMissingInput":                            102,
	"ErrSerialization":                           103,
	"ErrDeserialization":                         104,
	"ErrStreamRead":                              105,
	"ErrStreamWrite":                             106,
	"ErrMissingMapKey":                           107,
	"ErrDBWrite":                                 108,
	"ErrDBRead":                                  109,
	"ErrCryptoRandomGeneration":                  200,
	"ErrCryptoKeyGeneration":                     201,
	"ErrCryptoNonceGeneration":                   202,
	"ErrCryptoSignature":                         203,
	"ErrCryptoSignatureVerification":             204,
	"ErrCryptoDecrypt":                           205,
	"ErrCryptoEncrypt":                           206,
	"ErrCryptoKeyConversion":                     207,
	"ErrOrbitDBInit":                             1000,
	"ErrOrbitDBOpen":                             1001,
	"ErrOrbitDBAppend":                           1002,
	"ErrOrbitDBDeserialization":                  1003,
	"ErrOrbitDBStoreCast":                        1004,
	"ErrHandshakeOwnEphemeralKeyGenSend":         1100,
	"ErrHandshakePeerEphemeralKeyRecv":           1101,
	"ErrHandshakeRequesterAuthenticateBoxKeyGen": 1102,
	"ErrHandshakeResponderAcceptBoxKeyGen":       1103,
	"ErrHandshakeRequesterHello":                 1104,
	"ErrHandshakeResponderHello":                 1105,
	"ErrHandshakeRequesterAuthenticate":          1106,
	"ErrHandshakeResponderAccept":                1107,
	"ErrHandshakeRequesterAcknowledge":           1108,
	"ErrContactRequestSameAccount":               1200,
	"ErrContactRequestContactAlreadyAdded":       1201,
	"ErrContactRequestContactBlocked":            1202,
	"ErrContactRequestContactUndefined":          1203,
	"ErrContactRequestIncomingAlreadyReceived":   1204,
	"ErrGroupMemberLogEventOpen":                 1300,
	"ErrGroupMemberLogEventSignature":            1301,
	"ErrGroupMemberUnknownGroupID":               1302,
	"ErrGroupSecretOtherDestMember":              1303,
	"ErrGroupSecretAlreadySentToMember":          1304,
	"ErrGroupInvalidType":                        1305,
	"ErrGroupMissing":                            1306,
	"ErrGroupActivate":                           1307,
	"ErrGroupDeactivate":                         1308,
	"ErrGroupInfo":                               1309,
	"ErrEventListMetadata":                       1400,
	"ErrEventListMessage":                        1401,
	"ErrMessageKeyPersistencePut":                1500,
	"ErrMessageKeyPersistenceGet":                1501,
	"ErrBridgeInterrupted":                       1600,
	"ErrBridgeNotRunning":                        1601,
	"ErrMessengerInvalidDeepLink":                2000,
	"ErrDBEntryAlreadyExists":                    2100,
	"ErrDBAddConversation":                       2101,
	"ErrDBAddContactRequestOutgoingSent":         2102,
	"ErrDBAddContactRequestOutgoingEnqueud":      2103,
	"ErrDBAddContactRequestIncomingReceived":     2104,
	"ErrDBAddContactRequestIncomingAccepted":     2105,
	"ErrDBAddGroupMemberDeviceAdded":             2106,
	"ErrDBMultipleRecords":                       2107,
	"ErrReplayProcessGroupMetadata":              2200,
	"ErrReplayProcessGroupMessage":               2201,
	"ErrCLINoTermcaps":                           3001,
	"ErrServicesAuth":                            4000,
	"ErrServicesAuthNotInitialized":              4001,
	"ErrServicesAuthWrongState":                  4002,
	"ErrServicesAuthInvalidResponse":             4003,
	"ErrServicesAuthServer":                      4004,
	"ErrServicesAuthCodeChallenge":               4005,
	"ErrServicesAuthServiceInvalidToken":         4006,
	"ErrServicesAuthServiceNotSupported":         4007,
	"ErrServicesAuthUnknownToken":                4008,
	"ErrServicesAuthInvalidURL":                  4009,
	"ErrServiceReplication":                      4100,
	"ErrServiceReplicationServer":                4101,
	"ErrServiceReplicationMissingEndpoint":       4102,
}

func (x ErrCode) String() string {
	return proto.EnumName(ErrCode_name, int32(x))
}

func (ErrCode) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_4240057316120df7, []int{0}
}

type ErrDetails struct {
	Codes                []ErrCode `protobuf:"varint,1,rep,packed,name=codes,proto3,enum=berty.errcode.ErrCode" json:"codes,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (m *ErrDetails) Reset()         { *m = ErrDetails{} }
func (m *ErrDetails) String() string { return proto.CompactTextString(m) }
func (*ErrDetails) ProtoMessage()    {}
func (*ErrDetails) Descriptor() ([]byte, []int) {
	return fileDescriptor_4240057316120df7, []int{0}
}

func (m *ErrDetails) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ErrDetails.Unmarshal(m, b)
}

func (m *ErrDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ErrDetails.Marshal(b, m, deterministic)
}

func (m *ErrDetails) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ErrDetails.Merge(m, src)
}

func (m *ErrDetails) XXX_Size() int {
	return xxx_messageInfo_ErrDetails.Size(m)
}

func (m *ErrDetails) XXX_DiscardUnknown() {
	xxx_messageInfo_ErrDetails.DiscardUnknown(m)
}

var xxx_messageInfo_ErrDetails proto.InternalMessageInfo

func (m *ErrDetails) GetCodes() []ErrCode {
	if m != nil {
		return m.Codes
	}
	return nil
}

func init() {
	proto.RegisterEnum("berty.errcode.ErrCode", ErrCode_name, ErrCode_value)
	proto.RegisterType((*ErrDetails)(nil), "berty.errcode.ErrDetails")
}

func init() { proto.RegisterFile("errcode.proto", fileDescriptor_4240057316120df7) }

var fileDescriptor_4240057316120df7 = []byte{
	// 1269 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x96, 0x49, 0x73, 0x1b, 0x45,
	0x14, 0xc7, 0xa3, 0x82, 0xc4, 0x52, 0x27, 0x4e, 0x9e, 0xdb, 0x8e, 0xb3, 0x47, 0x4e, 0x48, 0x42,
	0x08, 0x60, 0x57, 0xc1, 0x8d, 0x9b, 0x64, 0x4d, 0x25, 0xaa, 0xd8, 0x96, 0x4b, 0x72, 0x48, 0x15,
	0xb7, 0xf1, 0xf4, 0xf3, 0xa8, 0xd1, 0xa8, 0x7b, 0xd2, 0xd3, 0xa3, 0x44, 0x9c, 0x81, 0x2a, 0xee,
	0x2c, 0x49, 0x80, 0x2a, 0xf6, 0xe5, 0xc6, 0x12, 0x96, 0xc0, 0x05, 0x6e, 0x2c, 0x59, 0xcc, 0x72,
	0xa2, 0xe0, 0xc0, 0x8d, 0xed, 0x03, 0x84, 0x1b, 0xd5, 0x33, 0x2d, 0x6b, 0x64, 0x0b, 0xc3, 0x49,
	0xa3, 0xf7, 0x7e, 0xf3, 0xfa, 0xbd, 0x37, 0xaf, 0xff, 0xdd, 0x64, 0x14, 0x95, 0xf2, 0x24, 0xc3,
	0xe9, 0x50, 0x49, 0x2d, 0xe9, 0xe8, 0x32, 0x2a, 0xdd, 0x9d, 0xb6, 0xc6, 0xfd, 0x13, 0xbe, 0xf4,
	0x65, 0xe2, 0x99, 0x31, 0x4f, 0x29, 0x74, 0xf4, 0x11, 0x42, 0x1c, 0xa5, 0x2a, 0xa8, 0x5d, 0x1e,
	0x44, 0xf4, 0x01, 0xb2, 0xd5, 0xb0, 0xd1, 0xde, 0xdc, 0xd4, 0x5d, 0x27, 0x77, 0x3e, 0x34, 0x39,
	0x3d, 0x10, 0x62, 0xda, 0x51, 0x6a, 0x56, 0x32, 0xac, 0xa7, 0xd0, 0xa9, 0x9f, 0xc6, 0xc9, 0x88,
	0x35, 0xd1, 0x51, 0x52, 0x38, 0x27, 0x18, 0xae, 0x70, 0x81, 0x0c, 0xb6, 0xd0, 0x02, 0xb9, 0x7b,
	0xa9, 0x56, 0xa9, 0xc1, 0xd5, 0xad, 0x74, 0x92, 0x8c, 0x39, 0x4a, 0x2d, 0x48, 0x5d, 0x6d, 0x87,
	0x01, 0xb6, 0x51, 0x68, 0x64, 0xf0, 0xcc, 0x36, 0x0a, 0x64, 0xbb, 0xa3, 0x54, 0x55, 0x68, 0x54,
	0xc2, 0x0d, 0xe0, 0xce, 0x36, 0x3a, 0x4e, 0x76, 0x25, 0x96, 0x8e, 0x1b, 0x70, 0x56, 0x15, 0x61,
	0xac, 0x81, 0x0d, 0x1a, 0xeb, 0xae, 0xf0, 0x11, 0xd0, 0x1a, 0xe7, 0x79, 0x14, 0x71, 0xe1, 0xa7,
	0xe4, 0x0a, 0x9d, 0x20, 0xe0, 0x28, 0xd5, 0x40, 0xc5, 0xdd, 0x80, 0x3f, 0xe1, 0x6a, 0x2e, 0x05,
	0xf8, 0x74, 0x92, 0xd0, 0xa4, 0xc0, 0x68, 0xc0, 0xde, 0xa4, 0x63, 0x64, 0xd4, 0xd0, 0x5a, 0xa1,
	0xdb, 0xae, 0xa3, 0xcb, 0x80, 0x53, 0x4a, 0x76, 0xae, 0x99, 0xce, 0x2b, 0xae, 0x11, 0x1e, 0xb7,
	0x41, 0xed, 0x4a, 0xf3, 0x6e, 0x78, 0x16, 0xbb, 0xd0, 0xa2, 0x3b, 0xd3, 0xae, 0x95, 0x53, 0x2a,
	0x30, 0xd5, 0x27, 0xff, 0x93, 0x40, 0x6d, 0x7a, 0x98, 0xec, 0x33, 0x7d, 0x51, 0xdd, 0x50, 0xcb,
	0xba, 0x2b, 0x98, 0x6c, 0x9f, 0x46, 0x81, 0x2a, 0x5d, 0xfa, 0xab, 0x1c, 0x3d, 0x40, 0x26, 0xd7,
	0xfc, 0x67, 0xb1, 0x9b, 0x71, 0x7e, 0x9d, 0xa3, 0x87, 0xc8, 0xde, 0x35, 0xe7, 0x82, 0x14, 0x1e,
	0x66, 0xdc, 0xdf, 0xe4, 0xe8, 0x9e, 0xa4, 0x9e, 0xd4, 0xdd, 0xe0, 0xbe, 0x70, 0x75, 0xac, 0x10,
	0xbe, 0xcd, 0xd1, 0x7b, 0xc8, 0xe1, 0x8d, 0x8e, 0x47, 0x51, 0xf1, 0x15, 0xee, 0xa5, 0x6f, 0xdf,
	0xc8, 0xd1, 0xdd, 0x49, 0x39, 0x29, 0x54, 0x41, 0xcf, 0xfc, 0xc2, 0xcd, 0x41, 0xb3, 0x23, 0x52,
	0xf3, 0xad, 0x0d, 0x79, 0xce, 0x4a, 0xd1, 0x41, 0x15, 0x99, 0x50, 0xb7, 0x73, 0x74, 0x3c, 0xe9,
	0x56, 0x4d, 0x2d, 0x73, 0x5d, 0x29, 0x57, 0x05, 0xd7, 0xf0, 0xdb, 0xc8, 0xa0, 0xb1, 0x16, 0xa2,
	0x80, 0xdf, 0x47, 0x6c, 0x74, 0x6b, 0x2c, 0x85, 0x21, 0x0a, 0x06, 0x7f, 0x8c, 0xd8, 0x2e, 0x59,
	0xf3, 0xfa, 0x0f, 0xf4, 0xe7, 0x08, 0xdd, 0x4b, 0xc6, 0xfb, 0xfe, 0x86, 0x96, 0x0a, 0x67, 0xdd,
	0x48, 0xc3, 0x5f, 0x23, 0xf4, 0x5e, 0x72, 0xd4, 0x51, 0xea, 0x8c, 0x2b, 0x58, 0xd4, 0x74, 0x5b,
	0x58, 0xbb, 0x28, 0x9c, 0xb0, 0x89, 0x6d, 0x54, 0x6e, 0x90, 0xb6, 0xb3, 0x61, 0x96, 0xb8, 0x91,
	0xa7, 0xc7, 0xc9, 0x54, 0x16, 0x5c, 0x44, 0x54, 0x59, 0xb2, 0x8e, 0x5e, 0x07, 0x6e, 0xe6, 0xe9,
	0x0c, 0x39, 0x95, 0xc5, 0xea, 0x78, 0x21, 0xc6, 0x48, 0xa3, 0x2a, 0xc5, 0xba, 0x89, 0x42, 0x9b,
	0xfe, 0x61, 0x59, 0x5e, 0x4a, 0x63, 0xc3, 0xad, 0x3c, 0xbd, 0x8f, 0x1c, 0x1b, 0x7c, 0x21, 0x0a,
	0xa5, 0x60, 0xa8, 0x4a, 0x9e, 0x87, 0xa1, 0xee, 0xa3, 0xb7, 0xf3, 0xb4, 0x48, 0xf6, 0x0f, 0x8d,
	0x7d, 0x06, 0x83, 0x40, 0xc2, 0xea, 0x10, 0xc0, 0xc6, 0x4a, 0x81, 0xef, 0xf2, 0xf4, 0x04, 0x39,
	0xf2, 0x9f, 0xd9, 0xc1, 0xf7, 0x79, 0x3a, 0x45, 0x0e, 0x6c, 0x92, 0x14, 0xfc, 0xb0, 0xa1, 0x1d,
	0xfd, 0x48, 0x5e, 0x4b, 0xc8, 0x8b, 0x01, 0x32, 0x1f, 0xe1, 0xc7, 0x3c, 0x3d, 0x42, 0x0e, 0x26,
	0xdb, 0x5a, 0x68, 0xd7, 0xd3, 0x16, 0x6a, 0xb8, 0x6d, 0x2c, 0x79, 0x9e, 0x8c, 0x85, 0x86, 0xf7,
	0x0a, 0xb6, 0x01, 0x83, 0x88, 0xfd, 0x57, 0x0a, 0x14, 0xba, 0xac, 0x5b, 0x62, 0x0c, 0x19, 0xbc,
	0x5f, 0xa0, 0xc7, 0x48, 0xf1, 0xdf, 0xd0, 0x72, 0x20, 0xbd, 0x16, 0x32, 0xf8, 0xa0, 0x60, 0x8b,
	0x1c, 0x4a, 0xf5, 0x75, 0xe5, 0xc3, 0x02, 0x7d, 0x90, 0x9c, 0xdc, 0xc0, 0x55, 0x85, 0x27, 0xdb,
	0x5c, 0xf8, 0x76, 0xe5, 0x3a, 0x7a, 0xc8, 0x3b, 0xc8, 0xe0, 0x5a, 0xc1, 0x36, 0xf7, 0xb4, 0x92,
	0x71, 0x38, 0x8f, 0xed, 0x65, 0x54, 0x73, 0xd2, 0x77, 0x3a, 0x28, 0x74, 0x32, 0x9b, 0xcf, 0x12,
	0x9b, 0xdd, 0x10, 0xa0, 0xbf, 0xb7, 0x9e, 0x23, 0xb6, 0x23, 0x19, 0xea, 0x9c, 0x30, 0x1d, 0x13,
	0x89, 0xa5, 0x5a, 0x81, 0xe7, 0x09, 0x3d, 0x4a, 0x0e, 0xf5, 0x90, 0x06, 0x7a, 0x0a, 0x75, 0x4d,
	0x37, 0xd1, 0xe8, 0x8e, 0x4e, 0xdf, 0x80, 0x17, 0x88, 0x2d, 0x32, 0xc3, 0xd8, 0x8c, 0x1b, 0x28,
	0xf4, 0x92, 0xb4, 0xdc, 0x65, 0x62, 0x27, 0x3f, 0x0d, 0x9e, 0x0a, 0xdf, 0x52, 0x37, 0x44, 0xb8,
	0x42, 0xe8, 0x44, 0x22, 0x7c, 0x69, 0x22, 0xa9, 0x26, 0xc1, 0x55, 0x62, 0x37, 0x58, 0x62, 0x2d,
	0x79, 0x9a, 0x77, 0xcc, 0x40, 0xbc, 0x48, 0xac, 0x54, 0x24, 0xe6, 0x0a, 0xba, 0x3d, 0xc7, 0x4b,
	0x84, 0x8e, 0x91, 0x1d, 0xfd, 0xf8, 0x2b, 0x12, 0x5e, 0x26, 0x74, 0x1f, 0x99, 0x70, 0x94, 0x4a,
	0x2a, 0x9f, 0xe3, 0x26, 0x67, 0xed, 0x32, 0x57, 0xbb, 0x70, 0xa7, 0x97, 0x4d, 0xc6, 0x15, 0x45,
	0xae, 0x8f, 0xf0, 0x37, 0xb1, 0x13, 0x67, 0x0d, 0x67, 0xb1, 0xbb, 0x68, 0xd4, 0x21, 0xd2, 0x28,
	0x3c, 0x5c, 0x8c, 0x35, 0xfc, 0xbc, 0x7d, 0x33, 0xe2, 0x34, 0x6a, 0xf8, 0x65, 0xbb, 0x5d, 0xb8,
	0xac, 0x38, 0xf3, 0x31, 0x39, 0x0c, 0x54, 0x1c, 0x9a, 0x13, 0xe2, 0x8b, 0x1d, 0x76, 0xe1, 0xd4,
	0xb5, 0x20, 0x75, 0x3d, 0x16, 0xc2, 0x14, 0xfc, 0xe5, 0x8e, 0x4c, 0x58, 0x14, 0x3e, 0xf6, 0x4e,
	0x87, 0x0a, 0x62, 0x38, 0xc7, 0x45, 0x0b, 0x56, 0x77, 0xd1, 0x83, 0x64, 0x4f, 0xa2, 0xc8, 0x8e,
	0xd0, 0xaa, 0x6b, 0xdb, 0xec, 0x5c, 0xe2, 0x91, 0x8e, 0xe0, 0x1a, 0xd8, 0x45, 0x2b, 0xe5, 0x12,
	0x63, 0x56, 0xd4, 0x52, 0xd5, 0xf9, 0x08, 0xac, 0xb6, 0xf4, 0x5c, 0x99, 0x29, 0xab, 0xc5, 0xda,
	0x97, 0x5c, 0xf8, 0xe6, 0x63, 0xc1, 0xc7, 0x40, 0x4f, 0x91, 0xe3, 0x9b, 0x83, 0x8e, 0xb8, 0x10,
	0x63, 0xcc, 0xe0, 0x13, 0xa0, 0xf7, 0x93, 0x13, 0xc3, 0xd9, 0xde, 0xe8, 0xae, 0xcd, 0xec, 0xa7,
	0xff, 0x03, 0x4e, 0x37, 0x34, 0x32, 0xb8, 0x0e, 0x56, 0xf5, 0x13, 0x38, 0x33, 0x9e, 0x15, 0xec,
	0x70, 0x0f, 0xd3, 0x2d, 0xf8, 0x59, 0xbf, 0xdc, 0xf9, 0x38, 0xd0, 0x3c, 0x0c, 0xb0, 0x8e, 0x9e,
	0x54, 0x2c, 0x82, 0xcf, 0xc1, 0x8e, 0x6d, 0x1d, 0xc3, 0xc0, 0xed, 0x2e, 0x2a, 0xe9, 0x61, 0x14,
	0xd9, 0x38, 0x76, 0x00, 0x2e, 0x8f, 0xd9, 0xe9, 0x1f, 0xc6, 0xa4, 0x93, 0x70, 0x65, 0xac, 0x77,
	0x80, 0xcc, 0x55, 0x17, 0xe4, 0x12, 0xaa, 0xb6, 0xe7, 0x86, 0x11, 0x5c, 0xdf, 0x63, 0xc7, 0xb5,
	0x81, 0xca, 0xa4, 0x13, 0x19, 0xc1, 0x82, 0x57, 0x8a, 0x76, 0xcd, 0xac, 0xd5, 0xdc, 0x0e, 0x04,
	0xd7, 0x89, 0xfe, 0x23, 0x83, 0x57, 0x8b, 0xf6, 0x70, 0xc8, 0x32, 0xe7, 0x95, 0x14, 0x7e, 0x43,
	0x9b, 0x11, 0x7e, 0xad, 0x68, 0xeb, 0xce, 0xfa, 0x7b, 0x57, 0x84, 0x44, 0xf6, 0x22, 0x84, 0xd7,
	0x8b, 0x74, 0x3f, 0xd9, 0xbd, 0x0e, 0x32, 0xcf, 0xa8, 0xe0, 0x8d, 0xa2, 0x2d, 0x2a, 0xeb, 0x33,
	0xf7, 0x98, 0xd9, 0xa6, 0x1b, 0x04, 0x66, 0xa6, 0xe0, 0xcd, 0xa2, 0x1d, 0x85, 0xf5, 0xaf, 0x73,
	0x0f, 0x7b, 0x9b, 0x52, 0xb6, 0x50, 0xc0, 0x5b, 0x9b, 0x80, 0x0b, 0x52, 0x37, 0xe2, 0x30, 0x94,
	0xca, 0x7c, 0xad, 0xb7, 0x8b, 0x76, 0x6e, 0xb3, 0xa0, 0x15, 0x92, 0x34, 0xd4, 0x3b, 0xc3, 0xea,
	0xb6, 0x8b, 0x9d, 0xab, 0xcf, 0xc1, 0xbb, 0xeb, 0x4a, 0x32, 0x9f, 0xa4, 0x77, 0xb8, 0x3f, 0x39,
	0x35, 0x18, 0x3d, 0xe3, 0xb3, 0x45, 0x3f, 0x35, 0x65, 0x65, 0x7b, 0x23, 0x61, 0xb5, 0xc4, 0x11,
	0x2c, 0x94, 0x5c, 0x68, 0x78, 0x7a, 0xaa, 0x7c, 0x7c, 0xf5, 0xd7, 0xc3, 0x5b, 0x1e, 0x2b, 0xa6,
	0x17, 0x40, 0x8d, 0x5e, 0x73, 0x26, 0x79, 0x9c, 0xf1, 0xe5, 0x4c, 0xd8, 0xf2, 0x67, 0xec, 0x95,
	0x70, 0x79, 0x5b, 0x72, 0x8d, 0x7c, 0xf8, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x92, 0x75, 0xaa,
	0xd9, 0x7c, 0x0a, 0x00, 0x00,
}

repository: amasser/berty

repo_name: amasser/berty


text:
//go:build (all || data_sources || data_serviceendpoint_sonarcloud) && (!exclude_data_sources || !exclude_data_serviceendpoint_sonarcloud)
// +build all data_sources data_serviceendpoint_sonarcloud
// +build !exclude_data_sources !exclude_data_serviceendpoint_sonarcloud

package acceptancetests

import (
	"fmt"
	"testing"

	"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
	"github.com/microsoft/terraform-provider-azuredevops/azuredevops/internal/acceptancetests/testutils"
)

func TestAccServiceEndpointSonarCloud_dataSource(t *testing.T) {
	name := testutils.GenerateResourceName()

	tfNode := "data.azuredevops_serviceendpoint_sonarcloud.test"
	resource.ParallelTest(t, resource.TestCase{
		PreCheck:  func() { testutils.PreCheck(t, nil) },
		Providers: testutils.GetProviders(),
		Steps: []resource.TestStep{
			{
				Config: hclServiceEndpointSonarCloudDataSource(name),
				Check: resource.ComposeTestCheckFunc(
					resource.TestCheckResourceAttr(tfNode, "service_endpoint_name", name),
					resource.TestCheckResourceAttrSet(tfNode, "service_endpoint_name"),
				),
			},
		},
	})
}

func hclServiceEndpointSonarCloudDataSource(name string) string {
	return fmt.Sprintf(`
resource "azuredevops_project" "test" {
  name               = "%[1]s"
  visibility         = "private"
  version_control    = "Git"
  work_item_template = "Agile"
}

resource "azuredevops_serviceendpoint_sonarcloud" "test" {
  project_id            = azuredevops_project.test.id
  service_endpoint_name = "%[1]s"
  token                 = "0000000000000000000000000000000000000000"
  description           = "Managed by Terraform"
}

data "azuredevops_serviceendpoint_sonarcloud" "test" {
  project_id            = azuredevops_project.test.id
  service_endpoint_name = azuredevops_serviceendpoint_sonarcloud.test.service_endpoint_name
}
`, name)
}

gha_language: Go


text:
include(vcpkg_common_functions)

vcpkg_download_distfile(ARCHIVE
    URLS "http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz"
    FILENAME "lzo-2.10.tar.gz"
    SHA512 a3dae5e4a6b93b1f5bf7435e8ab114a9be57252e9efc5dd444947d7a2d031b0819f34bcaeb35f60b5629a01b1238d738735a64db8f672be9690d3c80094511a4
)

vcpkg_extract_source_archive_ex(
    OUT_SOURCE_PATH SOURCE_PATH
    ARCHIVE ${ARCHIVE}
)

set(LZO_STATIC OFF)
set(LZO_SHARED OFF)
if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
    set(LZO_STATIC ON)
else()
    set(LZO_SHARED ON)
endif()

vcpkg_configure_cmake(
    SOURCE_PATH ${SOURCE_PATH}
    PREFER_NINJA
    OPTIONS
        -DENABLE_STATIC=${LZO_STATIC}
        -DENABLE_SHARED=${LZO_SHARED}
)

vcpkg_install_cmake()
vcpkg_copy_pdbs()

file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/doc)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/libexec)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/libexec)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)

if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
    file(READ ${CURRENT_PACKAGES_DIR}/include/lzo/lzoconf.h LZO_CONFIG)
    string(REPLACE "#  define __LZO_EXPORT1         /*empty*/"
                   "#  define __LZO_EXPORT1         __declspec(dllimport)" LZO_CONFIG "${LZO_CONFIG}")
    file(WRITE ${CURRENT_PACKAGES_DIR}/include/lzo/lzoconf.h "${LZO_CONFIG}")
endif()

file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

repository: JackBoos/vcpkg

repo_name: JackBoos/vcpkg


text:
package util

import (
	"fmt"
	"strings"
	"time"
	"unicode"

	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

// EncodeKubernetesName takes a string and turns it into a form suitable for use as a Kubernetes name.
// Note there is no decode functionality provided atm (and things like escaping escape codes aren't handled), so
// round-tripping is not possible yet.
// K8S names are lower case, numbers, '-', and '.'. Invalid characters are percent-encoded in a _similar_ way to URL
// encoding, with a period ('.') followed by the numerical character code. Conversion is:
//   Upper case letters -> lower case.
//   'a-z', '0-9', '-', '.' -> left as-is.
//   Any other characters: percent-encoded ('.' + rune hex code).
func EncodeKubernetesName(name string) string {
	encodedName := strings.Builder{}

	for _, ch := range name {
		if ch >= 'a' && ch <= 'z' || ch >= '0' && ch <= '9' || ch == '-' || ch == '.' {
			//allowed in name.
			encodedName.WriteRune(ch)
		} else if ch >= 'A' && ch <= 'Z' {
			//Apply toLower encoding.
			encodedName.WriteString(fmt.Sprintf(".%c", unicode.ToLower(ch)))
		} else {
			//Apply character-code encoding.
			encodedName.WriteString(fmt.Sprintf(".%X", int(ch)))
		}
	}
	return encodedName.String()
}

// DurationString returns the duration between start and end time as string
func DurationString(start *metav1.Time, end *metav1.Time) string {
	if start == nil || end == nil {
		return ""
	}
	return end.Sub(start.Time).Round(time.Second).String()
}


text:
SUMMARY = "initramfs-framework module for configuring dm-verity"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
RDEPENDS:${PN} = "libdevmapper"

PR = "r0"

inherit allarch

SRC_URI = "file://verity"

S = "${WORKDIR}"

do_install() {
    install -d ${D}/init.d
    install -m 0755 ${WORKDIR}/verity ${D}/init.d/05-verity
}

FILES:${PN} = "/init.d/05-verity"

repository: jluebbe/meta-code-signing

repo_name: jluebbe/meta-code-signing


text:
package models

import dbModels "github.com/txya900619/BahamutAnimeDL-GUI/database/models"

type AnimeInfo struct {
	Title string `json:"title"`
	Img   string `json:"img"`
}
type NewAnime struct {
	AnimeInfo
	Sn string `json:"sn"`
}
type Anime struct {
	AnimeInfo
	Ref string `json:"ref"`
}
type Sn struct {
	Sn          string `json:"sn"`
	Number      string `json:"number"`
	CanDownload bool   `json:"canDownload"`
}

type QueueStatus struct {
	Queue             []dbModels.DownloadQueue `json:"queue"`
	DownloadingStatus []int                    `json:"downloading_status"`
}


text:
// Package sdl implements an audio engine using libSDL2.
package sdl

import "github.com/veandco/go-sdl2/mix"

// Engine is the SDL2 audio engine.
type Engine struct {
	initFlags int
}

// New initializes an SDL2 Mixer for the audio engine.
//
// Pass the SDL2 Mixer flags for its initialization. The flags are an OR'd
// value made up of:
//    mix.INIT_MP3
//    mix.INIT_OGG
//    mix.INIT_FLAC
//    mix.INIT_MOD
func New(flags int) (*Engine, error) {
	return &Engine{
		initFlags: flags,
	}, nil
}

// Setup initializes SDL2 Mixer.
func (e *Engine) Setup() error {
	// Initialize SDL2 mixer.
	if err := mix.Init(e.initFlags); err != nil {
		return err
	}

	// Open the audio mixer.
	// the '2' is stereo (two channels), '1' would be mono.
	// 4096 is the chunk size.
	// https://www.libsdl.org/projects/SDL_mixer/docs/SDL_mixer_11.html
	return mix.OpenAudio(mix.DEFAULT_FREQUENCY, mix.DEFAULT_FORMAT, 2, 4096)
}

// Playing returns if either music or sounds are currently playing.
func (e *Engine) Playing() bool {
	if mix.PlayingMusic() {
		return true
	}
	return mix.Playing(-1) > 0
}

// PlayingMusic returns if music is currently playing.
func (e *Engine) PlayingMusic() bool {
	return mix.PlayingMusic()
}

// PlayingSound returns if sounds are playing.
func (e *Engine) PlayingSound() bool {
	return mix.Playing(-1) > 0
}

// StopAll stops all music and sounds.
func (e *Engine) StopAll() {
	e.StopMusic()
	e.StopSounds()
}

// StopMusic stops all music.
func (e *Engine) StopMusic() {
	mix.HaltMusic()
}

// StopSounds stops all sounds.
func (e *Engine) StopSounds() {
	mix.HaltChannel(-1)
}

// Teardown closes the SDL mixer.
func (e *Engine) Teardown() error {
	mix.CloseAudio()
	mix.Quit()
	return nil
}

repository: kirsle/audio

repo_name: kirsle/audio


text:
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.

package kinesisanalyticsv2

import (
	"context"
	"fmt"

	"github.com/aws/aws-sdk-go-v2/aws"
	"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)

type UpdateApplicationInput struct {
	_ struct{} `type:"structure"`

	// Describes application configuration updates.
	ApplicationConfigurationUpdate *ApplicationConfigurationUpdate `type:"structure"`

	// The name of the application to update.
	//
	// ApplicationName is a required field
	ApplicationName *string `min:"1" type:"string" required:"true"`

	// Describes application Amazon CloudWatch logging option updates. You can only
	// update existing CloudWatch logging options with this action. To add a new
	// CloudWatch logging option, use AddApplicationCloudWatchLoggingOption.
	CloudWatchLoggingOptionUpdates []CloudWatchLoggingOptionUpdate `type:"list"`

	// The current application version ID. You can retrieve the application version
	// ID using DescribeApplication.
	//
	// CurrentApplicationVersionId is a required field
	CurrentApplicationVersionId *int64 `min:"1" type:"long" required:"true"`

	// Describes updates to the application's starting parameters.
	RunConfigurationUpdate *RunConfigurationUpdate `type:"structure"`

	// Describes updates to the service execution role.
	ServiceExecutionRoleUpdate *string `min:"1" type:"string"`
}

// String returns the string representation
func (s UpdateApplicationInput) String() string {
	return awsutil.Prettify(s)
}

// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateApplicationInput) Validate() error {
	invalidParams := aws.ErrInvalidParams{Context: "UpdateApplicationInput"}

	if s.ApplicationName == nil {
		invalidParams.Add(aws.NewErrParamRequired("ApplicationName"))
	}
	if s.ApplicationName != nil && len(*s.ApplicationName) < 1 {
		invalidParams.Add(aws.NewErrParamMinLen("ApplicationName", 1))
	}

	if s.CurrentApplicationVersionId == nil {
		invalidParams.Add(aws.NewErrParamRequired("CurrentApplicationVersionId"))
	}
	if s.CurrentApplicationVersionId != nil && *s.CurrentApplicationVersionId < 1 {
		invalidParams.Add(aws.NewErrParamMinValue("CurrentApplicationVersionId", 1))
	}
	if s.ServiceExecutionRoleUpdate != nil && len(*s.ServiceExecutionRoleUpdate) < 1 {
		invalidParams.Add(aws.NewErrParamMinLen("ServiceExecutionRoleUpdate", 1))
	}
	if s.ApplicationConfigurationUpdate != nil {
		if err := s.ApplicationConfigurationUpdate.Validate(); err != nil {
			invalidParams.AddNested("ApplicationConfigurationUpdate", err.(aws.ErrInvalidParams))
		}
	}
	if s.CloudWatchLoggingOptionUpdates != nil {
		for i, v := range s.CloudWatchLoggingOptionUpdates {
			if err := v.Validate(); err != nil {
				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CloudWatchLoggingOptionUpdates", i), err.(aws.ErrInvalidParams))
			}
		}
	}
	if s.RunConfigurationUpdate != nil {
		if err := s.RunConfigurationUpdate.Validate(); err != nil {
			invalidParams.AddNested("RunConfigurationUpdate", err.(aws.ErrInvalidParams))
		}
	}

	if invalidParams.Len() > 0 {
		return invalidParams
	}
	return nil
}

type UpdateApplicationOutput struct {
	_ struct{} `type:"structure"`

	// Describes application updates.
	//
	// ApplicationDetail is a required field
	ApplicationDetail *ApplicationDetail `type:"structure" required:"true"`
}

// String returns the string representation
func (s UpdateApplicationOutput) String() string {
	return awsutil.Prettify(s)
}

const opUpdateApplication = "UpdateApplication"

// UpdateApplicationRequest returns a request value for making API operation for
// Amazon Kinesis Analytics.
//
// Updates an existing Amazon Kinesis Data Analytics application. Using this
// operation, you can update application code, input configuration, and output
// configuration.
//
// Kinesis Data Analytics updates the ApplicationVersionId each time you update
// your application.
//
//    // Example sending a request using UpdateApplicationRequest.
//    req := client.UpdateApplicationRequest(params)
//    resp, err := req.Send(context.TODO())
//    if err == nil {
//        fmt.Println(resp)
//    }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/kinesisanalyticsv2-2018-05-23/UpdateApplication
func (c *Client) UpdateApplicationRequest(input *UpdateApplicationInput) UpdateApplicationRequest {
	op := &aws.Operation{
		Name:       opUpdateApplication,
		HTTPMethod: "POST",
		HTTPPath:   "/",
	}

	if input == nil {
		input = &UpdateApplicationInput{}
	}

	req := c.newRequest(op, input, &UpdateApplicationOutput{})

	return UpdateApplicationRequest{Request: req, Input: input, Copy: c.UpdateApplicationRequest}
}

// UpdateApplicationRequest is the request type for the
// UpdateApplication API operation.
type UpdateApplicationRequest struct {
	*aws.Request
	Input *UpdateApplicationInput
	Copy  func(*UpdateApplicationInput) UpdateApplicationRequest
}

// Send marshals and sends the UpdateApplication API request.
func (r UpdateApplicationRequest) Send(ctx context.Context) (*UpdateApplicationResponse, error) {
	r.Request.SetContext(ctx)
	err := r.Request.Send()
	if err != nil {
		return nil, err
	}

	resp := &UpdateApplicationResponse{
		UpdateApplicationOutput: r.Request.Data.(*UpdateApplicationOutput),
		response:                &aws.Response{Request: r.Request},
	}

	return resp, nil
}

// UpdateApplicationResponse is the response type for the
// UpdateApplication API operation.
type UpdateApplicationResponse struct {
	*UpdateApplicationOutput

	response *aws.Response
}

// SDKResponseMetdata returns the response metadata for the
// UpdateApplication request.
func (r *UpdateApplicationResponse) SDKResponseMetdata() *aws.Response {
	return r.response
}