• +598 29008192
  • info@servinfo.com.uy

Archivo del Autor: Belen De Leon

HashiCorp scores $100M investment on $1.9 billion valuation

HashiCorp, the company that has made hay developing open source tools for managing cloud infrastructure, obviously has a pretty hefty commercial business going too. Today the company announced an enormous $100 million round on a Unicorn valuation of $1.9 billion.

The round was led by IVP, whose investments include AppDynamics, Slack and Snap. New comer Bessemer Venture Partners joined existing investors GGV Capital, Mayfield, Redpoint Ventures, and True Ventures in the round. Today’s investment brings the total raised to $179 million.

The company’s open source tools have been downloaded 45 million times, according to data provided by the company. It has used that open source base to fuel the business (as many have done before).

“Because practitioners choose technologies in the cloud era, we’ve taken an open source-first approach and partnered with the cloud providers to enable a common workflow for cloud adoption. Commercially, we view our responsibility as a strategic partner to the Global 2000 as they adopt hybrid and multi-cloud. This round of funding will help us accelerate our efforts,” company CEO Dave McJannet said in a statement.

To keep growing, it needs to build out its worldwide operations and that requires big bucks. In addition, as the company scales that means adding staff to beef up customer success, support and training teams. The company plans on making investments in these areas with the new funding.

HashiCorp launched in 2012. It was the brainchild of two college students, Mitchell Hashimoto and Armon Dadgar, who came up with the idea of what would become HashiCorp while they were still at the University of Washington. As I wrote in 2014 on the occasion of their $10 million Series A round:

“After graduating and getting jobs, Hashimoto and Dadgar reunited in 2012 and launched HashiCorp . They decided to break their big problem down into smaller, more manageable pieces and eventually built the five open source tools currently on offer. In fact, they found as they developed each one, the community let them know about adjacent problems and they layered on each new tool to address a different need.”

HashiCorp has continued to build on that early vision, layering on new tools over the years. It is not alone in building a business on top of open source and getting rewarded for their efforts. Just this morning, Neo4j, a company that built a business on top of its open source graph database project announced an $80 million Series E investment.


Source: TechCrunch

Apple, Google among dozens slamming discrimination against transgender people – CNET

More than 50 companies sign letter calling for equality after reports Trump plans to roll back protections.
Source: CNET

Google employees across the globe are walking out now to protest sexual harassment

Google employees are fed up with the search giant’s lack of transparency when it comes to handling sexual harassment and misconduct allegations.

This morning, thousands of Googlers from San Francisco to Dublin are walking out in hopes of bringing real change to the company. The protest follows a New York Times report last week that revealed Google had provided Android co-creator Andy Rubin a $90 million payout package despite credible allegations of sexual misconduct made against him.

The protestors have five key asks:

  1. An end to forced arbitration in cases of harassment and discrimination.
  2. A commitment to end pay and opportunity inequity.
  3. A publicly disclosed sexual harassment transparency report.
  4. A clear, uniform, globally inclusive process for reporting sexual misconduct safely and anonymously.
  5. Elevate the chief diversity officer to answer directly to the chief executive officer and make recommendations directly to the board of directors. And appoint an employee representative to the board.

Plans of the walkout emerged earlier this week, just days after the bombshell NYT report was released. According to BuzzFeed, some 200 Googlers began staging the protest; the group quickly grew to thousands, including non-U.S. Googlers. Google CEO Sundar Pichai had reportedly condoned the protest in an internal e-mail to employees Tuesday.

“Earlier this week, we let Googlers know that we are aware of the activities planned for today and that employees will have the support they need if they wish to participate,” Pichai said in a statement provided to TechCrunch today. “Employees have raised constructive ideas for how we can improve our policies and our processes going forward. We are taking in all their feedback so we can turn these ideas into action.”

Pichai also responded to the NYT report with a letter co-signed by vice president of people operations Eileen Naughton, admitting that 48 people had been terminated at the company for sexual harassment in the past two years alone, including 13 senior employees.

We’ll be at the San Francisco protest, which begins at 11:10 a.m. PST. Here’s a look at protestors around the globe this morning.


Source: TechCrunch

Flickr imposes 1,000-photo limit for free accounts – CNET

SmugMug ends Yahoo’s old policy of a terabyte of free storage and its advertising-focused business.
Source: CNET

Netflix changes its release model, with exclusive theatrical runs for ‘Roma’ and others

Netflix is finally changing its long-held policy around the theatrical release of its original films.

In the past, the streaming service has been willing to release its films in theaters, but it refused to grant those theaters an exclusive release window, which meant that few of them were interested. That, in turn, may have hurt filmmakers’ chances when it came to getting nominated for major awards. (It also prompted the Cannes Film Festival to create a new rule that effectively blocks Netflix films from competing.)

It’s hard to know for certain whether (say) “Beasts of No Nation” or “Okja” or “The Meyerowitz Stories” would have won more awards of they’d made it into more theaters, but it’s worth noting that Amazon does release its films with an exclusive theatrical window, and that’s paid off in some major Oscar wins and a couple of genuine indie hits.

This year, Netflix might have its strongest Oscar contenders yet, particularly with “Roma,” the new film from Alfonso Cuarón, who won an Oscar for directing “Gravity.” The early reviews for “Roma” suggest that a) it may be the best movie of the year, and b) it really should be seen on the big screen.

So the service announced yesterday that “Roma,” along with “The Ballad of Buster Scruggs” (directed by the Coen Brothers) and “Bird Box” (directed by Susanne Bier and starring Sandra Bullock), will get exclusive theatrical runs.

Deadline has more details: Basically, each film will roll out in select theaters in major markets a few weeks before their release on Netflix. “Roma,” for example, will open in New York, Los Angeles and Mexico on November 21, with additional engagements starting on November 29, ahead of a Netflix release on December 14.

So we’re not talking about a Marvel- or Star Wars-scale release here, and the theatrical windows are still much shorter than those offered by Amazon or a traditional studio film. Still, it’s a big change for a service whose executives were dismissing the theatrical model just a few months ago as one that “feels more and more disconnected with the population.”


Source: TechCrunch

Flickr revamps under SmugMug with new limits on free accounts, unlimited storage for Pros

Flickr is making some big changes, following its acquisition by SmugMug earlier this year. The company announced this week it’s addressing a series of issues on the site, including spam, customer support, and use of the Yahoo login, for example. But more notably, it’s also revamping its account structure to impose increased limits for free users, while rolling out unlimited storage for Pro subscribers.

Back in 2013, Flickr introduced a full terabyte of free storage for members – a move it hoped would bring more users to its service. But in the years since, consumers have shifted to services like Apple’s iCloud and Google Photos, which are integrated with iPhones and Android smartphones, as a way to backup their photos.

The free storage attracted the wrong kind of user to Flickr, says Andrew Stadlen, VP of Product at Flickr, in an announcement explaining the move.

“In 2013, Yahoo lost sight of what makes Flickr truly special and responded to a changing landscape in online photo sharing by giving every Flickr user a staggering terabyte of free storage. This, and numerous related changes to the Flickr product during that time, had strongly negative consequences,” Stadlen writes.

“First, and most crucially, the free terabyte largely attracted members who were drawn by the free storage, not by engagement with other lovers of photography. This caused a significant tonal shift in our platform, away from the community interaction and exploration of shared interests that makes Flickr the best shared home for photographers in the world,” he adds.

In other words, the company doesn’t want to be an online shoebox any more – it wants to return to being a real photo community.

The other issue Flickr’s new team has with the “free storage” giveaway is that it meant the Yahoo-owned Flickr was beholden to advertisers. Shifting to a subscription model allows Flickr’s new owners, SmugMug, to focus on building features for members, not advertisers.

Stadlen also says that giving away storage devalued Flickr in users’ eyes – they no longer saw it as product worth paying for.

Flickr now aims to change that by revamping who Flickr is for. It’s reducing free storage to 1,000 photos – a limit it came up with based on observations of how free and Pro members were already using the site. The vast majority of free users have fewer than 1,000 photos uploaded, so won’t be impacted, the company claims.

Pro members can now choose to upgrade to a paid plan for $5.99 per month, or they can save 30% and pay $50 per year, when they opt for annual billing.

The Pro membership includes unlimited photo storage, an ad-free experience, advanced statistics, automatic backup through Auto-Uploader, and discounts from Adobe, Blurb, SmugMug, and Priime.

Alongside the news of the account changes, the company announced product changes to the site itself. Flickr is rolling out support for photo resolutions up the 5K (5120 x 5120) – that’s 26 Megapixels, or up to 6X larger than Flickr’s current 4 Megapixel maximum, notes Don MacAskill, Co-Founder and CEO at SmugMug.

He says Flickr will also offer full support for embedded color profiles across all modern browsers, devices, and displays; and will introduce improvements to the photo ingestion process for faster uploads with fewer errors.

Customer support is getting a revamp, too, with a dozen experts who will respond to members’ issues, an expanded self-help section, and a new Trust & Safety department.

The company says it’s now partnered with Sift to help fight spam, and with cybersecurity firm HackerOne to continually test its defense systems. The latter is particular helpful given the stain Flickr has on its name by being associated with Yahoo, whose data breaches impacted billions.

The new Flickr will also dump the Yahoo Login, with a new login rolled out to the site in early 2019 that will allow users to sign up with any email address, not just a Yahoo account.

The changes go to address a number of complaints users – especially pro photographers – had with Flickr during its Yahoo years. The challenge, however, is to win back the disgruntled customers, and get them to pay for storage and features.

MacAskill believes SmugMug will be able to do so, by listening and working with Flickr’s community.

“We bought Flickr because it’s the largest photographer-focused community in the world. I’ve been a fan for 14 years. There’s nothing else like it. It’s the best place to explore, discover, and connect with amazing photographers and their beautiful photography,” he says. “Flickr is a priceless Internet treasure for everyone and we’re so excited to be investing in its future. Together, hand-in-hand with the the most amazing community on the planet, we can shape the future of photography.”

(Disclosure: Yahoo merged with AOL to become Oath, which also owns TechCrunch. Flickr is no longer owned by Yahoo or Oath as SmugMug bought it in April, 2018.) 


Source: TechCrunch

Rockset launches out of stealth with $21.5 M investment

Rockset, a startup that came out of stealth today, announced $21.5M in previous funding and the launch of its new data platform that is designed to simplify much of the processing to get to querying and application building faster.

As for the funding, it includes $3 million in seed money they got when they started the company, and a more recent $18.5 million Series A, which was led by Sequoia and Greylock.

Jerry Chen, who is a partner at Greylock sees a team that understands the needs of modern developers and data scientists, one that was born in the cloud and can handle a lot of the activities that data scientists have traditionally had to handle manually. “Rockset can ingest any data from anywhere and let developers and data scientists query it using standard SQL. No pipelines. No glue. Just real time operational apps,” he said.

Company co-founder and CEO Venkat Venkataramani is a former Facebook engineer where he learned a bit about processing data at scale. He wanted to start a company that would help data scientists get to insights more quickly.

Data typically requires a lot of massaging before data scientists and developers can make use of it and Rockset has been designed to bypass much of that hard work that can take days, weeks or even months to complete.

“We’re building out our service with innovative architecture and unique capabilities that allows full-featured fast SQL directly on raw data. And we’re offering this as a service. So developers and data scientists can go from useful data in any shape, any form to useful applications in a matter of minutes. And it would take months today,” Venkataramani explained.

To do this you simply connect your data set wherever it lives to your AWS account and Rockset deals with the data ingestion, building the schema, cleaning the data, everything. It also makes sure you have the right amount of infrastructure to manage the level of data you are working with. In other words, it can potentially simplify highly complex data processing tasks to start working with the raw data almost immediately using SQL queries.

To achieve the speed, Venkataramani says they use a number of indexing techniques. “Our indexing technology essentially tries to bring the best of search engines and columnar databases into one. When we index the data, we build more than one type of index behind the scenes so that a wide spectrum of pre-processing can be automatically fast out of the box,” he said. That takes the burden of processing and building data pipelines off of the user.

The company was founded in 2016. Chen and Sequoia partners Mike Vernal joined the Rockset board under the terms of the Series A funding, which closed last August.


Source: TechCrunch

It's Now Easier to Use Uber Eats on Your Company’s Dime

Integrating Uber Eats into Uber for Business locks ever more customers into the ride-hailing’s ecosystem in advance of an IPO.
Source: Wired

The Privacy Battle to Save Google From Itself

Interviews with over a dozen current and former Google employees highlight a commitment to privacy—and the inherent tensions that creates.
Source: Wired

LG V40 ThinQ Review: The Five-Camera Phone

LG’s latest flagship phone has a camera for every finger on your hand.
Source: Wired

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499