okay so the pitch your project or the pitch your designer input session starts now if you have an open source project that you need or would like some design input to so if you're looking for logo design visual design interface design usability testing understanding what your users think of your software understanding what your users need from your software then you can come up and give a brief introduction of what the project is what you're looking for and if you're not really sure what you're looking for we can kind of discuss it and maybe there'll be somebody in the room that can put their hand and say yes I know about that I want to help if not we can post that on the jobs board on the open source design jobs board which is free don't worry there's no charge or anything that will be then publicized to designers it will go on Twitter and other places like that and then what happens is people get involved and say yes I'd like to help with this and then you go off and you make things happen if you're a designer a user a user-centered designer you can say okay hi I'm Bernard I'm a user-centered designer I know about user research and interaction design I'm interested in security and privacy projects I'm happy to work on this this this if you're a project in the audience and you say we need some of that you can put your hand up and then we get together and work out what it is we can do does that sound straightforward enough yeah you certainly can if it'll fit in about two-ish minutes or if you yes indeed indeed okay two excellent maybe three even better four wow any advances on four okay so yeah I mean we'll we'll go for kind of four five minutes we've got we've got until about five to seven when we have to vacate the room so if you want to get your yes you fath around that's what I don't know okay yeah yeah yeah sure yeah yeah you can use mine yes let's see if it works if it's a web thing you can use my laptop yeah I do have it on the web as well if you want to put that on your is it working I'm not seeing anything this is okay I'm looking at is it no working either okay boss maybe while we're doing this someone else could already pitch yes does anybody have you need a computer you don't there we go okay so if you're in the start if you give this gentleman the microphone yeah before for the recording so let's start the chrono so I speak in the face of this piece okay oh yes okay hello my name is Boris it's my first time in English in public so I'm sorry I just learned it as cool in France so in France we don't speak really well English sorry I work in an electric company in France which is a TSO so it's a transmission system operator so it's power lines and substation and we work with the Linux Foundation on a project it's a social welfare project in order to increase the way we digitalize the network so it's about energy transition and I'm responsible of the project the name of the project is operator fabric what it is about simple it's a GUI and you have here a feed of cards and here you have the detail when you click on the card it's like what's up but here it's or Google I don't remember the Google solution but it's little cards and you have warnings and when you click on it you're responsible for the energy so you have to do something for example cut the electricity it's a stupid example but for example cut the electricity and then you click and then you switch off the electricity it can be more complex but it's about the workflow of cards you're responsible for this card so okay I do that and then I send to another one today how it works it's phone calls between operators the objective is to make this kind of a GUI and we didn't design it so it's only my own feelings about it so I would like to have maybe a UX designer someone can help to design this kind of things correctly what was it clear I will ask the staff if it's possible to make a lightning a lightning speech I won't be the speaker in 2020 about that and it's more about electricity and open source because we have a lot of things we we are open sourcing a lot of R&D in my company 30 years of R&D so we are open sourcing slowly things after things so it's about calculation on the network seems like that yes GIS maintenance you know predictive maintenance AI because when I speak about the operator clicking on cards it can be an AI too so things like that I know it's it's here as a project we're speaking about five and ten years of project yes so my project is maybe 200,000 lines of code Java but we have millions of lines about energy and we're speaking we hire we developers yes yes it can help climate change what I was speaking about the cards it was about operators operators on the grid but if you think about the future 100% of renewable energy we work on calculation models that helps to get off gas gas production etc so we have only renewable energy so it's what we call in France intermittent it exists it's here not here etc so we have batteries and we operate batteries all around the network at a European scale so yes it's climate changing thing I can give you my email and there is a website which is LF energy.org LF energy.org which is a Linux foundation project but we don't have designed by Linux Foundation we we have to work on ourselves we are looking for building a community so that's my call to one who comes we hire engineer we hire designer we hire oh yeah so we have it's in French but I can translate it with depo.com it's easy okay okay great I will tonight okay maybe Linux Foundation will contact this one okay okay I will give them the message thank you for your I really like yes thank you so my name is Casper and my project is kidspace.org and you can already see on this presentation that I've failed on some design aspects here but the font has gone a bit wrong it works on my computer so I never checked it anyway and so I'm an electronic engineer and I'm a software developer but this project is about electronics and about soldering electronics and obviously for electronics you have a PCB and you have the parts that go on it and then through care for application of heat you put them on the board you have through whole parts you have surface mount parts where the legs of the components don't stick through the board yeah you can when you do when you do surface mount you often do reflow soldering you can do this at home using a hacked kind of toaster oven and you can learn a lot about this at your local hack space if you're interested in doing this and people do the way you design electronics is through CAD software where you have on one side you define in a schematic entry where you define the connections between your components and then you go to a physical model of the board and you connect them up as you specified before so people do this and they share it freely like on GitHub the amounts that and on other places the the kind of the base of open-source hardware electronics is growing and growing I kind of do this informal information gathering every year and I don't it went down for GitHub earlier this just at the end of last year I think that's something to do with the indexing and not anything to do with the Microsoft sale I don't think there was a massive exodus so electronics people are very good at doing very smart things but often they're not the best at presenting that what they've done to others they can do some amazing spaghetti circuitry and this is the same thing on the web there's all these different kinds of ways of sharing electronics projects and when you come across an up-to-date project it's really hard to go okay these are the parts I need and these are the if I want to remake it so the idea is to do get all these different ways of doing things and just get the bits that you need which is the board and the electronic components so what I've been working on for I don't know how many years is kidspace.org and before even that one click bomb which is a bill of materials browser extension that automates real retailer sites so it goes to the electronic components retailer sites and through the browser extension it does what you would do if you click around and click around and buy this component that component that component and just automates that bit and puts everything that you need into your shopping cart so that's the gif of that I don't know if we have time to watch the whole gif so it just goes to dig a key here and it's put these components in the shopping cart it's maybe not so impressive for three components but if you have the hundreds two hundred three hundred components that's really really useful so that's available for different browsers and it goes basically you can cut your paste from it from a spreadsheet and or you can go online somewhere in it you can load it from my from my website and do that so the other part is obviously the board up on the top there so this is what kidspace.org is for it's like a repository of combining these bills of materials with the board files so that you can put up your project and showcase it and other people can other people can come across it and easily replicate it so that's what the kidspace page looks like you have it's also based on on actually a get repository and then it just grabs the files that it needs from there if you have kind of have a manifest file and then you can present your project and have a read me but also the bill of materials and these buttons in the middle the green buttons is where you can just click and buy the parts that you need yeah I kind of gone through this this is kind of what I started out with really what I want to go towards is now making it easier for people to upload projects electronic engineers are not always happy to learn get or use github so ideally I wouldn't be using that or using it in the background without people knowing it so that's what we're moving towards right now most of my work is spent on making it easier to put the bills of materials together so this is a bill of materials tool where you can put your bills bill of material and then just get go through it in like this spreadsheet s-quay but have all the information that you need I'm gonna give a talk about this tomorrow I developed this JavaScript library to to to parse electronic component descriptions so that's just a kind of a real convenience if you've got a lot of different components that are just that you know by these descriptions rather than by the exact part numbers and it goes from that to that so that's kind of part of the bill of materials editor as well so I needed it I just I just I am like I'm a single developer on this so I need help everywhere and I'm very interested in design but I'm not I was never trained in design and so the kind of the I try and find shortcuts like for this I found like a UI framework that was happy with and I try and just be as productive as I can without having any real design experience so yeah well you haven't seen it work yeah so I have a chat on a matrix org and on on free note on RC and obviously the way you add a project at the moment is you open an issue on my GitHub and say I want to add my project so at right at the start I have to do anything the user has to talk to me so yeah so this is the plan going forward and the plan for that for me is because I'm happy to work with get in the back end and but I the user isn't happy with that necessarily some of them are perfectly happy with that as well but so I'm integrating GitLab in the back end and then trying to like wrap the API and make a nice user interface for people to just upload projects and have the same effect sure so that's yeah so that's that's like an open there's a there's a pull request on on GitHub where I'm working towards that new that's like kit space 2.0 in a way and there's a lot of fused interaction and things to figure out there what like what what is an acceptable what is a good design there yeah thank you oh and so I'm giving talks if people are interested in this I'm giving talks tomorrow in the CAD and open hardware dev room I'm giving one and which is probably interesting for designers which is for for it using inkscape and using inkscape to do PCBs and lines so you can make more interesting kind of PCBs are not the normal green rectangles are you trying to cover up the past but it's not that important this is just to yeah so this is like an alarm management console it's currently being used by lots of different people I'm not quite sure how popular it is but you know maybe a couple of thousand different businesses and organizations around the world the idea is to consolidate alerts or alarms from multiple different systems I've had to rewrite it recently because the framework it was based on is is being deprecated the the core of it is is the colored alarm lines here so really the focus needs to be on that and everything else needs to sort of fade fade away if you like and so you can you can hide that's gonna work that one you can hide the menu and then you can bring other filters in here and and change change filters whatnot but it does it does seem very busy like you can do actions on alerts and so this brings the detail of the particular alert and you can action the alerts here like you can shelve them acknowledge them and acknowledge them close and delete them but I don't know it just seems it just seems like there's a lot going on and and I wonder if that is kind of overwhelming for for users and that's well this is the new version and the old version didn't have so much sliding in sliding out coming up and down to it I've had people say it's very good but I I don't think they've seen I haven't been able to introduce all of the old functionality yet and and I'm each time I'm adding a bit more to to bring it up to feature sort of parity it just feels more and more busy and more slightly overwhelming I don't know because the there they are tabs across the top as well so there's different environments you can filter by service there's a search box here so so you can filter the you can filter what you're seeing but you can also change the original search that's pulling the data on from the API so there's two layers of filtering if you like you know for for if you consider time and environment and and then there's a whole crud thing going on here as well you can add and delete users create customers blackouts which you know suppressing alarms yeah yeah there's it there's a lot but really the alarms is the focus yeah yeah I've got a github a lot of slash github or Twitter I'm a lot of IO yeah yeah so it's an open-source project I make no money from it so you know there probably wouldn't be a fee involved I tried to to build a website linked to a database where there will be a lot of financial data about corporates each corporates must publish some figure about their sale their the pay to their employees their benefits the the tax they pay to the government and the the thing is it's it's published under PDF and so for journalists or data journalism or ONG that wants to to dig into this data to know at what point tax evasion is a thing it's difficult because as I have to to to get the number into into excel basically and work with that and I'm I'm I want to to make a tool for them to be able to collaboratively build a database and then look inside and export CSV and things like that and so and so I'm I'm looking for help of the sleeve for to design a website that is easy to use for non-computer scientists journalists or ONG easy as easy as excel because you I hope I mean and and then also data visualization for to to see a company or the the link between many companies and so the the the webs yes I had just I have a github for now you could open and show it but yeah there's no screenshots are only okay okay the name is I'm what is it looks like it looks like open oh yeah this is open corporate facts it likes it likes open food facts I don't know if you know open food facts but I what I would like to do is the same but who is uh financial uh digit about uh about company and so it's uh it's i'm using symphony and php and uh my SQL database and things pretty classic javascript and things like that yeah okay thank you


Dame Joan Collins may be 90 years old, but the actress has never stopped living a glamorous life. Born in London, she still has a luxurious main home there to this day. Joan lives in a 3 million pound flat in Bel Gravia with her husband Percy Gibson and this district is so upscale that it has Buckingham Palace, Hyde Park and more just around the corner. Joan purchased her home here over 30 years ago and set about finding it. I looked at about 60 flats in London. I wanted to be near the West End and the theatres and near to Chelsea. I love Bel Gravia, it's wonderfully quiet. When she's not in London, Collins divides her time between Los Angeles, New York City and France, locations where she also reportedly owns stunning properties. Joan Collins made her film debut in 1951 and was signed by 20th Century Fox in 1955. That same year, she replaced Marilyn Monroe as the sultry lead in The Girl in the Red Velvet Swing. Later, in the 1980s, Collins scored the biggest role of her career as the man-eating femme fatale Alexis Carrington in Dynasty. It was undoubtedly her favorite part and Joan said about this role, I played Alexis for nine and a half years and I found all kinds of different facets in her character. I loved her clothes. Her gig on the hugely popular soap made Collins the highest paid actress on TV for a time. She appeared on countless magazine covers. Now Joan who has three children and three grandchildren is 90 years old and still fabulous as ever. She and her husband Percy divide their time between a handful of homes from France to New York and even in Los Angeles, but her main residence is still in London. In 2021, Dame Joan Collins put her New York City apartment on the market for $2.05 million. Her unit here was complete with three beds, three baths and a whopping 16 closets throughout. The 21-story Dorchester building is a post-war building built in 1957 and its close proximity to Central Park is a serious selling point. Located on 57th Street and Park Avenue on the heart of Manhattan, the Dorchester is known as a white glove co-op and is nestled within other residential skyscrapers on the city's billionaires row. Of course, residents here also get perks like a full-time doorman and concierge while the building itself features a brand new fitness center and laundry room as well as a parking garage for residents only. Joan's former apartment was situated on the 8th floor and spanned 2,200 square feet of space. It was actually three units combined into one much larger residence. The list price came at quite a steal considering that Collins first asked for just under $3 million back in 2011. Other highlights of Joan's former Manhattan Pad include two master suites located in separate wings, another guest bedroom, as well as the aforementioned 16 closets. Apparently, the amount of closets is what caught the actress's eye in the first place. I mean, can you blame her? At the time, the listing photos were revealed one of the bedrooms was set up as a home office while the light and airy open-plan living room and dining room showcased the perfect entertaining space. The unit further had three exposures and while the kitchen was on the smaller side, any new resident could certainly open up the kitchen too. During her time living here, Joan was known for hosting parties here with other celebs including her sister, romance novelist Jackie Collins, actress Diane Carroll, and musicians Michael Feinstein and Neal Sadeka. Joan said, every time Neal or Michael told us they'd come, we would run to piano in the hopes we could persuade them to play a few tunes and I was overwhelmed that they would always graciously agree. The actress told the New York Times that she fell in love immediately with the spaciousness of the rooms and the feeling of light and airiness. Joan and her fifth husband Percy Gibson, who got married in 2002, purchased the Manhattan apartment that same year. While they were spending time in New York, it got to be less and less, thus deciding to let go of this home. Reportedly, Joan had been living in London but summers at her home in Saint-Tropez in the south of France and spends time on her yacht in the harbor below. But those aren't the only locations that she has properties. In 2017, Joan Collins purchased a new glamorous property in Los Angeles for $2.1 million after selling her other place located nearby for $4.4 million. The Hollywood veteran actress's home here features three bedrooms and three and a half baths, as well as a grand entrance hall. Located in the Wilshire Quarter neighborhood of LA, her condo is set in a full service building while the unit itself is north facing and boasts 3,000 square feet of space with luxury interiors. Details include floor-to-ceiling windows with views of the city and mountains, as well as large wooden double doors into the home that are a preview of what's to come. Past the grand entry hall with soaring ceilings, you'll find the great room sporting a massive fireplace as well as a stunning formal dining room. Then, the kitchen is from the German luxury brand Poggenpaul, who specializes in cabinets. The cooking space further offers an Eden Island and plenty of perks such as double ovens, while a private terrace is situated just off the apartment's breakfast area. Joan and Percy's master suite is fit for a store, and while the ensuite has a central jacuzzi tub and glass shower, as well as two walking closets. Elsewhere, there's an office and a stunning swimming pool, which Joan can no doubt utilize. Additional highlights include two parking spaces, a secure and private elevator, as well as valley parking. While Dame Joan has stunning properties all over, she still calls London England her main home. Unfortunately, her residence in Belgravia is also the one she keeps the most under wraps, most likely because she's lived there for over 30 years. Her luxury flat is situated in the poshest neighborhood of London, Belgravia, and it had cost around 3 million pounds. How posh is Belgravia, you may ask. So much so that it has Buckingham Palace, Hyde Park, and other high-profile spots right on its doorstep. You'll find homes on sale that are well above the average, with some priced as much as 32 million pounds. The expensive and historic abodes in Belgravia today were built by Richard Grossvenner, second marquess of Westminster in the 19th century. When Joan spoke about her central London apartment, she said, I looked at about 60 flats in London. I wanted to be near the West End and the theatres, and near to Chelsea. I love Belgravia, it's wonderfully quiet. She loves to visit local, independent shops in the neighborhood too, including a cube bookshop and a newsstand. Joan has had a couple of close calls at her Belgravia home over the years, though. In 2017, her London place flooded, causing the ceiling to collapse, and did a lot of damage to the interiors too. Disasters struck again when Joan and Percy escaped a scary fire at their flat in 2019, and Joan was treated for breathing difficulties following the incident. Joan loves to dine at the Ivy Chelsea Garden on Kings Road and shop in Selfridge's Inheritance. While Joan has rarely let prying eyes inside of her Belgravia home, we did get a chance to see a couple of her other properties across the globe, so for today, that'll wrap up this house tour. But before we go, answer this question for me. If you had a few disasters go down in your home over this fan of a few years, would you stay put or find a new home? Let me know down in the comments if you could weather a flood in house fire like Joan did. And don't forget to like, subscribe, and follow me on Instagram to chat. I'm Kara the Vampire Slayer, and if you'd like to check out another tour before you go, then stay tuned for our look into the homes of Judy Dench. Bye. Judy Dench is an elegant and timeless actress who's had a charmed career in film and TV for decades.  Even after her husband's passing, Judy had continued to call the same village home, and it's hard to picture her living anywhere else. Also, Michael and I have dropped our own house tour of our new home that we moved into this year, so go ahead and subscribe to our personal channel if you want to see where we're living and more of what we're up to. In these videos, we don't reveal any addresses and even though I've done a house tour of my own place, please do not show up at any private residences because it's not safe for anyone. Dame Judy Dench is easily one of the most successful and well-known British performers of all time. While she spent the better part of her earlier career performing on the English stage and TV, by the 90s, she'd explode into film with her performance as M through seven James Bond films. Since then, she's gone on to be nominated for eight Academy Awards, even taking one home for best supporting actress for her appearance in Shakespeare in Love. Despite her success across the pond in Hollywood, Judy hasn't ever considered leaving her home country of the UK to live anywhere else. In the early 70s, she married her husband, fellow actor Michael Williams, and these two would spend their days together living in their long-time farmhouse in Surrey for the rest of Michael's life. Even after Michael passed away in 2001, Judy continued to call the village of Outwood home and, over the years since, she's developed a remarkable relationship with the community, oftentimes coming to their aid too. It was also in large part because Judy still lived here that she finally met another man, the conservationist David Mills, who introduced himself to her after opening a squirrel enclosure at the Wildlife Center he runs near her home in 2010. So in many ways, you could say that Judy Dench's relationship with the place that she calls home was faded in the stars. Hey guys, it's Cara the Vampire Slayer back with another exclusive house tour here on Fumas Entertainment, today checking out where Judy Dench calls home. Don't forget to like, subscribe, and hit me up on Instagram to chat, and now let's get into this video. Judy Dench's long-time home is nestled into the East Surrey countryside in the United Kingdom. If you were ever to visit, it's there that you would find a tiny little village known as Outwood that, despite its population of less than a thousand living souls, has a very famous citizen living here. This picturesque town is located on the Tandridge district and on the very outskirts lies the quaint farmhouse home of Judy Dench, which was lived here since the 1970s. Judy's home was originally built as far back as 1470 and the interior of the property is said to be as large as 7,000 square feet of space. Unfortunately, Dame Judy has never invited us into her home to take a look at the place. After all, she's not exactly part of the TikTok generation, if you know what I mean. And the closest we've ever come to sneaking a peek at the inside is on her grandson's social media platforms. According to the Surrey media sources, her home is said to include a separate cottage as a guest house, workshops, barns, lots of land, a private pond and her very own swimming pool as well. But more important than simply calling Outwood home is how much Judy has come to mean to the greater community at large. So let's explore her relationship with the town a little bit. According to local sources, Dame Judy loves to pop out of her home to visit a ton of different locations around Outwood. In fact, one of her favorite spots is a local pub that sits in the very center of the village called The Castle. Not only does Judy love to enjoy the occasional pine to this place, well when it was under the threat of being shut down, she stopped in to make sure that that wouldn't happen. During the worldwide pandemic, when businesses, especially restaurants, were shutting their doors left and right, the same thing almost happened to this place. Rather than sit around and let that happen, Judy wound up backing a campaign to save the pub from being closed down. And when a vote was held to decide once and for all what to do at the place, Judy's support of preserving the pub went a long way. It was decided to list the business as an asset to the community and give it a five year reprieve under which plans to alter it in any way would be denied. And preserving the local pub isn't the only thing Judy has done for the village of Outwood. She also helped open the renovated community center known as Lloyd Hall in 2015. Back then, this institution underwent a 500,000 pound renovation following long standing structural issues that threatened to put it out of commission for good. So Judy lent her name and cash aid to the project while also showing up to cut the ribbon when the center was reopened, drawing a crowd of over 200 people, which is literally a third of the town's population. Then there was this stamp of approval that she gave to the upgrades at the village's local movie theater. Formerly known as Ox Ted's Everyman Cinema, Judy has been frequenting this spot to catch her favorite films for as long as she's lived here. And when the theater finally underwent some much needed renovations, she was there as a special guest at the venue's reopening where she also received a special plaque honoring her commitment to the arts in the town. While attending the ceremony, Judy would reminisce over her experiences in the theater with the Surrey media, telling them, It's blown me away. It's got a very inclusive atmosphere to it and it still feels very homie like it did 30 years ago. I remember the first time I came here. There was a woman who welcomed you as you walked in and gave you your ticket and she was the same person who undid the curtains and at the end asked everyone if they had a nice time. And we really did because she was so welcoming. You could come here and see a terrible film but still have a great evening because it's just so nice. Last but certainly not least, Judy has also started and lent her support to a BBC documentary that was shot in the village's woodlands in 2017. This hour-long film was shot on some of the Surrey Wildlife's trust most beautiful nature reserves, including the ancient woodland located at Nour Wood as well as Norbury Park. As a patron of Surrey Wildlife Trust and a partner to the man who runs it, Judy is always expressed an interest in nature and she shares that passion with those closest to her. But as perfect as Judy's relationship with the Outwood community sounds, there is one downside to living her life in such a remote place and that's what we'll talk about next. As busy as Judy has managed to keep herself throughout her entire life, there's simply no way of outrunning the hands of time and late last year, Judy almost found herself facing her own mortality. This 87 year old actress is suffering from the deteriorating eye condition known as macular degeneration and it's something that has come to affect her life in a series of different ways. This issue first cropped up for her in the early part of the last decade and since then, things have only gotten worse. Today Judy struggles to read scripts and she usually has her daughter or a friend come by to visit and read to her whatever project she's been sent by her agent. She even struggles to watch films these days and generally has a friend tag along to narrate what's happening, much like she has someone read her script. But as awful as it sounds, it pales in comparison to a recent experience she had in her own home. While walking through the halls, Judy didn't happen to notice that one of her carpets was bunched up as she walked across it. She tripped and fell while she was totally alone in her home with no one around to help. Well maybe I should rephrase that. She does happen to have a pet parrot who knew something was wrong and reportedly kept asking her, what are you doing? What are you doing? Unfortunately the parrot wasn't intelligent enough to pick up the phone and call somebody. With her partner David living 4 miles away, Judy ultimately had to rely on herself to do something about her situation and she says after 30 minutes of lying on the floor, she finally regained enough strength to pull herself back up. When asked by the Surrey press if she could have just used a panic button to alert someone for help, Judy admitted that she doesn't own one and told them, it's just something you have to live with. But you want to be independent and it's very very difficult. Well let's hope that Judy doesn't have to experience anything like that again and can continue her peaceful life in her long time village in Surrey. Alright everyone, that's gonna bring this Judy Dench house to an end. Thanks for watching and please be sure to let us know what you thought about her long time home and bond with the community down in the comments down below. Hit that subscribe button if you haven't. Follow me on Instagram if you want to chat and I'll catch you all in another one. Bye!


This year we mark the 70th anniversary of the Universal Declaration of Human Rights. The Declaration is built on the principle that all human beings are born free and equal in dignity and human rights. As Mayor, I want you to know that I'll always champion these principles, whether that's fighting for gender equality or tackling racism and hate crime in all its forms. In a city where over 300 languages are spoken and people from all backgrounds live together side by side, London stands as a beacon of diversity and openness. That's why I'm standing up for Human Rights.


Okay, so I guess we should start. So today I want to talk about how to use the machinery that I talked about in the previous lectures to define the virtual fundamental cycles which are relevant for contact homology. So in the two lectures ago I defined a bunch of atlases on the modular spaces and last lecture I showed how to use these atlases to write down the virtual fundamental cycle. And what I want to do today is say how to use sort of package all of this information together coherently between the different modular spaces so that we get something which deserves to be called coherent virtual fundamental cycles on all of the modular spaces at once. So recall that there's sort of all of the relevant objects are indexed by the set S which is a collection of trees. So trees T, they're all connected, directed, every vertex. Oh, sorry, every vertex has unique incoming along with labels.   So the whole orbit, so like just a closed trajectory of the rape field, not necessarily simple, so it could be multiply covered. Closed orbit, yeah, closed orbit, yeah, yeah, so S, right, so remember for every T we have some modulized space, M of T which is set of holomorphic curves in R cross Y, sort of on T can mean that T is the dual graph of the domain and the labels are compatible with the map. So that is, this tree corresponds to, that's two-story holomorphic curve. When you say curve, you mean up to parameterization, what is parameterization, right? Up to parameterization, yeah, and we also modulate quotient by sort of translation in the R direction here, yeah, so then this is gamma plus, yeah. So S is not just a set, it has a bit more structure. So S is a category, so morphisms, T to T prime, morphism is a contraction of edges. So here there's only one edge you can contract, you get a morphism from this to a single vertex tree. This corresponds to the gluing holomorphic curves. S also has some sort of vaguely manoidal structure, sort of writing this, let me just say it has concatenations, let's say exactly what that means. So if you have any collection, concatenations, so if you have a bunch of guys, you pick trees and you pick some matching between the pairs of input and output edges such that the result is connected and is a tree, you can get a new tree, so this will be denoted like this. Okay, so now given the structure, we could write down what the compactification of these moduli spaces looks like. So you simply take the union over all trees mapping to T. This disjoint union takes into account sort of all possible degenerations of a curve of type T. What can happen is it can split and so now the theorem of Bourgeois, Aliashberg, Hofer-Wazatzky's enders that the space is compact. So this space, m bar of T behaves well under these operations. That is to say if you have amorphism, this induces an inclusion of compactified moduli spaces and if you have a concatenation, this induces map of really isomorphism moduli spaces. I mean these are essentially tautological given this definition. Okay, now what I want to do is abstract away these two properties because it's going to turn out that most of the objects we're going to study have similar functoriality to the moduli space itself, let's say an S-module. Wait a minute, you can't know bubbles in the speech share. Yes, so the simpletization is exact, so there will be no bubbles. But they might get rid of those bubbles, right? Yeah, if you're doing a cubordism, you could have a bubble there. So if you have bubbles, then the only thing that really has to change here is the definition of the moduli space. You have to allow bubbles. But I won't record the bubbles in the trees because they're somehow… So an S-module is a functor x from this category S to any symmetric monoidal category, along with for every concatenation, natural maps from the tensor product x of ti to x of… So monodals mean tensor products, they're basically means tensor products, I mean getting more of them. Not necessarily, I mean I'm just using this to denote whatever the operation is. For instance, here it's product on COMPI-costal cases. Yeah, not necessarily. So we need the following natural compatibility relation, i and j. I mean it's just, I mean swapping C for C op, it doesn't really matter. So if you have, this should commute. This just means if you have a bunch of trees and you can concatenate them in two steps, that's the same as concatenating them all at once. So examples, one, this m bar, the moduli space from S to the category of compact housed our spaces with the product symmetric monoidal structure is an S module, for essentially the reasons I just set up here. Last time I defined a set, an index set a bar for the implicit atlases on these. It's a combination of the trees depending on the choice of the branches, yeah? Right, I guess the separation is in order tree, so at least it's an ordering one. So, right, a concatenation takes in, so I guess I'm leaving something out of the notation here. I write just a collection of trees but really as part of the data is a matching of the edges. Matching the edges, yeah. So it's not just by the appearance, the last extra structure. Yes, yeah. But when you say it's fun to sort of each one you choose. How you define the, so on the right hand side there's a separation, on the left hand side it depends on the extra data. So it's going to go ahead and sort of, so this mentioned one must be on every tree already, there might be choosing branches. So, what I mean is that for every choice of matching you get a map like this and maybe it's different. So if you have a collection of trees there's this tensor product. No, but you need to have a tensor product for trees, you need to make sure that you're matching simultaneously for pairs or each tree you choose a branch. Each branch is over, how, what do you choose? So, whatever. The matching depends on pairs, but if you want to still have an object which is in the middle. Yeah, yeah, the concatenated object depends on how we matched. Yes. And so, for every choice of matching there's a map like this. Depending on this matching. Yeah, yeah. I mean the right hand side depends on the matching, so of course the map has to. No, that, I mean this is. It's not dependent on this, all the same, the same result. Yeah. I would share with you the same result. The left hand side? Yeah. Yes, I mean the left hand side doesn't involve the matching, it's just the tenth, I mean the monoidal structure on the right here is symmetric, so there's no choice there. So you can't say that you have trees which require branches and then you make the matching automatic and then the whole thing in mind and then the choice of that, no, I don't know what to say. Because when you take a matching, it's paired, you choose a pair of objects and this is not a set. So choose your pairs in different, you know, it's continuous and how you do it, in different worlds, yeah. Is that a plan? I guess you could, yeah, it's, I, yeah, this is the way I formalize it, I'm sure that we can formalize it in other ways too. So last time I defined the index set of the aliases and it's a, it's also an S module from S to opposite category of sets, the district union symmetric monoidal structure. So let, let me say, explain a little bit more about two. So, so recall that we defined some a of, a of t, this is an index set, just index set, indexing what I called thickening data, which are the data we needed to write down certain transfer stickings of the monoidal space. And then we defined a bar of t to be the disjoint union over all subtrees. So subtrees meaning connected subtrees. So that is, I choose some set of vertices, I take all the edges, incident to one of those vertices and, and demand that that be connected. So this is a of t and just by definition, it has some, it has this S module structure. So if you have a map from t to t prime, then any subtree of t prime pulls back to a subtree of t. So you go map in the opposite direction and similarly if you have a concatenation, any subtree of one of the t i's gives you a subtree of the concatenation. So you have maps like this. Okay, so before giving the outline of the construction of virtual fundamental cycles, I just need one more definition. We will save it. An object of this category is effective if and only if this compactified modularized space effective is non-empty. So I really mean the compactified modularized space, not the non-compactified modularized space. It's possible to have a, since these modularized spaces are not necessarily cut out transversely, it's a priori and in practice probably possible to have a given tree whose non-compactified modularized space is empty, but yet whose, which has not some non-empty boundary strata. So it's important to take compactification here. Right, so this is, so henceforth we will write S but will actually mean the full subcategory of effective objects. So that is if the modularized space is empty, we just ignore those completely. This is needed just so that this category has good fineness properties. If you see if you have a given tree, you can just sort of write down this infinite tower of morphisms just by splitting many, many times. And in practice this doesn't happen for holomorphic curves because of the compactness result. And we're going to need to do sort of lots of inductive arguments by induction on trees. And this, if we had to, yeah, we want to take advantage of the fact this can't not happen. You're probing that in what kind of state you're saying that should be proven? So for instance, constructing maps between S modules. We'll construct it by induction on T. And it's ordered by, so when you want to define the map for a tree like this, it has to be defined for every tree mapping to it already. So let me now give an outline of the construction. High level outline of what we're going to do. So the first thing we want to do is consider. Okay, the most abbreviation we have is. Virtual fundamental cycles. So we'll consider the map S modules. So for any tree T, we have this thing which I defined last time called virtual co-chains on the modular space with respect to a given implicit atlas on that modular space. And we showed furthermore that this is kinomically quasi-isomorphic to check co-chains with coefficients in the orientation module of this. But let me leave that out of the notation for now. What we also defined is, we defined a map on this virtual co-chain complex to chains on the tom space of this vector space. The direct sum of all the obstruction spaces. This is some fine dimensional vector space. This is just quasi-isomorphic to Z. So one thing we'll have to do today is, so what we did last time is we defined this map for any particular T. We defined a map like this, which under these quasi-isomorphisms is exactly the virtual fundamental cycle. This is simply the definition of the virtual fundamental cycle. This was roughly analogous to defining, let's say, the Euler class of a vector bundle by pulling back the Tom class. And what we need to do now is make sure that this construction is appropriately compatible with all of the ways you can concatenate and map trees to others, other trees. And if it's appropriately compatible on the chain level, we'll conclude that these. Let's get, at which moment you will be inviting the change of the content for me? It might be after all, it still depends on the for me, I will tell you. Yeah, so the result that we're trying to prove is something like this. So we have, so for any y lambda j, there exists a set theta of y lambda j, non-empty along with for all elements of that set, virtual moduli counts, depending on theta. Such satisfying these master equations, d squared equals 0, etc. At which moment you can variance in respect to change in lambda? Yeah, so. Someone, right? And I will do it. Yeah, so there's an analogous theorem. So it's not part of the statement. It's not even part of the statement that the homology you get is independent of the choice of little theta. There's an analogous theorem for an exact symplectic cobertism. And for one parameter family of exact symplectic cobertism, you can count curves in all of these and you get a chain map and a chain homotopy. And if you take all these together, you can show that it's independent of the content. I've got to be seeing the statement in the relative case for cobertism. Yeah. And then whether you have any right or wrong. Yeah, cobertisms and for one parameter family cobertism. So once you have all of these, you get invariants. But it doesn't follow from any, yeah, right. So high level outline is the following. We define this. So the last time I defined this, or say for any individual tree. And what we have to do now is make it a map of S modules. And once it's a map of S modules, so the fact this is a map of S modules implies the following properties of these virtual fundamental cycles. So the boundary of a given guy is the sum over all the co-dimension. One boundary strata of the corresponding virtual fundamental cycles. And the virtual fundamental class of a space, which is a modular space of multi-story curves, is simply the product of the classes of each of the trees you started with. So if one defines virtual fundamental cycles with these properties, one very easily defines, say, that the virtual module accounts the ones in degree 0 that give this in a master equation. So this is somehow the goal to construct cycle satisfying these coherence properties. OK, and the point is just that these coherence properties are encoded in the fact that this is a map of S modules. So to make this precise, there are a few tasks we have to do. So first, we have to define both of these complexes as S modules and the map between them. And second, we have to define these horizontal quasi-isomorphisms as quasi-isomorphisms of S modules that is compatible with morphisms and concatenations. And then we have this map, which is what we want. So right, Chanel. The last time you walked, so this product happened in check of homology of M bar. I guess it happens here. Do you need to push it to somewhere? They're disagreeing. And this is just the coonest product of homology. It's something like chains on X cross chains on Y goes to chains on X cross Y. So the spaces at bar of the sum of TIs and the same as the product? There's a quotient. I mean, there's a map. And it's quotient by Z mod, the product of Z mod covering multiplicities for the ambiguity. So first, let's say, let's answer the question, how is check co-chains on S module? So there are no push forward maps for this, at least not obviously. Because if you have sort of T prime mapping to T, that gives you an inclusion of M bar of T as a boundary stratum of this. And this is a map going in the wrong direction. So what it really is is some sort of connecting homomorphism. If it's co-dimensioned one, it really is the co-boundary map on co-homology. So to write this down on the chain level, we need to sort of pick a different model of check co-chains. So we replace it with the following. So this long total complex is quasi-isomorphic to this. So how do we see this? So this is quasi-isomorphic. It's quasi-isomorphic because you can check the same thing on the level of sheaves. If you just look at sort of z or j as the inclusion of M bar minus the boundary to M bar, then this sheaf, this check co-chains of this sheaf, is quasi-isomorphic to this complex. There's a resolution where you take z on everything and then a direct sum of z. This is on M bar of T, M bar of T prime, everything of the dimension 1, and then keep going like this. So the dots on the right-hand side, they mean you have morphism. What is the next thing? It's everything of co-dimension 2. It's the same thing, it's just 1 replaced with 2. So I could have written this also as direct sum just of all of the guys here of check co-chains I wrote it like this because I'm saying the boundary map sort of goes like this. So with this model, it's clear what the push forward maps for T prime mapping to TR because you sort of simply see the sub-complex for a given T prime mapping to T as inside this complex for T. And this realizes all of these co-boundary maps on the chain level. So there's an important sub-complex of this, which I'll single out. I'll call it Q of T, which will be the sum where I just take. So this is a resolution. I just take the constant sections in each of these guys. So this is the complex z goes to sum overall guys co-dimension 1, going to sum of all guys co-dimension 2, et cetera. And this is a sub-complex of this where I just simply take star equals, or I just take the degree 0 part of each of these co-chains. So this is somehow the sub-complex of this generated by characteristic functions of closed strata. And the boundary is somehow, as you expect it to be, the boundary is sort of the generator of a given T prime is the sum overall co-dimension 1, boundary strata of that treat T prime. So now what we'd like to do is we want, so we will define a map from Qs to this complex virtual co-chains and bar, real boundary. That is to say, one would really sort of like to have this quasi-isomorphism. But in order to define virtual modular accounts, all you really care about is evaluating these virtual fundamental cycles on characteristic functions of closed strata. We're not sort of evaluating more general columnology classes on the modularized space. So this complex sees enough of the columnology that we just use this. It's not so difficult to check that there is a map of S modules from Q adjoining S to Q. So Q of S is this complex, very explicit has this differential. Q is the S module, which is just Q for every tree with the identity map as the factorial action. And for concatenations, the map is just a product. The map of S modules like this is exactly the data. Is it a copy of the nature of the response to what in Q? Multiplication. What is this S in Q adjoint S? It's the same S. I just didn't write it. It's this S. It's exactly the data of numbers for those trees of virtual dimensions, 0 satisfying the sum equals 0 for stuff of co-dimension. Stuff of dimension 1. So this is another advertisement for this notion of an S module. It, I claim that this notion of an S module really incorporates all the relevant data of how all these modularized spaces fit together. And this is one instance of this fact. If we just have this very concrete complex, which is built from the strata of all the modularized spaces and then a map of S modules, it's exactly the same as virtual module I count satisfying the equation you want. And somehow this equation is encoded in the boundary operator on this space. OK, so what I need to do now is tell you how to define this as an S module. So we'd like to just take what I wrote. Unfortunately, some of the maps go in the wrong direction. So if we're given a map of trees from T to T prime, what we get, so recall that there's an inclusion of this modularized space into this one. This one has an implicit atlas A bar of T. This one has an implicit atlas A bar of T prime. An inclusion of atlas goes in the other direction, though. When you have this tree, there are more thickening datums. You don't want to forget about all of these. And somehow this inclusion is compatible with this subatlas but not with these more general datums. So what you get is the following. So there's a map from M bar of T, a boundary. So we have our complexes like this. Now there's an increasing or inflation of the atlas quasi-asomorphism from M bar, from using just this smaller subset of thickening datums. And then this is the push forward map we want to use. So unfortunately, there's no way that we want this map, but there's no way to define this canonically because quasi-asomorphism goes in the wrong direction. So to fix this, we have to take some replacement for these complexes. So make the following definition. This new model of virtual co-chains where I don't write the atlas is defined as following. OK, so what's going on here? So let me say what we should do just in this very simple example here. Suppose we only have two trees, T and T prime. And suppose we want to define these two complexes such that we have a push forward map like this. So obviously if I take these original definitions, it doesn't work. So to make this work, we can simply redefine the target, namely this complex, to be the following mapping cone where you take virtual co-chains with this atlas. So this is what we want to replace this by something. So we replace it with the following mapping cone. So this map, so I basically just redo the same diagram. This map from this complex to this complex is a quasi-asomorphism. So at least up to quasi-asomorphism, at least just cancel, and we're left with this. So this whole mapping cone is simply quasi-asomorphic to this sub-complex. On the other hand, there's tautologically a map from this complex into the mapping cone by inclusion here. So what we do here is we replace this complex with something which is a bit more complicated. But what we gain is these push forward maps for induced bimorphisms of trees. So there's a sub-complex where you just take p equals 0 and t0 equals tp equals t. And this then is virtual co-chains on m bar of t rail boundary. And this is a quasi-asomorphism for essentially the same reason as it was a quasi-asomorphism. Here, the quotient has a filtration by contractable cones, which are just contractable. It has a filtration whose associated graded is contractable because it's just to direct some of cones of quasi-asomorphisms from increasing the size of aliases. So this is some sort of explicit model for a homotopic element. So now, we can make a similar definition. So in this situation, when you write things like m bar of t using atlas a bar of t prime, you mean that this inclusion of atlas is a bar of t prime. And the smaller atlas is still covering everything in the. Yeah, so the smaller atlas is still satisfied with the covering. Excellent. And then in the definition, which is given here, you don't have a bar in the notation on the left-hand side. You just somewhat have this compatible system of atlases with inclusion, which is in the definition. Yeah. Yeah. So we can make a similar definition for this complex. So this chain group has a similar deficiency. It's not an s-module for basically the same reason. And one can fix it up in exactly the same way. So just to find chains on this tom space of t is by definition some, or maybe I won't write it again, some appropriate homotopic element of these guys. But again, it's just quasi-asomorphic to z. Maybe I'll just write this here. So what we've done now is I've actually defined this as an s-module. We have to change the definition slightly to something which is quasi-asomorphic to what we wanted. So I'll change the notation. Now this is actually an s-module. And now this, again, we had to replace it with something else to make it an s-module. So I'll change the notation slightly. But now these are on rigorous footing. We've defined what these are. And now we'd like to start in on defining these quasi-asomorphisms. This should be quasi-asomorphic to z. This should be quasi-asomorphic to check cut chains. So step two, we will construct s-modules from this Q-joint s-guy to, so I'm not actually going to construct this quasi-asomorphism on the chain level. Rather, I'll construct this map on the chain level where we think of this as the subcomplex generated by characteristic functions of the strata. So what do we want this map to satisfy? So given such a map, let's give it a name, w. We're going to class in this direct sum. So this is basically why we're going to class here. So this is really the hom in the category of functors from this over-category. From Q of s to this. So this is a natural transformation of functors. We can restrict it to just trees over t. And we get a class here. Simply just taking the action, this just has a bunch of, this is just a free guy generated by trees mapping to t. And this is what you get. Now, if we look at what this complex actually is, this is quasi-asomorphic to check co-chains on m bar of t, not relative to anything. Basically, we added up check co-chains on each of the strata, each of the open strata, and glued them together in the right way. There's a boundary operator on here. Glued them together in the right way to get check co-chains on the whole thing. And we're going to require that the class of w coincide with the class of just the constant function 1. And what this essentially says is that under this quasi-asomorphism here, w corresponds to this inclusion, where you consider this as a sub-complex. So now to construct the map, construct w by induction in s. So what do I mean by that? So for t1 and t2 in s, we're going to say that t1 is less than or equal to t2. Even only if there's some concatenation ti with t1 isomorphic to some ti, and a map from that concatenation to t2. So the picture is the following. We have a tree t2. If there's a map to t2 from some tree like this, and we think of this as a concatenation, say concatenated out of these two pieces, then we say t1 is less than or equal to t2 for each of those pieces. Now in this case, so claim this if we equip s with this relation, this is a poset. So this requires our assumption or our restriction to effective trees. Because otherwise, you can do something, let's see why. So transitivity is not difficult, this holds in general. Reflexivity is true by definition. You can always get t1 by concatenating t1 with itself, and not no gluing at all. The real thing to check is anti-symmetry. As usual, when you're defining a poset, anti-symmetry is the most subtle thing to check. So anti-symmetry fails if we just consider arbitrary trees.  It has a morphism. So you just sort of mess around with the labels. So maybe we label this with, say, some homology class A. And we can label this, say, A minus B and B. So what we conclude is that this tree with label B is less than or equal to this tree with the label A. But this is true for any A and B. And so we have these relations for any A and B in the homology. That's not very good. It breaks this as long as the homology is non-zero. This can't happen, though, if we only restrict two effective trees. So this holds, assuming t1 and t2 are effective, i.e., these marginalized spaces are both non-empty. One way of thinking about this is that if you had a non-trivial, if you could do this with t2 not equal to t1, what you'd have is a non-trivial concatenation for some t1, where t1 itself appears as one of the boundary stratum. And this would very wildly contradict compactness. You'd have some space where your space cross another space is a boundary stratum of itself. Compactness also tells us this partial. This poset is well-founded, i.e., there's no infinite decreasing, strictly decreasing, chain like this. And this is the property that we need to do in induction. This aside explains what I mean by constructed by induction. So now at the inductive step, just right down, we have an extension problem lifting. So here's the complex where we want w to live. And we already have to find w on all of the trees, which are strictly less than t. So that looks like this. So this is w restricted to t prime of co-dimension. Now we know that this is quasi-isomorphic to check co-chains by number of t. This is quasi-isomorphic to check co-chains on the boundary m bar of t, where this is the usual restriction map. The homology class of the w here is just equal to 1. And we want the homology class of w here t equal 1. This is now the existence of a lift. It simply follows from the fact that this is a surjective. And the homology class that we want maps to the homology class of the thing we're lifting. So the moral is somehow we can construct maps out of this thing in any particular desired homology class as long as the homology classes satisfy some reasonable coherence condition. So now step three is we need to understand this quasi-isomorphism here. So in step one, we constructed a map of s modules, which I call w, from this s module to here. That was step two. Now step three, we want to work on this quasi-isomorphism. This should be quasi-isomorphic to z. OK, so what we'd really like is a map. We'd really like a map to the s module z, which is the trivial structure maps. And we'd like to construct it by induction like before. But this construction is going to fail for the following reason. It fails because this s module is not co-fibrant. So let me define what it means for an s module to be co-fibrant. And then you'll see why we need co-fibrant. So an s module is called for the only if. So first, I want all of the concatenation maps to be isomorphisms. And second, I want so for maximal t, maximal with respect to composition that is t with a single vertex, i.e. number of vertices of t is 1. The following map is injective. So we take the co-limit of x of t prime for all of the t prime over t of co-dimension, at least 1. This should be inject into x of t. If we were working over the integers or any ring, which is not a field, we would want to require that this would be injective with projective co-kernel. But for q, everything is projective. So we'll just ignore that right here. So the target is chain complexes. In case that wasn't clear, the tensor product symmetric model structure. So co-fibrant s modules are the ones for which somehow the maps out are correct. And the reason why this condition is important is if you're trying to, say, construct a map out of an s module x, you want to construct it by induction on t. And at the extension step of that induction, sort of when you're trying to do t, you already have a map defined on here. And if you want to extend it to x of t, at the very least, this map had better be injective. Otherwise, somehow, the map which you already defined might be incompatible with this map. So instead of defining this map, I said we can't define this map because this is not co-fibrant. So what we have to do instead is we'll define a surjective quasi-isomorphism from something I'll denote by this, co-fibrant replacement for this. And then we'll define this map that we want to z by induction. Yeah, this is the cube. I never really, they denominator is everywhere. So every time I write z, it really should be q. I forget because I've been glossing over the details where one actually needs to say that one divides by something. All right, so let me define the co-fibrant replacement first. Yeah? Do you claim that any of the previous s modules that we met were already co-fibrant and didn't need a co-fibrant replacement? This one is already co-fibrant. This one is already co-fibrant. But at one point I spent a lot of time thinking about like, Eilenberg-Zilber maps to try to prove that this guy was co-fibrant because I wanted to make this argument. But eventually I realized that one really shouldn't, I mean, even if it's true, it's better not to rely on the sort of fine properties of singular chains. I actually don't know whether this is co-fibrant. It might be. But somehow this is a subtle question which is better dealt with this way. It's better to do this and so it doesn't come up. So I'll define a co-fibrant replacement just for any s module. So forget about this one for the moment. So let s x be any s module valued in chain complexes as before. So then we define co-fibrant along with the surjective posi-asomorphism to x as follows. We define it by induction on t and s. So at the inductive step for a given t and s, we have at the inductive step for a given t and s, we have the following. So we have this map from co-limit t prime. This is co-dimension mapping to x of t. This might not be injective because x might not be co-fibrant. Now we've defined x co-fibrant for all these t primes. So there's this map, co-limit. Now although this map is a quasi-asomorphism, after taking a co-limit it might not because this is really co-limit, not a homotopic co-limit. So we don't know anything about this vertical map. What we want to do is define this guy here. So we want to define co-fibrant such that there's an injection here and this is a surjective quasi-asomorphism. But now it's just a general fact that any map of complexes like this diagonal map here can be factored into an injective map and the surjective quasi-asomorphism. So this x-co-fibrant that you just simply take to be the mapping cylinder of this guy. So you don't know any s-model, it should be an s-model valued in general complexity. So there's some furthermore, this is even a co-fibrant replacement functor. If we have a map of s-modules from x to y induces a map from x-co-fibrant to y, co-fibrant. So that's, we won't need that. Right, so this defines this. Now let me define this map. So I'll call this map. So we will define this map p, of course, by induction at the inductive step. So that is, we need to extend the following map. Co-limit from t prime over t, at least one. This co-fibrant guy, this injects into co-fibrant veins on the tom space of t. We've already defined this map to q here. I want to extend it here. So now here it's not as simple as just saying, as just saying, as long as it commutes on homology, we're OK. So in order to guarantee the existence of an extension, some sort of elementary homological algebra tells us that we can extend if, and in practice it's if and only if, because I mean, this is the, what we need. We can extend if 1, so it commutes on, right. So this is concentrated in degree 0. This is concentrated in degree 0. This is some mystery. And this is the problem. So we need it to commute on h0. And we need h sub minus 1 of this co-limit to equals 0. This is what's needed. This is another thing which, for some reason, didn't come up in this other inductive argument. But both of these are not obvious. So if you pick any particular t prime, it's clear that this commutes on homology. We have, I mean, this is isomorphic to z. This is isomorphic to z. And moreover, these isomorphisms are compatible with this map. Once we take the co-limit, there could be h minus 1. There could also be extra h0, which is not generated in the, which is not in the image of h0 of these guys. So this is a sort of a problem. But the key observation here is that since this is co-fibrant, we have to use co-fibrancy again to calculate this co-limit. So this co-limit of staff of co-limit, at least one, this is quasi-isomorphic to the homotopic co-limit over the same thing. Yeah. What has to commute on page 0? The first condition where there's no commutes on page 0. So there's some map here, and there's some map here, and I want to extend it. And moreover, I want the action on, there's a specified map I want this to be on homology. So the fact that all the maps from c-co-fibrant of t to c-co-fibrant of t prime are injective implies that this co-limit is actually the same as the homotopic co-limit. And the homotopic co-limit is, now the homotopic co-limit is invariant under quasi-isomorphism. So since each of these are quasi-isomorphic, because we just get the homotopic co-limit of z, which is just chains on the nerve of this category s over t, or rather, the full subcategory of stuff, which is co-dimension at least one. So this looks like some complicated answer. But for whatever reason, things work out very nicely, because we just want to show vanishing of negative homology, and this is very easy to see. It's also easy to see from this description that the image of H0 of the individual guys here surjects onto H0 of this. It's just saying that push forwards to points, push forwards from points, surjects onto H0 of the whole complex. And H, negative homology of space vanishes. So this lemma gives these conditions. And then we conclude that there exists a map P. So this is almost what we want. There's one last thing to do. So we'd be, as I remember, I already remarked that a map of s-modules from this guy to this guy is exactly the data of virtual modular counts. And we almost have a map like that. We have a map from here to here, which we can compose like this. And if this map were just in the opposite direction, we'd be done. Instead, we have to lift it. We have to make a lift w tilde here. So how do we? So again, construct w tilde by induction. There's no requirement on w tilde other than this diagram commute. Somehow the fact that this is a quasi-isomorphism means that any lift is fine. Any lift will do what we want. See the general property for co-free want s-module? I think so. I mean, as long as I made the definition of co-fibrant correctly, it should be just general property. And moreover, somehow, the fact that you can make this lift just comes from a corresponding fact for chain complexes. So at the inductive step, we need to lift. So we have the co-limit of q join s at t prime, stuff of co-dimension 1, this inject. So here now, we're again using the fact that this guy is co-fibrant. This injects into q of t. We have a map from q of s of t. Here, this is just right, chains e of t. This is a surjective quasi-isomorphism. And this is the map w tilde that we've defined so far. Gives us a map to the co-fibrant replacement. And what we want is a map like this. OK, so now in this situation, when we have a co-fibration and a surjective, sorry, and the acyclic vibration, just the general property that lifts like this all exists. So this all exists. So this is the left lifting property in the projective model structure. Non-negatively graded chain complex. That's what's used in defining this map w. So there's a lot of homological algebra here. In fact, that's mostly what happened today was homological algebra. And it's possible that all of this could be, I've been trying to do everything to serve as concretely as possible. It's probable that using a certain amount of machinery, all of this could be reduced to a few lines. But then, if you expanded those two lines and understood what they actually mean, it would be something like this. Now let me just say exactly what the set is in this theorem. So an element, theta, and theta is a choice of p, w, and w tilde as we constructed. So there were a few requirements. This map had to induce the canonical isomorphism on homology. This map had to correspond to the canonical quasi-isomorphism between this and check coat chains. And the diagram had to commute. So those are the conditions. And we also saw, so we proved above that these all exist, i.e. that this is non-empty. And now, given an element, theta, and capital theta, we get a map of s modules from q, the join, s, the q, namely p composed with w tilde, which, as I remarked before, is exactly the choices of virtual modular accounts for trees of dimension 0 such that they're compatible with concatenation and the sum. And OK, in these two statements, we just interpret this virtual count as 0 if t has virtual dimension, which is not 0. So then this is the final step in the proof of this theorem. Great. So next time, what I want to do is a lot of analysis. So one of the things which I haven't discussed at all so far is gluing. And that's what I'll do next time. Gluing is inevitably a part of any construction of sort of flow homological invariance. What we need to show in the lecture next time is that when you have a modular space of holomorphic curves or at least for the modular spaces of holomorphic curves relevant for contact homology, if the modular space is transverse, then locally it's modeled by a manifold with corners. It's basically the product of the space of gluing parameters and the kernel of the linearized operator.