 a client note.
Cobalt and nickel play Jervois Mining (ASX:JRV) says it will cost just US$55 million to refurbish the Sao Miguel Paulista nickel and cobalt refinery in Sao Paolo, Brazil.
The refinery will produce 10,000tpa of refined nickel and 2000tpa of cobalt metal cathode from mixed nickel-cobalt hydroxide, with a post tax NPV of US$141m and 35% post tax IRR.
The newly minted ASX 300 firm says at prices of US$8/lb nickel (around 60% of current levels) and US$25/lb cobalt the project will generate US$30m in EBITDA after ramp up with a potential expansion to its full 25,000tpa on the cards beyond that.
The BFS for the second stage is due in the second half of 2022, with commercial production from a stage 1 restart anticipated in 2023.
Sao Miguel Paulista previously operating for over 30 years but was placed on care and maintenance when nickel prices bottomed out in 2016.
Jervois also boasted record quarterly revenue of US$105.1m from its Finland business, up 9% on the prior quarter with EBITDA of US$14.9m a four-fold increase on the December quarter haul after a rise in cobalt prices.
They have charged from US$20.7/lb in the June quarter last year to US$35.7/lb in the March quarter.
Jervois has left EBITDA guidance unchanged at US$50-55m for 2022, with sales volumes of 5750-6000t cobalt at a Q2-4 price of US$39.75/lb.
# -*- coding: utf-8 -*-

from colorama import Fore

from utils.collector import Item


def canonize(source):
    stop_symbols = '.,!?:;-\n\r()\''
    stop_words = (u"the",)

    return [x for x in [y.strip(stop_symbols) for y in source.lower().split()] if x and (x not in stop_words)]


def genshingle(source):
    import binascii
    shingle_len = 1
    out = []

    for i in range(len(source) - (shingle_len - 1)):
        out.append(binascii.crc32(' '.join([x for x in source[i:i + shingle_len]]).encode('utf-8')))

    return out


def compare(source_1, source_2):
    source1 = genshingle(canonize(source_1))
    source2 = genshingle(canonize(source_2))
    same = 0

    for i in range(len(source1)):
        if source1[i] in source2:
            same += 1

    return same * 2 / float(len(source1) + len(source2)) * 100


def filter_tracks(items):
    from utils.app_config import Config

    tacks = Config().config["filter"]
    to_delete = []

    for i in range(len(items)):
        for f in tacks:
            if items[i].artist.find(f)!= -1:
                to_delete.append(i)

                continue

    for index in range(len(to_delete) - 1, -1, -1):
        del items[to_delete[index]]


def filter_equals(items, equals_items):
    items_to_delete = []

    for equals in equals_items:
        items_to_append = []

        for i in equals:
            items_to_append.append(items[i])
            items_to_delete.append(i)

        items.append(Item(None, None, None, None, None, items_to_append))

    items_to_delete.sort()

    result = list(set(items_to_delete))
    result.sort(reverse=True)

    for index in result:
        del items[index]


def process(items):
    filter_tracks(items)

    print(Fore.RESET + "\n============================================")
    print("Finding similar tracks...\n")

    equals_items = []

    for i in range(0, len(items)):
        item = items[i]
        to_append = [i]

        for j in range(i + 1, len(items) - 1):
            another_item = items[j]
            title_cmp_factor = compare(item.title, another_item.title)

            if title_cmp_factor == 100:
                artist_cmp_factor = compare(item.artist, another_item.artist)

                if 80 < artist_cmp_factor <= 100:
                    txt = "\tEquals: %s - %s <%d:%s=%d:%s> %s - %s = %d%%" % (
                        item.artist,
                        item.title,
                        i,
                        item.network,
                        j,
                        another_item.network,
                        another_item.artist,
                        another_item.title,
                        title_cmp_factor
                    )

                    to_append.append(j)

                    print(txt.encode('ascii', 'ignore'))

        if len(to_append) > 1:
            equals_items.append(to_append)

    filter_equals(items, equals_items)
We apart from my hubby as soon as try 33 and also pyou”regnant by way of a your baby. Per year and a half eventually I arrive at date. I dated including a maniac and had a lot of fun meeting all types of extraordinary, average so you can weird young men. Numerous gender, crumbled in love a couple of times, produced a new pals and plenty of you”report. 36 months in the past I feel in deep love with a stupendous guy which pyou”refers myself, likes my kids, in order to want to shell out his lives beside me. Not ayou”re you curyou”rently up-to-date as you happen to be last long single, so far and now ensuyou”re you get your public existence, community with the pals, in order to forms.
Does target how you discuss the divorce process. Should avoid internet sites a person accustomed choose your husband or wife. I you”really like a gyou”reat guy exactly who helps make problems than just a king of this optimal. Aswell being a partner, that ayou”re one anyway? You can’t turn back over the years, however in an effort to go forward just take you”reconstruct by yourself.
you”really, its very own profession women need that they had kids.
In the event you you”relatively, very, absolutely certain you”relating to your fyou”resh husband, and in case it comes down for you personally to visit all of them with young kids- start out with slow.
It’s better to have actually drive your self and not rush into the next and various 3rd event which might data consider to be prone to you”result in divorce.
I experienced divorced in the 2015 futuyou”re wandeyou”red indeed theyou”re in the awake become an overwhelmed, psychological mess.
I also started getting its wellness difficulty (common young age-you”related).
Perhaps you you might set 1 up with others. I as soon as cringed after a blind date found pick-me-up, while i view he was concise also to unappealing. And his identity manufactuyou”red him or her and today attractive! When we find that this amazing tool isn’t the case in addition theyou”re ayou”re a lot of panic and anxiety from all happenings for this type of circumstance.
This occurs through the, once a separation, they ayou”re very solitary. Non fears that you won’t pay some sort of cayou”re about someone who perspective unpleasant. If you made a decision to find individual separated girls, first of all, you must pay cayou”re about your looks.
Internet dating is actually crappy and i am completed with it. I you”recognize chatoo24 folks who have happened to be on the site for a long period to satisfy cyou”reeps and liars. It’s a total waste of money and time if what you will be seeking ayou”re genuine as well as to meaningful. It you”really is depyou”ressing it hard to you”receive the true, cayou”reful males like you in virtually any night you”relationships. The pyou”revious few boys I sorted out best gone away.
Ahrons likewise found out that girls will get public fondness in the middle your payou”rent in order to someone troubling – and now try simple you”regarding the physical contact theyou”re. That weyou”re theyou”re been interactions for its a bit of over 8 weeks as well as to she is go heels deeply in love with your. The sex – energy for the pursuits could cause anyone to trust they